update
BIN
Writerside/images/image_822.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
Writerside/images/rnimage-1.png
Normal file
After Width: | Height: | Size: 169 KiB |
BIN
Writerside/images/rnimage-2.png
Normal file
After Width: | Height: | Size: 170 KiB |
BIN
Writerside/images/rnimage-3.png
Normal file
After Width: | Height: | Size: 247 KiB |
BIN
Writerside/images/rnimage-4.png
Normal file
After Width: | Height: | Size: 248 KiB |
BIN
Writerside/images/rnimage-5.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
Writerside/images/rnimage.png
Normal file
After Width: | Height: | Size: 168 KiB |
@ -100,6 +100,7 @@
|
||||
|
||||
<toc-element toc-title="Rechnernetze">
|
||||
<toc-element topic="Praktikum_Protokoll.md"/>
|
||||
<toc-element topic="Protokoll P2.md"/>
|
||||
|
||||
<toc-element topic="00_RNIntroduction.md"/>
|
||||
<toc-element topic="01_Internetworking.md"/>
|
||||
@ -119,7 +120,8 @@
|
||||
<toc-element toc-title="Hausaufgaben">
|
||||
<toc-element topic="ti_hausaufgabe1.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 topic="01Einleitung.md"/>
|
||||
|
@ -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 Wiresharkaufzeichnung PC2:
|
||||

|
||||
##### Hub Wiresharkaufzeichnung PC3:
|
||||

|
||||
|
||||
|
||||
#### 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 Wiresharkaufzeichnung PC2:
|
||||

|
||||
##### Switch Wiresharkaufzeichnung PC3:
|
||||

|
||||
|
||||
### 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
|
@ -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 \}$.
|
||||

|
||||
|
||||
|
||||
### 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
|