335 lines
11 KiB
Markdown
335 lines
11 KiB
Markdown
# Internetworking
|
|
> 
|
|
|
|
## MAC und IP-Adressen im Heimatnetzwerk
|
|

|
|
|
|
**Bleiben MAC und IP-Adresse immer gleich?**
|
|
- MAC-Adresse
|
|
- gelten nur im LAN
|
|
- IP-Adresse
|
|
- muss unverändert festbleiben
|
|
|
|
## MAC-Adressierung
|
|
### Beispiel Ethernet-Header
|
|

|
|
|
|
### Beispiel WLAN-Header
|
|

|
|
- nicht mehr nur Quell- und Zieladresse
|
|
- gezwungener Nachrichtenweg über den Router
|
|
|
|
|
|
## Übersicht Network-Layer
|
|
> 
|
|
|
|
### 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 V6
|
|
> 
|
|
|
|
##### Neighbor Discovery Protocol (NDP) in IPv6
|
|

|
|

|
|

|
|
|
|
#### Internet Protocol V4
|
|
- realisiert verbindungslose Kommunikation auf L3
|
|
- bietet Hardware-unabhängiges Paketformat
|
|
- 
|
|
|
|
> 
|
|
|
|
##### IPv4 Adressierung
|
|

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

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

|
|
|
|
###### Layer-3-Switch ersetzt Konfiguration mit einem Router
|
|

|
|
|
|
|
|
|
|
|
|
## Einfaches Internetwork als Beispiel
|
|

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

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

|
|
|
|
#### Step 1: Open the Webbrowser and Enter IP Address for the Development Board
|
|
#### Step 2: PC Generates and Transmits a Frame
|
|

|
|
|
|
#### Step 3: Frame is Forwarded through the Switch
|
|

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

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

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

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

|
|
|
|
### Local Router with NAT
|
|
#### NAT entry and forward Frame to ISP Router
|
|

|
|
|
|
#### NAT translation in local Router
|
|

|
|
|
|
|
|
### Übersicht NAT im globalen Netzwerk
|
|

|
|
|
|
|
|
## Address Resolution Protocol ARP
|
|
> Übersetzung von IP- in physikalische MAC-Adresse
|
|
|
|
### Beispiel: MAC vom Router
|
|
#### Step 1: ARP Request
|
|

|
|
|
|
#### Step 2: ARP Response
|
|

|
|
|
|
#### Step 3: Entry in ARP Table
|
|

|
|
- Jeder Punkt im Netzwerk wartet seine eigene ARP-Tabelle
|
|
- Layer 2 Protokoll, das auf IP Adressen referenziert, sie aber NICHT nutzt
|
|
|
|
### 2. Beispiel ARP Request
|
|

|
|
|
|
### ARP Header
|
|

|
|
|
|
|
|
### ARP-Quiz
|
|
- Die ARP-Request Nachricht wird per Postcast verschickt ✓
|
|
- ~~ARP kann zu einer MAC-Adresse eine IP-Adresse vermitteln~~ (Reverse ARP (RARP))
|
|
- Die ARP-Tabelle enthält nur die Adressabbildungen der Systeme im LAN, mit denen kommuniziert wurde ✓
|
|
- ~~Der ARP-Reply wird per Broadcast geschickt~~ (Unicast)
|
|
- ARP kann zu einer IP-Adresse eine MAC-Adresse ermitteln ✓
|
|
- Der ARP-Reply wird nur an die anfragende Station geschickt ✓
|
|
|
|
## Dynamic Host Configuration Protocol (DHCP)
|
|
- Vereinfachung der Installation und Verwaltung von vernetzten Rechnern
|
|
- DHCP integriert weitgehend automatisch einen Rechner in das Internet bzw. Intranet
|
|
|
|
### Charakteristika
|
|
- Server
|
|
- mehrere DHCP-Server können konfiguriert werden
|
|
- Koordination z. Zt aber noch nicht standardisiert
|
|
- Erneuerung der Konfiguration
|
|
- IPs müssen regelmäßig erneut angefordert werden
|
|
- vereinfachtes Verfahren
|
|
- Optionen
|
|
- Verfügbar für:
|
|
- Router
|
|
- Netzmaske
|
|
- NTP (Network Time Protocol)-Timeserver
|
|
- SLP (Service-Location Protocol)-Verzeichnis
|
|
- DNS (Domain Name System)
|
|
|
|
### DHCP Header
|
|

|
|
|
|
| Field | Octets | Description |
|
|
|---------|--------|------------------------------------------------------------------------|
|
|
| op | 1 | Messagetyp |
|
|
| htype | 1 | Typ der Hardware-Adresse |
|
|
| hlen | 1 | Länge der Hardware-Adresse |
|
|
| hops | 1 | used in case of relay agents. Clients sets them to 0 |
|
|
| xid | 4 | Trasaktions-ID, die vom Client und Server für die Session genutzt wird |
|
|
| secs | 2 | Zeit [s] seit Client Prozess requested hat |
|
|
| flags | 2 | Flags |
|
|
| ciaddr | 4 | Client IP |
|
|
| yiaddr | 4 | IP, die dem Client vom Server zugewiesen wird |
|
|
| siaddr | 4 | Server IP |
|
|
| giaddr | 4 | IP Adresse vom Relay-Agent |
|
|
| chaddr | 16 | Client Hardware-Adresse (MAC) |
|
|
| sname | 64 | Server Hostname |
|
|
| file | 128 | Boot filename |
|
|
| options | var | Additional options |
|
|
|
|
|
|
|
|
### Client Server Exchange
|
|

|
|
|
|
### Arbeitsweise von DHCP
|
|
|
|
| Fall A | Fall B (`Broadcast Bit = 1`) |
|
|
|---------------------------------|---------------------------------|
|
|
|  |  |
|
|
|
|

|
|
|
|
| **DHCP Discover** | **DHCP Offer** | **DHCP Request** | **DHCP ACK** | _DHCP NACK_ |
|
|
|---------------------------------|---------------------------------|---------------------------------|---------------------------------|:--------------------------------|
|
|
|  |  |  |  |  |
|
|
|
|
|
|
### DHCP Zustandsdiagramm
|
|

|
|
|
|
### DHCP Snooping
|
|

|
|
|
|
|
|
## Domain Name Service (DNS)
|
|
- weltweit verteilte Namensdatenbank
|
|
- besitzt hierarchische Namensstruktur
|
|
- aufgeteilt in nicht überlappende Zonen
|
|
- 
|
|
- 
|
|
- bildet Namen auf Informationen (bspw. IP-Adressen) ab
|
|
- www.ieee.org → 199.172.136.40
|
|
- Vorteil: Information/Adresse, auf die abgebildet wird, kann sich ändern
|
|
|
|
### DNS Levels
|
|

|
|
|
|
### DNS Funktionsweise
|
|

|
|

|
|
|
|
|