Ipv6 Header erklärt
Einführung in den IPv6 Header
Das Internet Protocol Version 6 (IPv6) wurde entwickelt, um die Schwächen von IPv4 zu überwinden und sich den stetig wachsenden Anforderungen des modernen Internets anzupassen. Ein zentrales Element von IPv6 ist sein Header, der im Vergleich zu IPv4 vereinfacht wurde. In diesem Beitrag werde ich den IPv6-Header detailliert betrachten und seine einzelnen Felder erläutern.
Der Aufbau des IPv6-Headers
Der IPv6-Header hat eine feste Länge von 40 Bytes und besteht aus den folgenden Feldern:
- Version (4 Bits): Gibt die Version des Internet Protocols an. Bei IPv6 hat dieses Feld immer den Wert 0110.
- Traffic Class (8 Bits): Dieses Feld identifiziert den Typ des Datenverkehrs und kann Prioritäten oder Quality-of-Service (QoS) festlegen.
- Flow Label (20 Bits): Wird verwendet, um Pakete desselben Datenstroms zu kennzeichnen, sodass sie spezielle Behandlung erhalten können.
- Payload Length (16 Bits): Zeigt die Länge des Datenfelds (Payload) in Bytes an.
- Next Header (8 Bits): Bestimmt den Typ des folgenden Headers, nachdem der Basis-IPv6-Header gelesen wurde. Dies könnte ein Erweiterungsheader oder das Protokoll der oberen Schicht (z. B. TCP, UDP) sein.
- Hop Limit (8 Bits): Ersetzt das TTL-Feld (Time-to-Live) von IPv4. Es gibt an, wie viele „Hops“ (also Netzwerkübergänge) das Paket maximal durchlaufen darf.
- Source Address (128 Bits): Die Adresse des Absenders des Pakets.
- Destination Address (128 Bits): Die Adresse des Empfängers des Pakets.
Erweiterungsheader
Im Gegensatz zu IPv4, bei dem viele Optionen direkt im Hauptheader eingebettet sind, verwendet IPv6 ein flexibleres System namens Erweiterungsheader. Dies ermöglicht es, zusätzliche Informationen in ein Paket einzufügen, ohne den Basis-Header zu überlasten.
Platzierung des Erweiterungsheaders
Der Erweiterungsheader befindet sich direkt nach dem Basis-IPv6-Header. Das Feld „Next Header“ im IPv6-Header gibt an, welcher Erweiterungsheader (falls vorhanden) direkt nach dem Basis-Header folgt. Wenn mehrere Erweiterungsheader in einem Paket vorhanden sind, geben sie in einer Kette nacheinander an, welcher Header als nächstes folgt. Das Ende der Kette wird normalerweise durch den Wert im Next Header-Feld angezeigt, der das Protokoll der höheren Schicht (z. B. TCP oder UDP) bestimmt.
Arten von Erweiterungsheadern
- Hop-by-Hop Options: Dieser Header wird für Optionen verwendet, die von jedem Knoten (Router) auf dem Weg vom Sender zum Empfänger bearbeitet werden müssen.
- Destination Options: Dieser Header enthält Optionen, die entweder vom Endziel des Pakets oder vom nächsten Punkt im Pfad (bestimmt durch den Routing Header) bearbeitet werden müssen.
- Routing: Dieser Header bestimmt eine Liste von Knoten (Routen), die das Paket auf seinem Weg zum Ziel passieren muss.
- Fragment: Dieser Header wird verwendet, wenn ein Paket in mehrere Teile zerlegt (fragmentiert) und am Ziel wieder zusammengesetzt wird.
- Authentication: Dieser Header bietet Datenintegrität und Authentifizierung für das Paket.
- Encapsulating Security Payload (ESP): Dieser Header bietet Vertraulichkeit, Datenherkunftsauthentifizierung, Verbindungszugehörigkeit und Schutz gegen Wiederholungsangriffe.
Header IDs
Neben den bereits beschriebenen Details der verschiedenen IPv6-Erweiterungsheader ist es auch wichtig, zu wissen, wie diese Header im Feld „Next Header“ des IPv6-Headers oder des vorhergehenden Erweiterungsheaders identifiziert werden. Hierfür werden spezifische Zahlenwerte (Header-IDs) verwendet.
Liste der Header-IDs für bekannte Erweiterungsheader und einige Protokolle:
- Hop-by-Hop Options: ID 0
- ICMPv6 (Internet Control Message Protocol für IPv6): ID 58
- IGMP (Internet Group Management Protocol): ID 2
- TCP (Transmission Control Protocol): ID 6
- UDP (User Datagram Protocol): ID 17
- IPv6 Route: (Routing Header) ID 43
- IPv6 Frag: (Fragment Header) ID 44
- Encap: (Encapsulation Header) ID 41
- AH (Authentication Header): ID 51
- ESP (Encapsulating Security Payload): ID 50
- Destination Options: ID 60
- No Next Header: ID 59 (dieser Wert zeigt an, dass kein weiterer Header folgt)
Die Bedeutung des Next Header-Feldes in einem IPv6-Basisheader oder Erweiterungsheader ist es, den Typ des folgenden Headers (ob es sich um einen weiteren Erweiterungsheader oder ein höheres Schicht-Protokoll wie TCP/UDP handelt) zu bestimmen. Bei mehreren Erweiterungsheadern in einem Paket gibt jeder Header durch seinen eigenen „Next Header“-Wert an, welcher Header-Typ als nächstes folgt, bis schließlich der eigentliche Dateninhalt oder das Protokoll der höheren Schicht erreicht wird.
Verarbeitung von Erweiterungsheadern
Die Verarbeitung von Erweiterungsheadern hängt von ihrem Typ ab. Einige, wie der Hop-by-Hop Options Header, müssen von jedem Knoten auf dem Pfad bearbeitet werden. Andere, wie der Destination Options Header, werden nur vom Endziel bearbeitet.
Es ist wichtig zu beachten, dass nicht alle Router oder Knoten alle Arten von Erweiterungsheadern verstehen oder bearbeiten müssen. Wenn ein Router auf einen unbekannten Erweiterungsheader stößt und dieser Header besagt, dass er von jedem Knoten bearbeitet werden muss, wird das Paket verworfen und eine Fehlermeldung an den Absender gesendet.
Fehlt jetzt nur noch:
IPv6 angewendet
z.B. auf dieser Website, die derzeit keinen AAAA-Record hat
Danke für den Hinweis.
Du hast natürlich Recht. Wenn ich mich richtig erinnere, war das bei meinem Serverhoster Damals kostenpflichtig, ist es nun aber nicht mehr.
Hab ich eben in Auftrag gegeben.