David Schirrmeister f85b75c46f update
2025-04-22 10:26:47 +02:00

209 lines
6.5 KiB
Markdown

# Internetworking
> ![image_685.png](image_685.png)
## MAC und IP-Adressen im Heimatnetzwerk
![image_686.png](image_686.png)
**Bleiben MAC und IP-Adresse immer gleich?**
- MAC-Adresse
- gelten nur im LAN
- IP-Adresse
- muss unverändert festbleiben
## MAC-Adressierung
### Beispiel Ethernet-Header
![image_687.png](image_687.png)
### Beispiel WLAN-Header
![image_688.png](image_688.png)
- nicht mehr nur Quell- und Zieladresse
- gezwungener Nachrichtenweg über den Router
## Übersicht Network-Layer
> ![image_689.png](image_689.png)
### IP und ICMP
- **Eigenschaften**
- IP
- stellt Header im Network Layer zur Verfügung
- einfache Spezifikation auf beiden Seiten
- einziges Problem: Fragmentierung von IP-Paketen
- ICMP
- Fehlermeldungen und Test des Netzwerks
- Zwischen Host/Router und Router
- Fehler werden verursacht durch
- fehlerhafte IP-Pakete
- "Nichterreichbarkeit" von Netzen, Hosts, Routern, Diensten
- Kein Client von L3, sondern von IP
#### Internet Protocol V4
- realisiert verbindungslose Kommunikation auf L3
- bietet Hardware-unabhängiges Paketformat
- ![image_690.png](image_690.png)
##### IPv4 Adressierung
![image_691.png](image_691.png)
- Netz
- _bspw. anderes Netz für MK/FBI_
- je feiner man die trennt, desto besser ist Performance, Sicherheit
- Host
- Endgerät
- braucht eine individuelle IP-Adresse
##### IPv4 Lebenszeit
- beim Routen durch vermaschte Netze könnten Datagramme ziellos unendlich lang kreisen
- Ressourcen werden vergeudet
> **Lösung: TTL-Feld**
>
> Jeder Router reduziert TTL um `1`,
> bei Erreichen von `0` wird Paket gelöscht
###### Subnetting
- gleich großer Host/Netz Anteil
- Falls man vom einen mehr braucht → umrechnen
#### ICMP
![image_699.png](image_699.png)
- Falls IP Fehler bei Zustellung hat, ICMP zur Benachrichtigung des Senders nutzen
- Destination Unreachable
- Fragmentation Needed and DF set
- _Fragmentierung benötigt, aber nicht erlaubt_
- Time To Live Exceeded
- Source Quench
- _Host kann Datagramme nicht so schnell verarbeiten, wie diese vom Netzwerk eintreffen_
**Eigenschaften**
- ICMP-Nachrichten als Nutzdaten in IP-Paketen
- enthält
- Typ
- ![image_700.png](image_700.png)
- Code
- ggf. erste 8 Byte des IP-Pakets, das die Fehlermeldung verursacht hat
- wird direkt von `Ping` und `Traceroute` verwendet
##### ICMP: Traceroute
- Sender schickt IP-Paket mit TTL=1
- 1. Router sendet ICMP zurück
- Sender schickt IP-Paket mit TTL=2
- 2. Router sendet ICMP zurück
- ...
##### ICMP-Flooding-Angriff
- Angreifer überflutet Zielgerät mit ICMP-Echo-Request-Paketen
- Zielgerät beantwortet alle
- verbraucht Ressourcen
##### ICMP Smurf-Angriff
- Angreifer schickt ICMP-Paket mit gefälschter Quell-IP-Adresse
- Netzwerk antwortet an gefälschte IP-Adresse
- → DDoS-Angriff auf OSI-Schicht 3
##### ICMP Umleitungen in Mehrpunkt-Ethernet-Netzwerken
| | |
|---------------------------------|------------|
| Host | 10.0.0.100 |
| Router G1 (Standardgateway) | 10.0.0.1 |
| Router G2 (nächster Hop von G1) | 10.0.0.2 |
Wenn Host Paket an Zielnetzwerk X sendet:
1. G1 empfängt von Host in Netzwerk in dem es verbunden ist
2. G1 überprüft Routing-Tabelle und erhält IP von G2 auf Route zu X
3. Wenn G2 und Host in gleichem Netzwerk:
- ICMP-Umleitungsnachricht an Host, dass er es in Zukunft direkt an G2 schicken soll
- kürzer als Weg über G1
4. G1 schickt Datenpaket an Ziel weiter
- Abhängig von Host-Konfiguration
- ICMP-Umleitungsnachricht ignorieren oder anwenden
###### Suboptimaler Pfad mit statischem Routing
![image_701.png](image_701.png)
###### Layer-3-Switch ersetzt Konfiguration mit einem Router
![image_702.png](image_702.png)
## Einfaches Internetwork als Beispiel
![image_692.png](image_692.png)
- von H1 aus zu H8
- R1 packt es aus, schaut wohin, packt es ein und weiter
- R2 packt es aus, schaut wohin, packt es ein und weiter
- R3 packt es aus, schaut wohin, packt es ein und weiter
![image_693.png](image_693.png)
- PPP hat weniger max. Payload als ETH
- IP muss fragmentieren in kleinere Pakete
- Zwei wichtige Punkte
- Jedes Fragment ist ein in sich abgeschlossenes IP-Diagramm
- Übertragung unabhängig von anderen Fragmenten über eine Reihe physikalischer Netzwerke
- Jedes IP-Diagramm wird für jedes zu durchquerendes physikalische Netzwerk in ein entsprechendes Frame gekapselt
### Laptop and DevBoard communication within LAN
#### Step 0: Überblick
![image_694.png](image_694.png)
#### Step 1: Open the Webbrowser and Enter IP Address for the Development Board
#### Step 2: PC Generates and Transmits a Frame
![image_695.png](image_695.png)
#### Step 3: Frame is Forwarded through the Switch
![image_696.png](image_696.png)
- falls nicht bekannt an welchem Port die richtige MAC-Adresse hängt
- an alle (bis auf Sender-Port, da ist MAC-Adresse ja bekannt) rausschicken
#### Step 4: Frame arrives at the Development Board and is forwarded to the Webserver
![image_697.png](image_697.png)
- auf jedem Layer überprüfen ob an richtiger Stelle
- Layer 2: MAC richtig?
- Layer 3: IP richtig?
- Layer 4: PortNumber running auf dem device?
#### Step 5: Webserver on DevBoard generates Frame and sends the page to the pc
![image_698.png](image_698.png)
#### Step 6: Step 3 with new frame
- Frame kommt am Switch an
- Switch schaut, ob er die MAC kennt
- Switch sendet weiter an PC (Port 3)
- PC öffnet frame und schaut, ob er für ihn ist
- PC öffnet Packet und schaut, obs passt
- PC öffnet Message
## Network Address Translation (NAT)
- mehrere Computer teilen sich eine im Internet sichtbare IP-Adresse
- Private Adressräume werden nicht weitergeleitet
- ![image_703.png](image_703.png)
### NAT-Beispiel
![image_705.png](image_705.png)
### Transport Layer NAT (NAPT)
- Löst folgendes Problem
- Browser auf 192.168.0.1:3000 greift auf www.google.de auf Port 80 zu
- Browser auf 192.168.0.2:3000 greift auf www.google.de auf Port 80 zu
- → reines NAT funktioniert nicht
- NAPT nutzt Port-Nummern aus TCP oder UDP
- Gewährleistung Eindeutigkeit in Zuordnung der Pakete
- In der Praxis ist NAT Synonym für NAPT
#### NAPT Beispiel
![image_706.png](image_706.png)
### Local Router with NAT
#### NAT entry and forward Frame to ISP Router
![image_707.png](image_707.png)
#### NAT translation in local Router
![image_708.png](image_708.png)
### Übersicht NAT im globalen Netzwerk
![image_709.png](image_709.png)