This commit is contained in:
David Schirrmeister 2025-05-12 22:45:01 +02:00
parent b015a74b43
commit a13909a556
17 changed files with 342 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

View File

@ -100,6 +100,7 @@
<toc-element toc-title="Rechnernetze"> <toc-element toc-title="Rechnernetze">
<toc-element topic="Praktikum_Protokoll.md"/> <toc-element topic="Praktikum_Protokoll.md"/>
<toc-element topic="Protokoll P2.md"/>
<toc-element topic="00_RNIntroduction.md"/> <toc-element topic="00_RNIntroduction.md"/>
<toc-element topic="01_Internetworking.md"/> <toc-element topic="01_Internetworking.md"/>
@ -119,7 +120,8 @@
<toc-element toc-title="Hausaufgaben"> <toc-element toc-title="Hausaufgaben">
<toc-element topic="ti_hausaufgabe1.md"/> <toc-element topic="ti_hausaufgabe1.md"/>
<toc-element topic="ti_hausaufgabe2.md"/> <toc-element topic="ti_hausaufgabe2.md"/>
<toc-element topic="ti_hausufgabe3.md"/> <toc-element topic="ti_hausaufgabe3.md"/>
<toc-element topic="ti_hausaufgabe4.md"/>
</toc-element> </toc-element>
<toc-element topic="01Einleitung.md"/> <toc-element topic="01Einleitung.md"/>

View File

@ -0,0 +1,192 @@
# Praktikum 2
> Gruppe 2: David Schirrmeister (1125746), Michelle Klein (1126422)
## Vorbereitung
**Unterschied zwischen Switch und Hub bei der Datenübertragung**
* Switch leitet Daten gezielt an den Empfänger weiter
* Hub sendet Daten an alle angeschlossenen Geräte (Broadcast)
* Switch arbeitet intelligenter und effizienter
**Rolle der MAC-Adresse beim Switch**
* Switch speichert MAC-Adressen in einer Tabelle (MAC-Adress-Tabelle)
* Entscheidet anhand der MAC-Adresse, an welchen Port die Daten weitergeleitet werden
**Verhalten bei unbekannter MAC-Adresse**
* Switch sendet das Paket an alle Ports außer dem eingehenden (Flooding)
* Sobald das Zielgerät antwortet, speichert der Switch dessen MAC-Adresse
**Sicherheitsvorteile des Switches gegenüber dem Hub**
* Daten werden nur an das Zielgerät gesendet, nicht an alle Geräte
* Erschwert das Abhören (Sniffing) durch Unbefugte
* Reduziert die Angriffsfläche im Vergleich zum Hub
**Vermeidung von Kollisionen im Ethernet**
* In modernen Netzwerken durch Verwendung von Switches mit Vollduplex
* In älteren Netzwerken mit CSMA/CD (Carrier Sense Multiple Access with Collision Detection)
**Wird Ethernet bei WLAN verwendet**
* ja, jedoch nur auf den höhreren Protokollschichten
- IEEE 802.11 nutzt nicht das gleiche, physische Ethernet, orientiert sich aber auf OSI L2 stark am Ethernet-Frame-Format
**Bedeutung und Funktion von ARP**
* ARP steht für Address Resolution Protocol
* Übersetzt IP-Adressen in MAC-Adressen
* Ermöglicht Kommunikation im lokalen Netzwerk auf Layer 2
**Ablauf von ARP-Request und ARP-Reply**
* Gerät sendet ARP-Request an Broadcast-Adresse mit gesuchter IP
* Zielgerät mit passender IP antwortet mit seiner MAC-Adresse (ARP-Reply)
* Absender speichert MAC-Adresse in seiner ARP-Tabelle
## Laborversuch
### Versuchsbeschreibung
Es werden 3 PCs zunächst über je ein Ethernet-Kabel an einen Hub angeschlossen.
Diesen wird dann nach folgender Tabelle eine IP-Adresse zugewiesen:
| Labor-PC | IP-Adresse|
|----------|-----------|
| PC 1 |192.168.1.1|
| PC 2 |192.168.1.2|
| PC 3 |192.168.1.3|
Schließlich wird auf allen dreien eine Wireshark-Aufnahme gestartet und
von PC1 ein Ping Befehl gesendet, um zu testen ob PC2 erreichbar ist.
Gleiches wird danach mit einem Switch statt des Hubs wiederholt.
### Beobachtungen
#### Hub Ping PC1 -> PC2:
```bash
student@netlab-2023-5:~$ ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=1.66 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=1.59 ms
64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=1.54 ms
64 bytes from 192.168.1.2: icmp_seq=4 ttl=64 time=1.49 ms
64 bytes from 192.168.1.2: icmp_seq=5 ttl=64 time=1.44 ms
64 bytes from 192.168.1.2: icmp_seq=6 ttl=64 time=1.45 ms
64 bytes from 192.168.1.2: icmp_seq=7 ttl=64 time=1.52 ms
64 bytes from 192.168.1.2: icmp_seq=8 ttl=64 time=1.98 ms
64 bytes from 192.168.1.2: icmp_seq=9 ttl=64 time=1.77 ms
64 bytes from 192.168.1.2: icmp_seq=10 ttl=64 time=1.71 ms
64 bytes from 192.168.1.2: icmp_seq=11 ttl=64 time=1.68 ms
64 bytes from 192.168.1.2: icmp_seq=12 ttl=64 time=1.68 ms
64 bytes from 192.168.1.2: icmp_seq=13 ttl=64 time=1.72 ms
64 bytes from 192.168.1.2: icmp_seq=14 ttl=64 time=1.76 ms
--- 192.168.1.2 ping statistics ---
14 packets transmitted, 14 received, 0% packet loss, time 13024ms
rtt min/avg/max/mdev = 1.435/1.640/1.975/0.143 ms
```
##### Hub Wiresharkaufzeichnung PC1:
![hub_pc1](rnimage.png)
##### Hub Wiresharkaufzeichnung PC2:
![hub_pc2](rnimage-1.png)
##### Hub Wiresharkaufzeichnung PC3:
![hub_pc3](rnimage-2.png)
#### Switch Ping PC1 -> PC2:
```bash
student@netlab-2023-5:~$ ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=2.58 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=1.79 ms
64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=1.49 ms
64 bytes from 192.168.1.2: icmp_seq=4 ttl=64 time=1.49 ms
64 bytes from 192.168.1.2: icmp_seq=5 ttl=64 time=1.79 ms
64 bytes from 192.168.1.2: icmp_seq=6 ttl=64 time=1.59 ms
64 bytes from 192.168.1.2: icmp_seq=7 ttl=64 time=1.54 ms
64 bytes from 192.168.1.2: icmp_seq=8 ttl=64 time=1.67 ms
64 bytes from 192.168.1.2: icmp_seq=9 ttl=64 time=1.51 ms
64 bytes from 192.168.1.2: icmp_seq=10 ttl=64 time=1.36 ms
64 bytes from 192.168.1.2: icmp_seq=11 ttl=64 time=1.56 ms
64 bytes from 192.168.1.2: icmp_seq=12 ttl=64 time=1.73 ms
64 bytes from 192.168.1.2: icmp_seq=13 ttl=64 time=1.90 ms
--- 192.168.1.2 ping statistics ---
13 packets transmitted, 13 received, 0% packet loss, time 12022ms
rtt min/avg/max/mdev = 1.362/1.692/2.580/0.295 ms
```
##### Switch Wiresharkaufzeichnung PC1:
![switch_pc1](rnimage-3.png)
##### Switch Wiresharkaufzeichnung PC2:
![switch_pc2](rnimage-4.png)
##### Switch Wiresharkaufzeichnung PC3:
![switch_pc3](rnimage-5.png)
### Auswertung
#### Auswertung Hub
##### prinzipieller Aufbau und Funktionsweise eines Hubs
- Multiport-Repeater (OSI L1)
- empfängt Datenpakete über einen Port und sendet sie an alle anderen Ports weiter (Broadcast)
##### Konnten Sie Pakete zwischen PC2 und PC1 im Wireshark-Mitschnitt von PC3 beobachten?
- Ja konnten beobachtet werden ([siehe hier](#hub-wiresharkaufzeichnung-pc3))
- Da der Hub die Pakete an alle anderen angeschlossenen Netzwerkgeräte weiterleitet, kommen sie auch bei PC3 an.
##### Risiken und Nachteile durch Verwendung eines Hubs
- Datenrate
- Alle Geräte teilen sich die Bandbreite
- dadurch geringe effektive Datenrate pro Gerät
- Latenz
- Es können Kollisionen und Wiederholungen auftreten
- Medienzugriffe
- Kein intelligentes Zugriffsmanagement
- Sicherheit
- Jeder empfängt alle Datenpakete
- dadurch einfaches Abhören möglich
##### Software-Funktionen, mit denen diese Risiken vermindert werden können
- VLANs (in Switches)
- Firewall
---
#### Auswertung Switch
##### Prinzipieller Aufbau und Funktionsweise
- Nimmt physikalische Trennung von Netzen vor
- Führt Fehler- und Lasttrennung durch
- Mechanismen zum Filtern implementiert
- Lernt die MAC-Quell-Adressen der aktiven Endgeräte
- Trennt Kollisions-Domänen im LAN auf Schicht 2
- wenn Datenpakete empfangen werden, können diese gezielt weitergeleitet werden (Routing)
##### Konnten Sie diesmal auch Pakete zwischen PC2 und PC1 im Wireshark-Mitschnitt von PC3 beobachten?
- Nein, diesmal konnten keine Pakete bei PC3 beobachtet werden ([siehe hier](#switch-wiresharkaufzeichnung-pc3))
- Dies ist zu begründen an der Funktionalität des Switch, welche Pakete gezielt weiterleiten kann
##### Vorteile dieser Eigenschaft hinsichtlich IT-Sicherheit
- kein einfaches Mitlesen der Nachrichten möglich
- Beim Hub Gegenteil der Fall: Alle Geräte erhalten alle Daten
##### Können bei der Hub/Switch Kollisionen auftreten? Wann?
- Hub:
- ja, können auftreten, wenn mehrere Geräte gleichzeitig senden
- alle Geräte teilen sich das Medium (Halbduplex)
- Switch:
- nein, jedes Gerät hat eine eigene Verbindung (Vollduplex)
- Ausnahme:
- alte Switch, die noch Halbduplex arbeiten
- falsche Konfigurationen am Switch
##### Wie verhält sich der Hub/Switch im Bezug auf Broadcasts und Kollisionsdomänen?
- Hub erweitert KD, Broadcasts
- Switch segmentiert KD, erweitert Broadcast
##### Weiteres Medium, in dem Kollisionen auftreten können
- WLAN
## Nachbereitung
### Welche Sicherheitsrisiken sind mit ARP verbunden und wie kann man davor schützen?
- ARP-Spoofing
- Angreifer täuscht falsche MAC-Adresse vor
- dadurch Datenumleitung, MiM, Mitlesen möglich
- Schutzmaßnahmen:
- Statische ARP-Einträge
- Port-Security am Switch
- Dynamic ARP Inspection

View File

@ -0,0 +1,147 @@
# Übungsblatt 4
> Wenzel Schwan (1125033), Paul Kneidl (1125219), David Schirrmeister (1125746), Michelle Klein (1126422)
## Übung 1
Betrachten Sie den Automaten $A$ aus Abbildung 1 über dem Alphabet $\Sigma = \{ 0, 1 \}$.
![image_822.png](image_822.png)
### 1(a)
Gibt es einen endlichen Automaten mit 9 Zuständen, der die Sprache $L(A)$ akzeptiert? Begründen Sie Ihre Antwort.
ja, da man bspw. von `d` aus weitere Zustände erstellen könnte, auf die man mit `1` kommt und von dort auf dann auf `g` verweist mit `0`
### 1(b)
Gibt es einen endlichen Automaten mit 3 Zuständen, der die Sprache $L(A)$ akzeptiert? Begründen Sie Ihre Antwort.
Nein, da der Automat 5 Nerode-Klassen hat.
### 1(c)
Bestimmen Sie für jeden Zustand $q$ ($q \in \{ a, b, c, d, e, f, g \}$) von Automat $A$ die Sprache (in formaler
Mengenschreibweise), die $A$ akzeptieren würde, wenn $q$ der Startzustand von $A$ wäre.
- $L_a :=\{00*1^n, n ∈ \mathbb{N}_0 υ 1 *0^m*1^i, m ∈ \mathbb{N}_0, i ∈ \mathbb{N}\}$
- $L_b :=\{0^n*1^m \space | \space n ∈ \mathbb{N}_0, m ∈ \mathbb{N}\}$
- $L_c :=\{1^n \space|\space n ∈ \mathbb{N}_0\}$
- $L_d :=\{1^n \space|\space n ∈ \mathbb{N}_0\}$
- $L_e :=\{0*1^n \space|\space n ∈ \mathbb{N}_0 \}$
- f, g: Müllzustand - von hier aus wird die Sprache nicht mehr akzeptiert
### 1(d)
Bestimmen Sie alle Nerode-Klassen und den Nerode-Index der Sprache $L(A)$ und begründen Sie Ihre Antwort.
- $N_0 = N(ε) = \{\w ∈{0,1\}^*\space|\space w = ε\}$
- $N_1 = N(1) = \{\w ∈{0,1\}^*\space|\space w = 1*0^n, n ∈ \mathbb{N}_0\}$
- $N_2 = N(0) = \{\w ∈{0,1\}^*\space|\space w = 0\}$
- $N_3 = N(00\spaceu\space11) = \{\w ∈{0,1\}^*\space|\space w = 1*0^n*1^m, n ∈ \mathbb{N}_0, m ∈ \mathbb{N}\ \space u \space w ∈ \{0,1\}^*\space|\space w=0*0*1^n, n ∈ \mathbb{N}_0\}$
- $N_4 =$ Müllzustand
### 1(e)
Geben Sie den Nerode-Automaten der Sprache $L(A)$ an (Graphdarstellung oder formale Tuppeldarstellung, Ihre Wahl).
```plantuml
@startuml
scale 0.50
left to right direction
skinparam dpi 150
skinparam state {
BackgroundColor #FFFACD
BorderColor black
FontName Helvetica
RoundCorner 30
Shadowing false
LineThickness 0
}
state c##[bold]
[*] --> a
a --> b: 1
a --> e: 0
b --> b: 0
b --> c: 1
c --> c: 1
e --> c: 0
e --> f: 1
c --> f: 0
f --> f: 0,1
@enduml
```
## Übung 2
Betrachten Sie die folgenden Sprachen:
- $L_1 = \{ 111 \cdot s \mid s \in \{ 0,1,2,4 \}^* \}$
- $L_2 = \{ s \cdot xx \mid s \in \{ x,y,z \}^* \}$
- $L_3 = \{ 0^n 1^0 2^n \mid n \in \mathbb{N} \}$
- $L_4 = \{ x^n y^z n^m \mid n,m \in \mathbb{N} \}$
### 2(a)
Welche der angegebenen Sprachen haben einen Nerode-Index größer oder gleich vier? Begründen Sie für die von Ihnen
ausgewählten Sprachen Ihre Antwort.
- $L_1$ - Nerode-Index=4
- leere Menge, 3 weitere für jede eins & einen Müllzustand in den ein akzeptiertes Wort nicht mehr zu erreichen ist, da es z.B. mit einer 0 anfängt
- $L_2$ - Nerode-Index=3
- leere Menge&Wörter ohne x/xx am Ende, Wörter die mit x enden, Wörter die mit xx enden (akzeptierter Zustand)
- $L_3$ - Nerode-Index=∞
- um n = n = n zu unterscheiden braucht man unendlich Nerode-Klassen
- $L_4$ - Nerode Index ∞
- min so viele z+1 wie x
- gleiches wie bei $L_3$, es kommt auf die Anzahl x an & es gibt ∞ Optionen
### 2(b)
Welche der angegebenen Sprachen haben einen endlichen Nerode-Index? Begründen Sie für die von Ihnen ausgewählten
Sprachen Ihre Antwort.
Wie in a schon beschrieben haben $L_1$ und $L_2$ einen endlichen Nerode-Index.
Bei $L_1$ muss der Präfix untersucht werden und der Rest ist egal, somit ist dies mit 4 Zuständen möglich
Bei $L_2$ muss der Suffix untersucht werden, somit ist dies mit 3 Zuständen möglich
### 2(c)
Für welche der angegebenen Sprachen existiert kein endlicher Automat, der die Sprache akzeptiert? Begründen Sie für die
von Ihnen ausgewählten Sprachen Ihre Antwort.
Wie in a beschrieben existiert bei $L_3$ und $L_4$ kein endlicher Automat, da beide einen unendlichen
Nerode-Index haben. Beide Automaten benötigen ∞ Zustände um n zu speichern
## Übung 3
Betrachten Sie die folgenden Sprachen über dem Alphabet $\Sigma = \{ 0, 1, 2 \}$:
- $L_1 = \{ 0^n 1^m \mid n,m \in \mathbb{N} \} \cup \{ 0^n 2^m \mid n,m \in \mathbb{N} \}$
- $L_2 = \{ 0^n 1^m \mid n,m \in \mathbb{N} \} \cup \{ 2^n 1^m \mid n,m \in \mathbb{N} \}$
- $L_3 = \{ s \in \Sigma^* \mid \exists s_1 \in \Sigma^* : s = 2 \cdot s_1 \wedge \forall s_2 \in \Sigma^* : s \neq s_2 \cdot 00 \}$
Für welche der angegebenen Sprachen gilt, dass **jeder** endliche Automat, der die Sprache akzeptiert, **mehr als einen
akzeptierenden Zustand** hat? Begründen Sie Ihre Antwort für jede der drei Sprachen.
- $L_1$
- Es gibt mehr als 2 akzeptierende Zustände, da ein akzeptiertes Wort immer mit beliebig vielen 0 anfängt, aber dann entweder mit beliebig vielen 1 oder 2 endet, wodurch 2 akzeptierte Zustände benötigt werden.
- $L_2$
- Ein akzeptierter Zustand reicht, da ein Wort zwar unterschiedlich anfängt, aber am Ende immer mit einer beliebigen Zahl 1 aufhört, wodurch alle vorherigen Schritte in einem Zustand zusammengeführt werden können.
- $L_3$
- Es sind mehr als ein akzeptierter Zustand benötigt, da man einen Zustand benötigt für den Fall, dass das Wort mit nur einer 0 endet und einen für den Fall, dass das Wort mit keiner 0 endet.
## Übung 4
Benutzen Sie das Kochrezept aus der Vorlesung, um zu zeigen, dass die Sprache $L = \{ a^n b^n c^n \mid n \in \mathbb{N}
\}$ von **keinem endlichen Automaten** akzeptiert wird.
- $L = \{a^n,b^n,c^n\space|\space n ∈ \mathbb{N}\}$
- definiere $X=\{a^n\space|\space n ∈ \mathbb{N}\}$
- seien $u = a^i, v=a^j ∈ X mit i \not= j$
- dann gilt für $w = b^i*c^i$:
- $u*w=a^i*b^i*c^i ∈ L$
- $u*v=a^j*b^j*c^j \not ∈ L$
- → $L-Index ≥ |X| = ∞$, sodass kein DEA $L$ akzeptiert