next previous contents
Next: Die neuen IPv6 Adressen Previous: Der IPv6 Header


3. Der Erweiterungsheader

In manchen Situationen sind einige der fehlenden Felder trotzdem notwendig, so daß IPv6 das Konzept eines (optionalen) Erweiterungs-Headers beinhaltet. Diese Header können benutzt werden, um zusätzliche Informationen bereitzustellen. Derzeit sind sechs Erweiterungs-Header definiert:

Erweiterungs-Header Beschreibung
Hop-by Hop Options Verschiedene Informationen für Router
Routing (Type 0) Definition einer vollen oder teilweisen Route
Fragment Verwaltung von Datengrammfragmenten
Authentication Echtheitsprüfung des Senders
Encapsulating Security Payload Informationen über den verschlüsselten Inhalt
Destination Options Zusätzliche Informationen für das Ziel

Wenn mehr als ein Erweiterungs-Header im selben Paket verwendet wird, so ist folgende Reihenfolge notwendig (nach RFC 2460, Dezember 1998):
  1. IPv6-Header
  2. Hop-by-Hop Options Header
  3. Destination Options Header (1)
  4. Routing Header
  5. Fragment Header
  6. Authentication Header (2)
  7. Encapsulating Security Payload Header (2)
  8. Destination Options Header (3)
  9. Upper-Layer Header (4)
(1) Für Optionen, die für den ersten Empfänger aus dem Adressfeld und den nachfolgenden Adressen aus dem Routing Header verwendet werden sollen.
(2) Weitere Anforderungen betreffend der relativen Reihenfolge des Authentication und Encapsulating Security Payload Headers, welche in RFC-2406 beschrieben sind.
(3) Für Optionen die nur vom eigentlichen, also letzten Empfänger des Paketes bestimmt sind.
(4) Der "Upper Layer"-Header ist ein weiterer IPv6-Header für Tunnelungszwecke.

3.1 Hop-by-Hop Options

Im Hop-by-Hop Options-Header und Destination Options-Header werden optionale Informationen transportiert, die von bestimmten Systemen auf dem Weg zum Zielsystem untersucht werden müssen. Unter anderem gibt es hier eine "Jumbo Payload Option" mit welcher es möglich ist, Pakete zu verschicken, die mehr als 65535 Byte Nutzdaten enthalten. Dies ist sehr sinnvoll für die Übertragung von sehr großen Datenmengen. Allerdings darf diese Option nicht zusammen mit einem Fragmentation-Header verwendet werden, da sich dies widerspricht.

3.2 Routing

Das Routing bei IPv6 ist fast identisch mit dem Routing bei IPv4, mit dem Unterschied, daß der Adressraum 128 Bit groß ist. Die vorhanden Routingalgorithmen sollten alle mit wenigen Erweiterungen verwendet werden können. Desweiteren beinhaltet Ipv6 aber auch noch Routingerweiterungen wie: Die neue Routing-Funktionalität wird durch Sequenzen von Ipv6-Adressen im IPV6 Routing-Header erreicht. Dieser Header wird genutzt, um zwischengelagerte Systeme anzugeben, die auf dem Weg zum Ziel "besucht" werden müssen.

3.3 Fragment

IPv4 sieht im Datengramm-Header keine Felder für Fragmentierung vor. IPv6 unterstützt einen seperaten Header für Fragmentierungsdaten. Sollte Fragmentierung nötig sein, so wird das gesamte Datengramm in Teile zerlegt und in den Payload-Abschnitt der Fragmente gestellt. Für jedes Fragment wird ein neuer Basis-Header erzeugt. Bei IPv6 wird wie auch bei IPv4 die Fragmentgröße anhand der MTU (Maximal Transport Unit) des Netzes gewählt. Das letzte Fragment kann jedoch kleiner sein, da es die Restmenge enthält, die nach dem Aufteilen in die MTU-Größe übrigbleibt. Die Fragmentierung selbst unterscheidet sich gewaltig von der in IPv4. Der Hauptunterschied ist, daß bei IPv4 der Router die Fragmentierung durchführt, wenn das empfangene zu groß ist um in ein anderers Netz weitersenden zu können. In IPv6 ist es der Sender, der die Fragmentierung festlegt. Dies bedeutet, daß der Sender eine Datengrammgröße wählt, die keine Fragmentierung voraussetzt. Darüber hinaus teilt ein dazwischen liegender Router ein zu großes Datengramm nicht in Fragmente auf. Da die MTU-Größe aber nicht in jedem Netz gleich groß ist (auch nicht bei reinen IPv6-Netzen sein wird), muß der Sender die MTU auf dem Weg zum Ziel lernen und eine Datengrammgröße wählen, die in die kleinste MTU paßt. Diese MTU wird auch Pfad-MTU genannt. Um diese MTU Größe zu erlernen, benutzt der Sender iterative Verfahren, d.h. er sendet eine Folge von unterschiedlich großen Datengrammgrößen und beobachtet ob diese fehlerfrei ankommen. Zu große Pakete werden von einem Router als unzustellbar zurückgeschickt, mit der Information: "Fragmentation Required". Anhand dieser Information kann er die Datengrammgröße an die kleinste übertragene MTU-Größe anpassen.

3.4 Authentication

Bei IPv4 hatte der Empfänger keine Möglichkeit zu überprüfen, ob der Sender eines Paketes wirklich der ist, als der er sich auszugeben versucht. Der "Authentifikation"-Header (AH) bietet einen Mechanismus, durch den der Empfänger sicher sein kann, wer es gesendet hat. Die verschlüsselten Sicherheitsdaten ermöglichen die Verschlüsselung des Inhalts eines Paketes, so daß nur der beabsichtigte Empfänger es lesen kann. Möchten ein Sender und ein Empfänger sicher kommunizieren, müssen sie zuerst einen oder mehrere Geheimschlüssel vereinbaren. Wie sie das machen, ist nicht Bestandteil von IPv6. Der Authentifikation-Header besteht im Grunde aus drei Teilen. Der erste Teil besteht aus 4 Byte, die die nächste Header-Nummer, die Länge des Authentifikations-Headers und 16 Nullbit enthalten. Dann folgt die 32-Bit Schlüsselnummer. Der dritte Teil ist die Prüfsumme (MD5 oder etwas anderes).

3.5 Encapsulating Security Payload

Der "Encapsulating Security Payload"-Header (ESP) sichert in erster Linie die Geheimhaltung, aber mit gewissen Algorithmen kann er zusätzlich auch Integrität und Echtheit der Daten sichern. Aus gesetzlichen Gründen darf dieser Mechanismus oder der verwendete kryptographische Algorithmus aus manchen Staaten nicht exportiert werden. Beide Header (AH + ESP) sind fester Bestandteil der IPv6-Spezifikation. Man ist darüber hinaus bemüht, eine Lösung zu finden, mit der auch IPv4-Implementationen diese Funktionalität benutzen können. Beide Header-Typen können kombiniert werden. Im Unterschied zu IPv4 müssen alle IPv6-Systeme diesen Dienst mindestens mit dem MD5-Algorithmus mit einem 128-bit-Schlüssel unterstützen.

3.6 Destination Options

siehe Hop-by-Hop Options

3.7 Upper-Layer Header

Header höherer Protokollschichten


next previous contents
Next: Die neuen IPv6 Adressen Previous: Der IPv6 Header