diff --git a/Writerside/images/image_766.png b/Writerside/images/image_766.png new file mode 100644 index 0000000..0670d70 Binary files /dev/null and b/Writerside/images/image_766.png differ 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