IPv6/Header
IPv6/Header
Beschreibung
Definiert im RFC 2460
- fix 40 Bytes
- davon je 16 Bytes für Absender- und Empfängeradresse
- Vereinfachung des Headers
- Enthält nur grundlegende Forwarding-Information
- Zusätzliche Informationen in variablen zusätzlichen Erweiterungs-Headern, welche durch das „Next Header“ Feld identifiziert werden
- Damit trotz vierfacher IPv6-Adresslänge (16 Byte) nur doppelte Headerlänge
IPv6 (Felder)
Byte/Bin | 00–03 | 04–07 | 08–11 | 12–15 | 16-19 | 20–23 | 24–27 | 28–31 | |
---|---|---|---|---|---|---|---|---|---|
01 | Version | Traffic Class | Flow Label | H e a d e r | |||||
02 | Payload Length | Next Header | Hop Limit | ||||||
03 - 06 | Quell-IP-Adresse | ||||||||
07 - 10 | Ziel-IP-Adresse | ||||||||
11+ | Payload |
IPv4 Header Felder
Option | Beschreibung |
---|---|
Version | always 4 |
TOS (type of service) | precedence (3 bits) and “minimize delay”, “maximize throughput”, “maximize reliability”, “minimize cost” bits |
Identifier | identifier, different for each packet |
TTL | time to live field; initialized to 64; decremented at each router; drop if TTL = 0 |
Protocol | next header proto (TCP 6, UDP 17) |
Header checksum | add together 16-bit words using one’s complement: software optimized |
Entfallene Felder
Option | Beschreibung |
---|---|
HL | weil der IPv6Header eine feste Länge hat |
Protocol | wurde herausgenommen, weil das Feld Next-Header angibt welches Protokoll auf der Transportschicht verwendet wird. |
Alle Felder in Bezug auf Fragmentierung | wurden weggelassen, weil IPv6 Fragmentierung anders handhabt
|
Checksum | entfernt, weil die Berechnung der Prüfsumme bei jedem Hop sich negativ auf die Performance auswirkt
|
Padding |
Header-Format
- Feste Länge
- Bei IPv6 eine feste Länge von 40 Byte (320 Bit)
- Im Gegensatz zu IPv4
- Extension Headers
- Optionale, seltener benutzte Informationen werden in Erweiterungs-Kopfdaten (engl.: Extension Headers) eingebettet
- zwischen IPv6-Kopfdatenbereich und der eigentlichen Nutzlast (Payload)
Kopfdaten
- Kopfdaten laut RFC 2460
Feld | Länge | Inhalt |
---|---|---|
Version | 4 Bit | IP-Versionsnummer (6) |
Traffic Class | 8 Bit | Für Quality of Service (QoS) verwendeter Wert. Eine Art Prioritätsvergabe. |
Flow Label | 20 Bit | Ebenfalls für QoS oder Echtzeitanwendungen verwendeter Wert. Pakete, die dasselbe Flow Label tragen, werden gleich behandelt. |
Payload Length | 16 Bit | Länge des IPv6-Paketinhaltes (ohne Kopfdatenbereich, aber inklusive der Erweiterungs-Kopfdaten) in Byte |
Next Header | 8 Bit | Identifiziert den Typ des nächsten Kopfdatenbereiches, dieser kann entweder einen Erweiterungs-Kopfdatenbereich (siehe nächste Tabelle) oder ein Protokoll höherer Schicht (engl.: Upper Layer Protocol) bezeichnen, wie z. B. TCP (Typ 6) oder UDP (Typ 17). |
Hop Limit | 8 Bit | Maximale Anzahl an Zwischenschritten über Router, die ein Paket zurücklegen darf; wird beim Durchlaufen eines Routers („Hops“) um eins verringert. Pakete mit null als Hop Limit werden verworfen. Es entspricht dem Feld Time to Live (TTL) bei IPv4. |
Source Address | 128 Bit | Adresse des Senders |
Destination Address | 128 Bit | Adresse des Empfängers |
IPv6 Header in einem Trace File
IPv4 und IPv6 Header im Vergleich
IPv6-Erweiterungsheader
IPv6/Header/Erweiterungsheader
Maximum Transmission Unit (MTU)
Der IPv6 Header
Die Felder im IPv6 Header
Feldname | Länge | Inhalt des Feldes |
---|---|---|
Die Felder im IPv6 Header | ||
Version | 4 bits | 6 (0110, 0x6) |
Traffic Class | 1 Byte | Priorisierung (s. RFC 2474) |
Flow Label | 20 bits | für gleichartige Pakete -> effizientes Routing |
Payload Length | 2 Bytes | Länge der Daten nach dem IPv6 Header |
Next Header | 1 Byte | Protokoll Nummer oder Extension-Header |
Hop Limit | 1 Byte | Anzahl der Routerhops |
Quelladresse | 16 Bytes | |
Zieladresse | 16 Bytes | endgültiger Empfänger bzw. Adresse des nächsten Hops (z.B. wenn ein Routing Header vorhanden ist) |
Summe der Bytes | 40 |
- Die aktuelle Liste aller Protokoll- und Headerwerte findet man bei der IANA.
Wert | Beschreibung |
---|---|
Next Header Werte | |
0 (0, 0x0) | in IPv4 reserviert und nicht benutzt
in IPv6 Hop-by-Hop Option Header |
1 (0001, 0x1) | ICMP IPv4 |
2 (0010, 0x2) | IGMP IPv4 |
4 (0100, 0x4) | IP in IP encapsulation |
6 (0110, 0x6) | TCP |
8 (1000, 0x8) | EGP |
9 (1001, 0x9) | IGP (Cisco IGRP) |
17 (0001 0001, 0x11) | UDP |
41 (0010 1001, 0x29) | IPv6 |
43 (0010 1011, 0x2B) | Routing Header |
44 (0010 1100, 0x2C) | Fragmentation Header |
45 (0010 1101, 0x2D) | IDRP |
46 (0010 1110, 0x2E) | RSVP |
47 (0010 1111, 0x2F) | GRE |
50 (0011 0010, 0x32) | Encryted Security Payload Header |
51 (0011 0011, 0x33) | Authentication Header |
58 (0011 1010, 0x3A) | ICMPv6 |
59 (0011 1011, 0x3B) | No Next Header für IPv6 |
60 (0011 1100, 0x3C) | Destination Options Header |
88 (0101 1000, 0x58) | EIGRPv4 und EIGRPv6 |
89 (0101 1001, 0x59) | OSPF |
108 (0110 1100, 0x6C) | IP Payload Compression Protocol |
115 (0111 0011, 0x73) | L2TP |
132 (1000 0100, 0x84) | SCTP |
135 (1000 0111, 0x87) | Mobility Header (Draft) |
136-252 | nicht zugewiesen |
253-254 | für Experimente und Testzwecke |
255 (1111 1111, 0xFF) | Reserviert |
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks
TMP
Header-Format
Feste Länge
Bei IPv6 eine feste Länge von 40 Byte (320 Bit)* Im Gegensatz zu IPv4 hat der IP-Kopfdatenbereich (Header)
Extension Headers
Optionale, seltener benutzte Informationen werden in so genannten Erweiterungs-Kopfdaten (engl.: Extension Headers) eingebettet * zwischen dem IPv6-Kopfdatenbereich und der eigentlichen Nutzlast (engl. Payload)
Header-Felder
Kopfdatenbereich eines IPv6-Paketes laut RFC 2460:
Feld | Länge | Inhalt |
---|---|---|
Version | 4 Bit | IP-Versionsnummer (6) |
Traffic Class | 8 Bit | Für Quality of Service (QoS) verwendeter Wert. Eine Art Prioritätsvergabe. |
Flow Label | 20 Bit | Ebenfalls für QoS oder Echtzeitanwendungen verwendeter Wert. Pakete, die dasselbe Flow Label tragen, werden gleich behandelt. |
Payload Length | 16 Bit | Länge des IPv6-Paketinhaltes (ohne Kopfdatenbereich, aber inklusive der Erweiterungs-Kopfdaten) in Byte |
Next Header | 8 Bit | Identifiziert den Typ des nächsten Kopfdatenbereiches, dieser kann entweder einen Erweiterungs-Kopfdatenbereich (siehe nächste Tabelle) oder ein Protokoll höherer Schicht (engl.: Upper Layer Protocol) bezeichnen, wie z. B. TCP (Typ 6) oder UDP (Typ 17). |
Hop Limit | 8 Bit | Maximale Anzahl an Zwischenschritten über Router, die ein Paket zurücklegen darf; wird beim Durchlaufen eines Routers („Hops“) um eins verringert. Pakete mit null als Hop Limit werden verworfen. Es entspricht dem Feld Time to Live (TTL) bei IPv4. |
Source Address | 128 Bit | Adresse des Senders |
Destination Address | 128 Bit | Adresse des Empfängers
|
Extension Headers
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 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 | Optionen* von allen IPv6-Geräten zu beachten
|
RFC 2460
RFC 2675 |
Routing | 43 | variabel | Hier kann der Weg des Paketes durch das Netzwerk beeinflusst werden* wird u.a. für Mobile IPv6 verwendet
|
RFC 2460
RFC 6275 RFC 5095 |
Fragment | 44 | 64 Bit | Parameter zur Fragmentierung | RFC 2460 |
Authentication Header (AH) | 51 | variabel | Daten zur Vertraulichkeit (IPsec) | RFC 4302 |
Encapsulating Security Payload (ESP) | 50 | variabel | Daten zur Verschlüsselung (IPsec) | RFC 4303 |
Destination Options | 60 | variabel | Optionen* nur vom Zielrechner zu beachten
|
RFC 2460 |
Mobility | 135 | variabel | Daten für Mobile IPv6 | RFC 6275 |
No Next Header | 59 | leer | Platzhalter* zeigt Ende eines Header-Stapels an
|
RFC 2460
|
Next-Header
Alle Extension Headers enthalten ein Next-Header-Feld, in dem * der nächste Extension Header oder
- das Upper Layer Protocol genannt wird
Größen immer Vielfache von 64 Bit* Speicherzugriffe im Router beschleunigen
- die meisten Felder der Kopfdatenbereiche sind auf 64-Bit-Grenzen ausgerichtet
Keine Prüfsummen
Es werden keine Prüfsummen über die IP-Kopfdaten berechnet* im Gegensatz zu IPv4
- Fehlerkorrektur auf Schichten 2 und 4