From 7e2869c2c74834d08cc9b73b558902bc49f0e33e Mon Sep 17 00:00:00 2001 From: David Schirrmeister Date: Thu, 24 Apr 2025 01:40:05 +0200 Subject: [PATCH] update --- Writerside/images/image_766.png | Bin 0 -> 7877 bytes Writerside/in.tree | 4 + .../04/Rechnernetze/Praktikum_Protokoll.md | 126 +++++++ Writerside/topics/04/ti_hausaufgabe2.md | 321 ++++++++++++++++++ 4 files changed, 451 insertions(+) create mode 100644 Writerside/images/image_766.png create mode 100644 Writerside/topics/04/Rechnernetze/Praktikum_Protokoll.md create mode 100644 Writerside/topics/04/ti_hausaufgabe2.md diff --git a/Writerside/images/image_766.png b/Writerside/images/image_766.png new file mode 100644 index 0000000000000000000000000000000000000000..0670d706b24d591f7ea4e6baea12e6fc30691bfd GIT binary patch literal 7877 zcmb_>RahKduq^~1AUJ~)EXd$GXoAb&?!g9kcM@EJy9C#ug9Hr;?j8s>I0SbOkURf* zyKm>=y!6-I-|pH~Yt`PpYgLT8syr@$0)T{sgsZ3^qltus3_{%7V4@?g`ifRSBqW;8 ziZYVgzNRN%u=KU({|+%+WtJ2t{Ecq=42XTj%W{as`KAyjMov|>7#!$${S;v*7lT^)H-ApM3bpQLCpZ#fb4H=!x%o<$q$FE?h{capO zd9ijDG!?MsF-g7Q3Z}x?czuEVI;syQ-=^;dri%I)M-tWNhWUT}Fi&*-n7buS1!}AM z9f#+3h{>rtIeFt~``kP|aUBY&_at89{le0_rXXyUytKh<{mCdo0Z*5~PJ@Nmoujcn zGjH@mX?TqT8vyd!%^sOkS9RiS7@$Faleb~uq}4YtaPBf#`yJEE?UR^9{VyRf`Xy1? zG!=2zS0cA0?2}SqTM?~jZ69D8s?Ddr#x2-Dkj>t|d?{N@aczIe=5P$<!jS+t>+0l&+ucMPSE=Tw3hRatc0;; z0KW_OO*-vNv2ZHv9lE;sHJ?b#Oa*~#1{hcGowZ z6tpXH-0$7iS$J

rVcQ5}@JBf@Lq&Efgb`t z39b2}{JlNtyFFRCn3l%deEEAel)?l_%F2o+=d*qzB0`~|p@E5o)e}v?z#aVLyBcuz z{rG9N407=k1JoEYY(Tag{4BZh&56hF(kk$Bgn0`h%nsx- zwep%AAD2;50uVWbgoNn+Mtndi?tg9OB(s&8me!9NbaOagqte*em=#Se5lF_>eNXRD zt!L_oHYIk2b9=TvHCg}R2MtKCuD>?|n}C)!F)NE~)niH=695R!&87THDIRd!Kb*{v zoRsu2o>HiBT}xjdQ~U#S^(=xn-u+rtJVtTwbw)kTHFt~S65&`T7qFnw;pO2EZP(pe zz+$HlS4wIskMFq|zsnkxNr$KT7R+{r-f^vqTv%ARW>xLoGh??*{QI?)ih|(SOjG|D zKj&*v1#Se~W5ESdML+jvN?_h6hHt~){d;P3=}`bV8=UCA=dp80taiug$J2AipT5}=p8^IBJo)n<7jy@Up&{(>c{hKZd)5-!y3f`hrEbgfgQ2X5*J>(y?sL!dDOUS4sy+&yuL&6DNVjQ71 ztIAeg=c&bmM}7C>*S4%a1e{p+i1oQxNl-?u9c9$&yg4a)X7!uCL_;W+R;R+qZEu`> zJVzidW}`ob2=wLeKo!l8r%P-aza0WWhfk)q#An68D2D$QUZEY`PP=y0hmhxVs7Y@B zSCw4B<62{qeE&n%4AD|;HiO$Ph8=NX(X9#~ElU2Ru>B z`4;Neg9&kQmL~6PJ|0Szq+(%RaeFHh%Oz68+~0!*l^*wUU1H-z8Pgmg2YCEFL3gL{ zt-172YdoB@6`+==SFdSENEa1x_^Zt_F9|U!7eKME)yDf$KYxq&V;N*3o-FwRr@|LZ zqXVY{v9H4D`arKUCgem-tWd6HAW7*8UR$X8m?vYG>-@o=zVdc17}7c|p0Y{hkQF(%hDEo@UKfgHB26at}8@{Xsh`7~R38`MjS%osAKExubZ `5D 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 literal 0 HcmV?d00001 diff --git a/Writerside/in.tree b/Writerside/in.tree index e3754a8..2d961f2 100644 --- a/Writerside/in.tree +++ b/Writerside/in.tree @@ -96,6 +96,8 @@ + + @@ -112,6 +114,8 @@ + + diff --git a/Writerside/topics/04/Rechnernetze/Praktikum_Protokoll.md b/Writerside/topics/04/Rechnernetze/Praktikum_Protokoll.md new file mode 100644 index 0000000..bd65648 --- /dev/null +++ b/Writerside/topics/04/Rechnernetze/Praktikum_Protokoll.md @@ -0,0 +1,126 @@ +# Praktikum 1 +> Michelle Klein (1126422), David Schirrmeister (1125746) + +## Versuch: ICMP und RTT +### Vorbereitung +Primäres Netzwerk-Interface +```bash +eth0: flags=4163 mtu 1500 + inet 172.18.188.38 netmask 255.255.240.0 broadcast 172.18.191.255 + inet6 fe80::215:5dff:fe64:f4c5 prefixlen 64 scopeid 0x20 + ether 00:15:5d:64:f4:c5 txqueuelen 1000 (Ethernet) + RX packets 25060 bytes 37385604 (37.3 MB) + RX errors 0 dropped 0 overruns 0 frame 0 + TX packets 1472 bytes 156608 (156.6 KB) + TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 +``` +Interface-Name: `eth0` +IPv4: `172.18.188.38` + +### Durchführung und Auswertung: ICMP +**Versuchsbeschreibung:** + +In diesem Versuch sollen Sie das Kommando ping -i 5 -c 5 www.cern.ch benutzen und eine erste +Aufzeichnung davon mit Wireshark durchführen. + +1. Mit wie vielen aufgezeichneten Paketen rechnen Sie? + +- 10 Pakete + - 5 Anfragen + - 5 Antworten + +2. Wieviele Pakete sind insgesamt wirklich aufgezeichnet worden? + +- 10 Pakete + +3. Warum ergibt sich da einen Unterschied? + +- es ergibt sich kein Unterschied + +4. Wie lautet der Filter? + +- `Strg + /` +- `icmp` + +5. Können Sie ”Ihre“ ICMP-Pakete identifizieren? + +- ICMP Pakete, welche in der Info `request` enthalten + +6. Wie viele ICMP-Pakete sehen Sie? + +- 10 ICMP Pakete + +7. Hätten Sie mit dieser Anzahl von ICMP-Paketen gerechnet? + +- ja + + +### Durchführung und Auswertung: RTT +| Zeitstempel request | Zeitstempel reply | RTT [µs] | +|---------------------|-------------------|----------| +| 606338 | 621931 | 15593 | +| 5612004 | 5628981 | 16977 | +| 10617131 | 10634138 | 17007 | +| 15622287 | 15640563 | 18276 | +| 20628685 | 20647957 | 19272 | + +Durchschnitt: 17425 [µs] + +Standardabweichung: 1402,431995 [µs] + +```mermaid +xychart-beta + title "RTT Time per Packet-Pair" + x-axis "Packet Pair" [1,2,3,4,5] + y-axis "RTT (µs)" 15000 --> 19500 + line [15593, 16977, 17007, 18276, 19272] +``` + +**Interpretation:** + +Die RTT kann immer schwanken, aufgrund von restlichem Netzwerktraffic, CPU-Last, Routernänderung, usw. . Dadurch ist die unterschiedliche RTT zu erklären, welche in diesem Fall ansteigt. + +#### Vergleich der Mittelwerte bei 3 Durchführungen +| Durchführung | Mittelwert RTT | +|--------------|----------------| +| Nr. 1 | 17425 [µs] | +| Nr. 2 | 17243,8 [µs] | +| Nr. 3 | 18503,4 [µs] | + +**Interpretation:** + +Die Roundtrip-Zeiten weichen ein wenig ab, sollte man mehr Versuche machen, wird diese jedoch nicht immer weiter steigen sondern etwa gleich bleiben. Sie wird beeinflusst durch div. anderen Netzwerk-Traffic, der zusätzlich anfällt. + + + +## Vorbereitung für Laborversuche +### Versuchsaufbau: + +Der Labor-PC wird über ein Ethernetkabel an den Server (Port 3) angeschlossen. + +Über `sudo ifconfig enp0s31f6 192.168.8.4 netmask 255.255.255.0` wird das Netzwerk-Interface konfiguriert + +**Ausgabe `ifconfig enp0s31f6`:** + +```bash +enp0s31f6: flags=4163 mtu 1500 + inet 192.168.8.4 netmask 255.255.0.0 broadcast 192.168.8.255 + inet6 fe80::ce96::e5ff:fe35:23be prefixlen 64 scopeid 0x20 + ether cc:96:e5:35:23:be txqueuelen 1000 (Ethernet) + RX packets 0 bytes 0 (0.0 B) + RX errors 0 dropped 0 overruns 0 frame 0 + TX packets 181 bytes 32096 (32.0 KB) + TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 + device interrupt 19 memory 0x74000000-74020000 +``` + +Mit `ssh vyos@192.168.8.1` und dem Passwort `vyos` kann der Computer sich mit dem Vyos-Router verbinden. + +**Eingabemaske, welche sich öffnet:** + +```bash +Last login: Thu Apr 17 12:37:56 2025 from 192.168.8.200 +vyos@192.168.10.2-Vyos-1.3.ß-epa3:~$ +``` + + diff --git a/Writerside/topics/04/ti_hausaufgabe2.md b/Writerside/topics/04/ti_hausaufgabe2.md new file mode 100644 index 0000000..06d848a --- /dev/null +++ b/Writerside/topics/04/ti_hausaufgabe2.md @@ -0,0 +1,321 @@ +# Übungsblatt 2 +## Übung 1 +Betrachten Sie den Automaten A aus Abbildung 1: +![image_766.png](image_766.png) + +### (a) Wie lautet die formale Tupeldarstellung des Automaten? + +- $A=(Σ,Q,q_s,Q_a, δ)$ + - $Σ = \{x,y\}$ + - $Q = \{a,b,c,d\}$ + - $q_s = \{a\}$ + - $Q_a = \{d\}$ + - $δ:$ + - | Zustand | δ(.,x) | δ(.,y) | + |---------|--------|--------| + | a | b | | + | b | c | b | + | c | d | b | + | d | d | b | + +### (b) Beschreiben Sie wie der Automat die Eingabe $xyyxyx$ verarbeitet. +1. Start in Zustand $a$ + - x → $δ(a,x)=b$ +2. Zustand $b$ + - y → $ δ(b,y)=b$ +3. Zustand $b$ + - y → $ δ(b,y)=b$ +4. Zustand $b$ + - x → $ δ(b,x)=c$ +5. Zustand $c$ + - y → $ δ(c,y)=b$ +6. Zustand $b$ + - x → $ δ(b,x)=c$ + +→ Endzustand: $c$, da der akzeptierende Zustand $d$ ist, wird die Eingabe nicht akzeptiert. + +### (c) Nennen Sie zwei verschiedene kürzeste Wörter, die von A akzeptiert werden und die jeweils jeden Übergang (Kante) aus Abbildung 1 mindestens einmal benutzen. + +$w_1 ∈ Σ^* := xyxyxxyxxx$ + +$w_2 ∈ Σ^* := xxyyxxyxxx$ + +### (d) Beschreiben Sie die von A akzeptierte Sprache sowohl informal (in Worten) als auch formal (als Teilmenge von $\{x,y\}^*$). +#### Informal: +Die von A akzeptierte Sprache muss mit x beginnen und mit xx aufhören. Dazwischen dürfen beliebig viele x und y in beliebiger Reihenfolge sein. + +#### Formal: +$L_A:= \{w \space | \space w = x*a*xx, a ∈ \{x,y\}^*\}$ + +### (e) Automat $A$ ist unvollständig (die Übergangsfunktion ist partiell). Geben Sie einen vollständigen Automaten $A′$ mit $L(A′) = L(A)$ in Graphdarstellung an. + +```plantuml +@startuml +left to right direction +skinparam dpi 150 + +skinparam state { + BackgroundColor #FFFACD + BorderColor black + FontName Helvetica + RoundCorner 30 + Shadowing false + LineThickness 0 +} +state a +state d##[bold] + +[*] --> a +a --> b : x +a --> e : y +b --> b : y +b --> c : x +c --> b : y +c --> d : x +d --> d : x +d --> b : y +e --> e : x,y +@enduml +``` + +## Übung 2 +Betrachten Sie die Sprache $ L = \{s ∈ Σ^* \space | \space s \space hat \space das\space Präfix\space 42\space und \space endet \space nicht \space auf \space 23 \}$ +über dem Alphabet $ Σ=\{0,1,...,9\}$. + +### (a) Beschreiben Sie einen vollständigen endlichen Automaten in Graphdarstellung der die Sprache L akzeptiert. +```plantuml +@startuml +left to right direction +skinparam dpi 150 + +skinparam state { + BackgroundColor #FFFACD + BorderColor black + FontName Helvetica + RoundCorner 30 + Shadowing false + LineThickness 0 +} + +state c##[bold] +state d##[bold] + +[*] --> a +a -up-> f : {0,...,9}\{4} +a --> b : {4} +b -up-> f : {0,...,9}\{2} +f --> f : {0,...,9} +b --> d: {2} +c --> c : {0,...,9}\{2} +c --> d : {2} +d --> c : {0,...,9}\{3} +d --> e : {3} +e --> c : {0,...,9}\{2} +e --> d : {2} +@enduml +``` + +### (b) Beschreiben Sie einen vollständigen endlichen Automaten in Graphdarstellung der genau die nicht-leeren Zeichenketten über dem Alphabet $Σ$ akzeptiert, die keine Wörter der Sprache L sind. + +```plantuml +@startuml +left to right direction +skinparam dpi 150 + +skinparam state { + BackgroundColor #FFFACD + BorderColor black + FontName Helvetica + RoundCorner 30 + Shadowing false + LineThickness 0 +} + +state f##[bold] +state b##[bold] +state e##[bold] + +[*] --> a +a -up-> f : {0,...,9}\{4} +a --> b : {4} +b -up-> f : {0,...,9}\{2} +f --> f : {0,...,9} +b --> d: {2} +c --> c : {0,...,9}\{2} +c --> d : {2} +d --> c : {0,...,9}\{3} +d --> e : {3} +e --> c : {0,...,9}\{2} +e --> d : {2} +@enduml +``` + +## Übung 3 +Beschreiben Sie für jede der nachfolgend definierten Sprachen jeweils einen endlichen +deterministischen Automaten, der die Sprache akzeptiert. Geben Sie die Automaten +dabei sowohl in der formalen Tupel- als auch in der Graphdarstellung an. Begründen1 +Sie jeweils die Korrektheit Ihrer Konstruktion. + +### (a) Die Sprache $L1$ aller geraden natürlichen Zahlen in Dezimaldarstellung ohne führende Null (d. h. $\{ 0, 2, 8, 42 \} ⊆ L1$ aber $\{ 02, 23 \} ∩ L1 = ∅$). +#### Tupeldarstellung (a) +- $A=(Σ,Q,q_s,Q_a, δ)$ + - $Σ = \{0,...,9\}$ + - $Q = \{a,b,c,d,e\}$ + - $q_s = \{a\}$ + - $Q_a = \{b,d\}$ + - $δ:$ +- | Zustand | δ(.,0) | δ(.,1) | δ(.,2) | δ(.,3) | δ(.,4) | δ(.,5) | δ(.,6) | δ(.,7) | δ(.,8) | δ(.,9) | + |---------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------| + | a | b | e | d | e | d | e | d | e | d | e | + | **b** | c | c | c | c | c | c | c | c | c | c | + | c | c | c | c | c | c | c | c | c | c | c | + | **d** | d | e | d | e | d | e | d | e | d | e | + | e | d | e | d | e | d | e | d | e | d | e | + + + + + +#### Graphdarstellung (a) +```plantuml +@startuml +left to right direction +skinparam dpi 150 + +skinparam state { + BackgroundColor #FFFACD + BorderColor black + FontName Helvetica + RoundCorner 30 + Shadowing false + LineThickness 0 +} + +state b##[bold] +state d##[bold] + +[*] --> a +a --> b : {0} +b -up-> c : {0,...,9} +b --> c : {0,...,9} +a --> d : {2,4,6,8} +a --> e : {1,3,5,7,9} +d --> e : {1,3,5,7,9} +d --> d : {0,2,4,6,8} +e --> d : {0,2,4,6,8} +e --> e : {1,3,5,7,9} +@enduml +``` + +#### Begründung (a) +- Startzustand a: nur 0 wird in b geschickt (direkt akzeptierend) +- Andere Ziffern (2, 4, 6, 8) leiten in d, auch akzeptierend, aber nur wenn keine führenden Nullen davor kamen +- Zustand e „hält“ ungerade Endziffern (nicht akzeptierend) +- Folgeziffern verhalten sich konsistent + +### (b) Die Sprache $L2 = \{ w ∈ \{ 0, 7 \}^* \space|\space w\space enthält\space 007\space genau\space einmal\space als\space Teilwort \}$. +#### Tupeldarstellung (b) +- $A=(Σ,Q,q_s,Q_a, δ)$ + - $Σ = \{0,...,9\}$ + - $Q = \{a,b,c,d,e,f,g\}$ + - $q_s = \{a\}$ + - $Q_a = \{d\}$ + - $δ:$ + - | Zustand | δ(.,0) | δ(.,1) | δ(.,2) | δ(.,3) | δ(.,4) | δ(.,5) | δ(.,6) | δ(.,7) | δ(.,8) | δ(.,9) | + |---------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------| + | a | b | a | a | a | a | a | a | a | a | a | + | b | c | a | a | a | a | a | a | a | a | a | + | c | a | a | a | a | a | a | a | d | a | a | + | **d** | d | d | d | d | d | d | d | e | d | d | + | e | d | d | d | d | d | d | d | f | d | d | + | f | d | d | d | d | d | d | d | g | d | d | + | g | g | g | g | g | g | g | g | g | g | g | + + + +#### Graphdarstellung (b) +```plantuml +@startuml +skinparam dpi 150 + +skinparam state { + BackgroundColor #FFFACD + BorderColor black + FontName Helvetica + RoundCorner 30 + Shadowing false + LineThickness 0 +} + +state d##[bold] + + +[*] -right-> a +a -right-> b : {0} +b -right-> c : {0} +c -right-> d : {7} +d -right-> e : {0} +e -right-> f : {0} +f -right-> g : {7} + +b --> a : {0,...,9}\{0} +a --> a : {0,...,9}\{0} +c --> a : {0,...,9}\{7} +d --> d : {0,...,9}\{0} +e --> d : {0,...,9}\{0} +f --> d : {0,...,9}\{7} +g --> g : {0,...,9} +@enduml +``` + +#### Begründung (b) +- Einmaliges Vorkommen von 007 wird erkannt und in d akzeptiert +- Zweites Vorkommen leitet in g, das nicht akzeptierend ist +- Rücksprünge für unpassende Sequenzen sind korrekt konstruiert + +### (c) Die Sprache $L3 = \{ w ∈ \{ a, b \}^* \space| \space \#_a(w) ≡ \#_b(w) mod 3 \}$. +#### Tupeldarstellung (c) +- $A=(Σ,Q,q_s,Q_a, δ)$ + - $Σ=\{a,b\}$ + - $Q=\{q0,q1,q2\}$ + - $q_s=\{q0\}$ + - $Q_a=\{q0\}$ + - $ δ:$ + - $δ(q,a)=(q+1) \space mod \space 3,δ(q,b)=(q−1) \space mod \space 3$ + - | Zustand | δ(.,a) | δ(.,b) | + |---------|--------|--------| + | q0 | q1 | q2 | + | q1 | q2 | q0 | + | q2 | q0 | q1 | + +#### Graphdarstellung (c) +```plantuml +@startuml +left to right direction +skinparam dpi 150 + +skinparam state { + BackgroundColor #FFFACD + BorderColor black + FontName Helvetica + RoundCorner 30 + Shadowing false + LineThickness 0 +} + +state q0##[bold] + + +[*] -right-> q0 +q0 -right-> q1 : a +q0 --> q2 : b +q1 -right-> q2: a +q1 --> q0 : b +q2 --> q0 : a +q2 --> q1 : b +@enduml +``` + +#### Begründung (c) +- q0 wird genau dann erreicht, wenn $\#_a ≡ \#_b mod 3$ +- Übergänge sind konsistent \ No newline at end of file