Grundlagen der Rechnernetze
Internetworking
Übersicht
• Grundlegende Konzepte
• Routingverfahren
• Internet‐Routing
• Limitierter Adressbereich
• IP Version 6
2 Grundlagen der Rechnernetze ‐Internetworking
Grundlegende Konzepte
H6 R3
R1 H1
Erinnerung: Internet und IP
N1
N3 N2
R1
H1 H2
H3
R3
R2 H4
H5 H6
H9
H8
H7
4 Grundlagen der Rechnernetze ‐Internetworking
TCP IP ETH
IP
ETH FDDI
IP
FDDI ETH
TCP IP ETH
IP‐Service‐Model
Das IP‐Service‐Model muss so definiert sein, dass es auch von allen potentiell darunter liegenden Protokollen umgesetzt werden kann.
Beispielsweise wäre „jedes Paket wird mit höchstens 1ms
Verzögerung garantiert ausgeliefert“ ein nicht einhaltbares Service‐
Versprechen.
Das Service‐Model von IP ist einfach:
• Eindeutiges Adressierungsschema
• „Best Effort“ Datagram Delivery Service
• Datagramme können verloren gehen
• z.B. fehlerhafte Datagramme auf einem Router
• oder überlasteter Router
• Folge von Datagrammen muss nicht in derselben Reihenfolge empfangen werden
• Datagramme können mehrfach ausgeliefert werden
Grundlegende Konzepte
Datagram‐Delivery‐Service
Grundlagen der Rechnernetze ‐Internetworking 6
IP‐Datagram
Version HLen TOS Length
Ident Flags Offset
TTL Protocol Header Checksum
SourceAdr DestinationAdr
Options (variable) Pad (variable) Data
0 4 8 16 19 31
Fragmentierung und Reassembly
Grundlagen der Rechnernetze ‐Internetworking 8
H1 R1
R2 R3 H2
ETH IP (1400) FDDI IP (1400) PPP IP (512) PPP IP (512) PPP IP (376)
ETH IP (512) ETH IP (512) ETH IP (376)
Beispiel:
• H1 sendet Daten der Größe 1400 Bytes an H2
• MTU von ETH = 1500 Bytes
• MTU von FDDI = 4500 Bytes
• MTU von PPP = 532 Bytes
(Die Path‐MTU in diesem Beispiel = 532 Bytes)
(Dargestellt ist die Payload, also Payload + 20‐Byte‐Header = MTU) Reassembly findet nur auf dem Empfänger‐Host H2 statt
Fragmentierung und Reassembly
Start des Headers
UnfragmentiertesIP‐Paket Fragmentiertes IP‐Paket
Bemerkung: durch Speichern eines Offsets anstatt einer ID ist weitere Fragmentierung eines schon fragmentierten Paketes
Ident = x 0 Offset = 0 Rest des Headers
1400 Bytes Daten
Start des Headers
Ident = x 1 Offset = 0 Rest des Headers
512 Bytes Daten Start des Headers
Ident = x 1 Offset = 64 Rest des Headers
512 Bytes Daten Start des Headers
Ident = x 0 Offset = 128 Rest des Headers
• Original IP‐Paket und dessen Fragmente lassen sich durch eine eindeutige Ident‐
Nummer zueinander zuordnen.
• Offset*8 = Byte‐Position in den Originaldaten
Ein wenig Praxis
Grundlagen der Rechnernetze ‐Internetworking 10
Welche MTU hat mein Netzwerkinterface?
[Linux: ifconfig, Windows PowerShell: Get-NetIPInterface]
Was ist die Path‐MTU zur Adresse uni‐koblenz.de?
[Linux/Windows: ping bzw. Linux: tracepath]
ifconfig bzw. Get-NetIPInterface zeigt zu jedem Netzwerkinterface die MTU mit an
Zieladresse: uni-koblenz.de
Verbiete Fragmentierung: –M do (Linux) bzw. –f (Windows)
Setze die Anzahl Datenbytes, z.B. 2345: –s 2345 (Linux) bzw. –l 2345 (Windows) Teste Ping nur einmal: –c 1 (Linux) bzw. –n 1 (Windows)
Erhöhe sukzessive Anzahl Datenbytes bis ping einen Fehler erzeugt.
Ergibt in diesem Beispiel 1464
• unter Linux: ping uni-koblenz.de –M do –s 1464 –c 1
• unter Windows: ping uni-koblenz.de –f –l 1464 –n 1
Also eine Path‐MTU von 1464 + Headergröße [20 Bytes für IP plus 8 Bytes für ICMP] = 1492 Oder mittels tracepath uni-koblenz.de: liefert unmittelbar die Path‐MTU
Grundlegende Konzepte
Adressierung
IP‐Adresse:
Netzklassen:
Subnetting
Erinnerung: Adressierung und Forwarding
Grundlagen der Rechnernetze ‐Internetworking 12
Class A 0 Netz Host
7 24
1 0 Netz Host
14 16
Class B
1 1 0 Netz Host
21 8
Class C
10101011 01000101 11010010 11110101
171.69.210.245
1 0 Netz Host
14 16
Zum Beispiel Class B Adresse
11111111 11111111 11111111 (255.255.255.0)
Subnetz Maske 00000000
Netznummer
Ergebnis Subnetz Host
Erinnerung: Adressierung und Forwarding
Supernetting (CIDR)
Internet‐Anbieter Advertise
128.112.128/21
128.112.128/24
128.112.135/24
…
Kunden‐Netze
Host Configuration (DHCP)
Grundlagen der Rechnernetze ‐Internetworking 14
• IP‐Adressen haben einen Netz‐ und Host‐Anteil
• Im Gegensatz zu Ethernet‐Adressen kann die IP‐Adresse damit nicht fest mit der Netzhardware „verdrahtet“ sein. Warum?
• Es muss zumindest eine Möglichkeit bestehen, die IP‐Adressen manuell zu konfigurieren. Umständlich!
• Besser: dynamische Zuweisung von IP‐Adressen.
• Bei der Gelegenheit kann man dem DHCP‐Client auch gleich den Default‐Router mitteilen.
N S DHCP‐Server
DHCP Relay H
IP‐Broadcast DHCPDISCOVER
IP‐Unicast
DHCPDISCOVER
Grundlegende Konzepte
Weiteres (ICMP und Tunelling)
Beispiel:
ICMP‐Redirect
Error‐Reporting (ICMP)
Grundlagen der Rechnernetze ‐Internetworking 16
ICPM (Internet Control Message Protocol) definiert eine Sammlung von Fehler‐ und Kontrollnachrichten unter IPv4.
Beispiel für Fehlernachrichten, die an den sendenden Host verschickt werden:
• Unerreichbarer Ziel‐Host
• Reassembly‐Prozess fehlerhaft
• TTL=0 erreicht
• IP‐Header‐Checksumme falsch Beispiel für Control‐Nachricht:
ICMP‐Redirect
Des Weiteren Debugging‐Tools:
ping, traceroute
H1
H2
R2 R1
Nachricht an H2 Default‐Router: R1
IP‐Header (20 Bytes)
ICMP Header (8 Bytes)
ICMP Payload (optional)
ICMP Paketformat (IPv4)
Version HLen TOS Length
Ident Flags Offset
TTL Protocol Header Checksum
SourceAdr DestinationAdr
0 4 8 16 19 31
Type of Message Code Checksum
Header Daten
Payload Daten
Header ChecksumChecksum
Beispiel: Ping
• Echo Request: Type=8, Code = 0
• Echo Reply: Type=0, Code = 0
• Header Daten in beiden Fällen: Identifier (Bit 0 bis 15), Sequence Number (Bit 16 bis 31) [z.B. Linux: eindeutiger Identifier für jeden ping‐Prozess und wachsende Sequenznummer innerhalb des ping‐Prozesses]