Das IPv6-Protokoll definiert eine Reihe von Headern, einschließlich dem einfachen IPv6-Header und dem IPv6-Extension-Header. In der folgenden Abbildung werden die Felder in einem IPv6-Header und die Reihenfolge dieser Felder gezeigt.
Die folgende Liste beschreibt die Funktionen jedes Header-Feldes.
Version – 4-Bit-Versionsnummer des Internet-Protokolls = 6.
Verkehrsklasse – Feld in der Länge 8 Bit für die Verkehrsklasse.
Fluss-Label – Feld in der Länge 20 Bit.
Nutzlastlänge – Vorzeichenloser, ganzzahliger Wert in der Länge 16 Bit; der Rest des Pakets, der dem IPv6-Header folgt, in Oktetten.
Nächster Header – Selektor in der Länge 8 Bit. Gibt den Headertyp an, der dem IPv6-Header unmittelbar folgt. Verwendet die gleichen Werte wie das IPv4-Protokollfeld
Hop-Grenzwert – Vorzeichenloser, ganzzahliger Wert in der Länge 8 Bit. Wird von jedem Knoten, der das Paket weiterleitet, um 1 verringert. Das Paket wird abgeworfen, wenn die Hop-Grenzwert auf null verringert wurde.
Quelladresse – 128 Bit. Die Adresse des ursprünglichen Senders des Pakets.
Zieladresse – 128 Bit. Die Adresse des geplanten Empfängers des Pakets. Der geplante Empfänger muss nicht unbedingt der Empfänger sein, wenn ein optionaler Routing-Header vorhanden ist.
IPv6-Optionen werden in separaten Extension-Headern platziert, die sich zwischen dem IPv6-Header und dem Transportschicht-Header in einem Paket befinden. Die meisten IPv6-Extension-Header werden von den Routern im Zustellungspfad eines Pakets weder geprüft noch verarbeitet, bis das Paket an seinem endgültigen Ziel eintrifft. Diese Funktion stellt für Pakete, die Optionen enthalten, eine wesentliche Verbesserung der Router-Performance dar. Bei IPv4 wird durch die Angabe einer Option erforderlich, dass der Router alle Optionen untersucht.
Im Gegensatz zu IPv4-Optionen können IPv6-Extension-Header eine beliebige Länge annehmen, und die Anzahl an Optionen, die ein Paket enthalten kann, ist nicht auf 40 Byte beschränkt. Diese Funktion (neben der Art und Weise, wie IPv6-Optionen verarbeitet werden), ermöglicht es, dass IPv6-Optionen für Funktionen verwendet werden, deren Umsetzung unter IPv4 nicht möglich wäre.
Um die Performance bei der Verarbeitung von nachfolgenden Option-Headern und dem darauf folgenden Transportprotokoll zu verbessern, sind IPv6-Optionen immer ein ganzzahliges Vielfaches mit einer Länge von 8 Oktetten. Das ganzzahlige Vielfache von 8 Oktetten behält die Gruppierung der nachfolgenden Header bei.
Folgende IPv6-Extension-Header sind derzeit definiert:
Routing – Erweitertes Routing, z. B. lose IPv4-Quellroute
Fragmentierung – Fragmentierung und Neuassemblierung
Authentifizierung – Integrität und Authentifizierung und Sicherheit
Einkapselung der Sicherheitsnutzlast – Vertraulichkeit
Hop-by-Hop Optionen – Spezielle Optionen, die eine Hop-by-Hop-Verarbeitung erfordern
Zieloptionen – Optionale Informationen, die vom Zielknoten untersucht werden