Extension Header sind zusätzliche Header, die Infos für die Netzwerkschicht (IP-Layer) beinhalten. Diese Header werden nur bei Bedarf eingefügt und liegen außerhalb des IP-Headers. Extension Header müssen ein Vielfaches von 8 Bytes lang sein.
Es sind 6 Basis Extension Header definiert, die immer implementiert sein müssen:
Extension Header dürfen höchstens einmal vorkommen, Destination Options Header dürfen höchstens zweimal vorkommen. Die Header müssen in einer definierten Reihenfolge auftreten:
# IPv6 Header
# Hop-by-Hop Options Header
# Destination Options Header (Optionen für Router)
# Routing Header
# Fragment Header
# Authentication Header
# Encapsulation Security Payload Header
# Destination Options Header (Optionen für den endgültigen Empfänger)
# Upper-Layer Header
==== Hop-by-Hop Options Header ====
{| class="wikitable"
!Feldname
!Länge
!Inhalt des Feldes
|-
| colspan="3" |Felder des Hop-by-Hop Options Header
|-
|Next Header
|1 Byte
|Typ des folgenden Headers
|-
|Header Extension Length
|1 Byte
|Länge des Hop-by-Hop Extension Headers in 8 Byte Einheiten ohne die ersten 8 Byte
|-
|Options
|variabel
|Besteht aus Option Type, Option Data Length und dem Datenteil
|}
Die ersten zwei Bits des Option-Feldes geben die Art der Verarbeitung bei Nichterkennen der Option an. Das nächste Bit zeigt an, ob die Information in der Option geändert werden kann (1) oder nicht (0):
{| class="wikitable"
!Wert der ersten beiden Bits
!Bedeutung
|-
| colspan="2" |Anweisung bei Nichterkennen von Optionen
|-
|00
|übergehen und Verarbeitung fortführen
|-
|01
|Paket verwerfen
|-
|10
|Paket verwerfen und ICMPv6 Parameter Problem an den Absender retour schicken
|-
|11
|Paket verwerfen und ICMPv6 Parameter Problem an den Absender retour schicken, falls Empfänger keine Multicast- Adresse ist
Mit der Option Jumbogramm kann die maximale Paketgröße von 65535 Bytes (2<sup>16</sup>-1 … das Payload-Feld im IPv6 Header ist 2 Bytes/16 bits lang) auf 4.294.967.295 Bytes (2<sup>32</sup>-1 … das Jumbo Payload Length Field ist 32 bits groß) vergrößert werden.
Wird die Option Jumbogramm benutzt muß das Payload Length Feld auf 0 gesetzt sein und das Next Header Feld ebenfalls 0 (der Next Header ist ein Hop-by-Hop Option Header). Der Option Type Wert für Jumbogramme ist 194. UDP und TCP müssen ebenfalls entsprechende Erweiterungen für Jumbogramme besitzen.
Damit wird Routern angezeigt, dass in nicht für sie adressierten Paketen wichtige Informationen enthalten sind, die ausgewertet werden müssen. Solche Informationen werden derzeit von <abbr>MLD</abbr> und <abbr>RSVP</abbr> eingesetzt.
Die ersten 3 Bit des Option Type sind 0 gesetzt (ist einem Router die Option nicht bekannt, einfach weiterleiten). In den verbleibenden 5 bits ist der Typ 5 definiert. Das Data Length Feld beinhaltet 2, <abbr>d.h.</abbr> das nachfolgende Value Feld ist 2 Bytes lang:
{| class="wikitable"
!Inhalt Value Feld
!Bedeutung
|-
| colspan="2" |Werte im Value Feld
|-
|0
|Paket enthält eine MLD-Nachricht
|-
|1
|Paket enthält eine RSVP-Nachricht
|-
|2
|Paket enthält eine Active Networks Nachricht
|-
|3 - 35
|Paket enthält einen Aggregated Reservation Nesting Level (<nowiki>RFC 3175</nowiki>, RSVP)
|-
|36 - 65535
|reserviert von IANA
|}
Weiter Werte findet man in der aktuellen Liste der Router Alert Werte.
==== Routing Header ====
Der Routing Header wird im vorangegangenen Header mit dem Wert 43 angezeigt.
Im Routing Header wird eine Liste von Routern angegeben, über die das Paket weitergeleitet werden muß. Der Router muß von allen Routern in der Liste verarbeitet werden.
{| class="wikitable"
!Feldname
!Länge
!Inhalt des Feldes
|-
| colspan="3" |Format des Routing Headers
|-
|Next Header
|1 Byte
|Beschreibt den Typ des folgenden Headers
|-
|Header Extension Length
|1 Byte
|Länge des Routing Headers in 8 Byte Einheiten, ohne die ersten 8 Byte
|-
|Routing Type
|1 Byte
|Typ des Routing Headers
|-
|Segments Left
|1 Byte
|Anzahl der Nodes bis zum Erreichen des Ziels
|-
|Type Specific Data
|variabel
|vom Routing Type abhängig
|}
Der Routing Type 2 wird bei Mobile IPv6 definiert.
Kann ein Router den Routing Type nicht identifizieren und steht das Segments Left Feld auf 0, muß er mit dem nächsten Header fortfahren. Ist das Segments Left Feld ungleich 0, dann wird das Paket verworfen und eine ICMPv6 'Parameter Problem' Nachricht an den Absender versandt.
==== Fragment Header ====
[[Fragment Header]]
[[Kategorie:IPv6/Header]]
[[Kategorie:IPv6/Header]]
</noinclude>
</noinclude>
Version vom 10. Januar 2024, 12:19 Uhr
IPv6-Erweiterungsheader - Kurzbeschreibung
Beschreibung
Funktionen gestrichener Felder sind mitunter notwendig
Für diese Fälle werden Erweiterungsheader definiert, um zusätzliche Informationen zu übermitteln
Erweiterungsheader sind optional
Werden mehrere benutzt müssen sie direkt nach dem Hauptheader erscheinen
Optionen für Teilstrecken
Informationen, die alle Router auf der Strecke prüfen
Bisher ist eine Option definiert, die Unterstützung von Jumbogrammen, also Paketen die größer als 64 kByte sind
Routing
Mit diesem Header kann eine Route vollständig oder teilweise spezifiziert werden
Fragmentierung Dieser Header enthält Optionen für die Fragmentierung von Paketen
Nanu, hatten wir nicht eben gesagt IPv6 fragmentiert nicht? Im Prinzip ja
Der Quellhost darf Pakete immer noch fragmentieren
Nur die Router auf der Strecke sind nicht mehr dazu berechtigt
Authentifikation
Der Authentifizierungsheader bietet einen Mechanismus, durch den der Empfänger sicher sein kann, das der in der Adresse angegebene Sender auch tatsächlich der ist, der er behauptet zu sein
Verschlüsselte Sicherheitsdaten
Dieser Header enthält Informationen über das verwendete Verschlüsselungsverfahren
Optionen für Ziele
Optionen, die nur vom Zielhost interpretiert werden
Bedeutung
Die meisten IPv6-Pakete sollten ohne Extension Headers auskommen
Extension Headers können bis auf den Destination Options Header nur einmal in jedem Paket vorkommen
Befindet sich ein Routing Extension Header im Paket, so darf davor ein weiterer Destination Options Header stehen
Die Reihenfolge bei einer Verkettung ist bis auf die genannte Ausnahme die der folgenden Tabelle
Wie im Next Header Feld verwiesen sind einige Extension Headers und ein Platzhalter definiert
Name
Typ
Größe
Beschreibung
RFCs
Hop-By-Hop Options
0
variabel
Optionenvon allen IPv6-Geräten zu beachtenwird z.B. für Jumbograms benutzt
RFC 2460RFC 2675
Routing
43
variabel
Hier kann der Weg des Paketes durch das Netzwerk beeinflusst werdenwird u.a. für Mobile IPv6 verwendet