IPv6 Paketformat
Version TrafficClass FlowLabel
PayLoadLen NextHeader HopLimit
SourceAdress
DestinationAdress
Next Header / Data
0 4 12 16 24 31
Header‐Erweiterungen
Jede Option hat seine eigene Form des Extension Headers
(Typ ist durch Wert von NextHeader des Vorgänger‐Headers bestimmt]
• Jeder Extension Header hat ein NextHeader‐Feld für die folgende Header Extension
• Die letzte Header Extension speichert den Demultiplexing‐Key des Protokolls, welches das IPv6 Paket nutzt
Beispiel Erweiterung: Fragmentation‐Header
• Gleiche Funktionalität wie bei Ipv4 (Fragmentation und Reassembly, falls Paketgröße die Path‐MTU überschreitet)
• Jedoch nur vorhanden, falls Fragmentierung notwendig war.
NextHeader Offset
Ident
0 8 16 23 31
Reserved Res M
Header‐Erweiterungen
6 TrafficClass FlowLabel
PayLoadLen 44 HopLimit
SourceAdress
DestinationAdress
Payload (hier TCP‐Header plus anschließende Daten)
0 4 12 16 24 31
6 Offset
Ident
Reserved Res M
6 = IPv6‐Header
44 = Fragmentation Header‐Extension
6 = TCP‐Header
Weitere IPv6 Funktionen
Autokonfiguration
• Problem ohne Autokonfiguration: Verbindung mit dem Internet erfordert Fachwissen zur Systemadministration (Host muss mit einer bestimmten Mindestmenge an
Informationen konfiguriert werden, z. B. gültige IP‐Adresse, Subnetzmaske für die Verbindung, an die er angeschlossen ist, und der Adresse eines Nameservers)
• Ziel von IPv6 ist daher die Unterstützung der Autokonfiguration, die manchmal als Plug‐and‐Play‐Betrieb bezeichnet wird.
Aber: automatische Konfiguration ist doch auch für IPv4 möglich?
• hängt jedoch von der Existenz eines Servers ab, der so konfiguriert ist, dass Adressen und andere Konfigurationsinformationen an DHCP‐Clients (Dynamic Host
Configuration Protocol) übergeben werden.
• Das längere Adressformat in IPv6 bietet eine nützliche, neue Form der
Autokonfiguration, die als zustandslose Autokonfiguration bezeichnet wird und für
Weitere IPv6 Funktionen
Autokonfigurationsproblem lässt sich in zwei Teile unterteilen:
1. Ermitteln der Interface‐ID, die für den Link (d.h. das Subnetz), an den der Host angeschlossen ist, eindeutig ist
2. Ermitteln des richtigen Adresspräfixes für dieses Subnetz Teil 1 ist einfach
• jeder Host muss eine eindeutige Adresse auf der Linkebene haben (z.B. eindeutige 48‐Bit‐
Ethernet‐Adresse)
• Hieraus lässt sich unmittelbar eine gültige verbindungslokale Adresse erzeugen:
• Präfix 1111 1110 10 (d.h. Link‐lokale Adresse)
• gefolgt von genügend Nullen, um insgesamt 128 Bit zu ergeben
• Und am Schluss die MAC‐Adresse
• Beispiel: 08 : 00 : 2B : E4 : B1 : 02 FE80::0800:2BE4:B102
• Für Geräte wie z. B. Drucker oder Hosts in einem kleinen Netzwerk ohne Router, die keine Verbindung zu anderen Netzwerken herstellen, ist diese Adresse möglicherweise
ausreichend.
Teil 2
• Geräte, die eine global gültige Adresse benötigen, benötigen einem Router auf derselben Verbindung, der regelmäßig das entsprechende Präfix für die Verbindung bekannt gibt.
Weitere IPv6 Funktionen
Source‐Directed Routing
Ein weiterer Extension‐Header von IPv6 ist der Routing‐Header
Ohne diesen Header unterscheidet sich Routing für IPv6 kaum von dem für IPv4 unter CIDR
Der Routing‐Header enthält eine Liste von IPv6‐Adressen, die Knoten oder topologische Bereiche darstellen, die das Paket auf dem Weg zu seinem Ziel besuchen soll
Ein topologischer Bereich kann beispielsweise das Netz eines Backbone‐Anbieters sein
Die Angabe, dass Pakete dieses Netz besuchen müssen, ist eine Möglichkeit, die Anbieterauswahl paketweise zu implementieren. Ein Host kann also festlegen, dass einige Pakete über einen billigen Anbieter gesendet werden sollen, andere über einen Anbieter mit hoher Zuverlässigkeit und wieder andere über einen Anbieter, dem der Host vertraut, besondere Sicherheit zu bieten.
Weitere IPv6 Funktionen
Um die Möglichkeit zu bieten, topologische Entitäten anstelle einzelner Knoten anzugeben, definiert IPv6 eine Anycast‐Adresse.
• Eine Anycast‐Adresse wird einer Menge von Schnittstellen zugewiesen.
• An diese Adresse gesendete Pakete werden an die "nächstgelegene" dieser Schnittstellen gesendet, wobei die nächstgelegene durch die Routing‐Protokolle bestimmt wird.
• Beispielsweise könnte allen Routern eines Backbone‐Anbieters eine einzelne Anycast‐Adresse zugewiesen werden, die im Routing‐Header verwendet wird.
Weitere IPv6‐Relevante Aspekte (ohne weitere Diskussion hier) Mobility, Security, Quality of Service