Zum Inhalt springen

IPv6/Header: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „Obsoleted by“ durch „Ersetzt durch“
 
(218 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''IPv6/Header'''
'''IPv6/Header''' - Aufbau des Protokollkopfes von [[IPv6]]


== Beschreibung ==
=== Beschreibung ===
; Vereinfachung des Headers
; IPv6-Header hat eine feste Größe von 40 Byte (320 Bit)
[[File:img-006-001.png|mini|400px]]
* [[IPv4/Header]] hat eine variable Größe
* 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


Trotz vierfacher IPv6-Adresslänge (16 Byte) nur doppelte Headerlänge


=== IPv6 Header ===
{{:IPv6/Header/Format}}
[[IPv6/Header/Format]]


=== IPv6 (bit) ===
=== Header-Felder ===
{| class="header" border="1" cellpadding="4" cellspacing="0" style="text-align:center;margin:auto;"
{| class="wikitable options big col2center"
! style="text-align:center !important; font-weight: normal;" "width="3%"| Byte/Bin
! style="text-align:center !important; font-weight: normal;" "width="3%"| 00 
! style="text-align:center !important; font-weight: normal;" "width="3%"| 01
! style="text-align:center !important; font-weight: normal;" "width="3%"| 02
! style="text-align:center !important; font-weight: normal;" "width="3%"| 03
! style="text-align:center !important; font-weight: normal;" "width="3%"| 04
! style="text-align:center !important; font-weight: normal;" "width="3%"| 05
! style="text-align:center !important; font-weight: normal;" "width="3%"| 06
! style="text-align:center !important; font-weight: normal;" "width="3%"| 07
! style="text-align:center !important; font-weight: normal;" "width="3%"| 08
! style="text-align:center !important; font-weight: normal;" "width="3%"| 09
! style="text-align:center !important; font-weight: normal;" "width="3%"| 10
! style="text-align:center !important; font-weight: normal;" "width="3%"| 11
! style="text-align:center !important; font-weight: normal;" "width="3%"| 12
! style="text-align:center !important; font-weight: normal;" "width="3%"| 13
! style="text-align:center !important; font-weight: normal;" "width="3%"| 14
! style="text-align:center !important; font-weight: normal;" "width="3%"| 15
! style="text-align:center !important; font-weight: normal;" "width="3%"| 16
! style="text-align:center !important; font-weight: normal;" "width="3%"| 17
! style="text-align:center !important; font-weight: normal;" "width="3%"| 18
! style="text-align:center !important; font-weight: normal;" "width="3%"| 19
! style="text-align:center !important; font-weight: normal;" "width="3%"| 20
! style="text-align:center !important; font-weight: normal;" "width="3%"| 21
! style="text-align:center !important; font-weight: normal;" "width="3%"| 22
! style="text-align:center !important; font-weight: normal;" "width="3%"| 23
! style="text-align:center !important; font-weight: normal;" "width="3%"| 24
! style="text-align:center !important; font-weight: normal;" "width="3%"| 25
! style="text-align:center !important; font-weight: normal;" "width="3%"| 26
! style="text-align:center !important; font-weight: normal;" "width="3%"| 27
! style="text-align:center !important; font-weight: normal;" "width="3%"| 28
! style="text-align:center !important; font-weight: normal;" "width="3%"| 29
! style="text-align:center !important; font-weight: normal;" "width="3%"| 30
! style="text-align:center !important; font-weight: normal;" "width="3%"| 31
|-
|-
| 1
! Feld !! Länge (bit) !! Inhalt
| style="background-color:#d6c4ff;" colspan="4"| [[IPv6/Header#Version|Version]]
| style="background-color:#dfffcb;" colspan="8"| [[IPv6/Header#Traffic Class|Traffic Class]]
| style="background-color:#ffbfc0;" colspan="20"| [[IPv6/Header#Flow Label|Flow Label]]
! style="text-align:center !important; font-weight: normal;" "width="3%" rowspan="10"| H</br>e</br>a</br>d</br>e</br>r
|-
|-
| 2
| | Version
| style="background-color:#fff1b0;" colspan="16"| [[IPv6/Header#Payload Length|Payload Length]]
| | 4
| style="background-color:#d6c4ff;" colspan="8"| [[IPv6/Header#Next Header|Next Header]]
| | IP-Versionsnummer (6)
| style="background-color:#fff1b0;" colspan="8"| [[IPv4/Header#Hop Limit|Hop Limit]]
|-
|-
| 3
| | Traffic&nbsp;Class
| style="background-color:#d1ffac;" colspan="32" | [[IPv6/Header#Sender-IP-Adresse|Sender-IP-Adresse]]
| | 8
| | Quality of Service (QoS) Priorisierung ([[RFC/2474|RFC/2474]])
|-
|-
| 4
| | Flow&nbsp;Label
| style="background-color:#d1ffac;" colspan="32" |  
| | 20
| | Ebenfalls für QoS oder Echtzeitanwendungen verwendeter Wert. Pakete, die dasselbe Flow Label tragen, werden gleich behandelt.
|-
|-
| 5
| | Payload&nbsp;Length
| style="background-color:#d1ffac;" colspan="32" |
| | 16
| | Länge der Daten nach dem IPv6 Header; Länge des IPv6-Paketinhaltes (ohne Kopfdatenbereich, aber inklusive der Erweiterungs-Kopfdaten) in Byte
|-
|-
| 6
| | Next&nbsp;Header
| style="background-color:#d1ffac;" colspan="32" |
| | 8
| | 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.&nbsp;B. TCP (Typ 6) oder UDP (Typ 17).
Protokoll Nummer oder Extension-Header
|-
|-
| 7
| | Hop&nbsp;Limit
| style="background-color:#ffbfc0;" colspan="32" | [[IPv6/Header#Empfänger-IP-Adresse|Empfänger-IP-Adresse]]
| | 8
| | 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.
Anzahl der Routerhops
|-
|-
| 8
| | Source&nbsp;Address
| style="background-color:#ffbfc0;" colspan="32" |  
| | 128
| | Adresse des Senders
|-
|-
| 9
| | Destination&nbsp;Address
| style="background-color:#ffbfc0;" colspan="32" |  
| | 128
| | Adresse des Empfängers
|-
|-
| 10
|Summe (bit)
| style="background-color:#ffbfc0;" colspan="32" |
|'''360'''
|-
| 11+
| style="background-color:#d9e4ff;" colspan="32" | [[IPv6/Header#Payload|Payload]]
|}
|}


=== IPv6 (Felder)===
=== Vereinfachung des Headers ===
{| border="1" cellpadding="4" cellspacing="0" style="text-align:center;margin:auto;"
; Enthält nur grundlegende Forwarding-Information
! style="text-align:center !important; font-weight: normal;" "width="3%"| Byte/Bin
Zusätzliche Informationen in [[Erweiterungs-Header]]n
! width="12%"| 00–03
* In "[[#Next Header]]" angegeben
! width="12%"| 04–07
! width="17%"| 08–11
! width="15%"| 12–15
! width="12%"| 16-19
! width="12%"| 20–23
! width="12%"| 24–27
! width="12%"| 28–31
|-
| 01
| style="background-color:#d6c4ff;" colspan="1"| [[IPv6/Header#Version|Version]]
| style="background-color:#dfffcb;" colspan="2"| [[IPv6/Header#Traffic Class|Traffic Class]]
| style="background-color:#ffbfc0;" colspan="5"| [[IPv6/Header#Flow Label|Flow Label]]
! style="text-align:center !important; font-weight: normal;" "width="3%" rowspan="4"| H</br>e</br>a</br>d</br>e</br>r
|-
| 02
| style="background-color:#fff1b0;" colspan="4"| [[IPv6/Header#Payload Length|Payload Length]]
| style="background-color:#d6c4ff;" colspan="2"| [[IPv6/Header#Next Header|Next Header]]
| style="background-color:#fff1b0;" colspan="2"| [[IPv4/Header#Hop Limit|Hop Limit]]
|-
| 03 - 06
|style="background-color:#d1ffac;" colspan="8" | Quell-IP-Adresse
|-
| 07 - 10
|style="background-color:#ffbfc0;" colspan="8"| Ziel-IP-Adresse
|-
| 11+
| style="background-color:#d9e4ff;" colspan="8" | [[IPv6/Header#Payload|Payload]]
|}


== IPv4 Header Felder ==
==== Header im Vergleich ====
{| class="wikitable sortable options"
[[File:img-013-007.png|900px]]
|-
! 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 ===
==== Entfallene Felder ====
{| class="wikitable sortable options"
{| class="wikitable options big"
|-
|-
! Option !! Beschreibung
! Option !! Beschreibung
|-
|-
| HL || weil der IPv6Header eine feste Länge hat
| [[HL]] || IPv6Header eine feste Länge hat
|-
|-
| Protocol || wurde herausgenommen, weil das Feld Next-Header angibt welches Protokoll auf der Transportschicht verwendet wird.
| [[Protocol]] || Feld Next-Header angibt welches Protokoll auf der Transportschicht verwendet wird.
|-
|-
| Alle Felder in Bezug auf Fragmentierung || wurden weggelassen, weil IPv6 Fragmentierung anders handhabt
| Felder zur</br>[[IP/Fragmentierung]] || IPv6 Fragmentierung wird anders handhabt, IPv6-Router fragmentieren keine Pakete, sondern schicken der Quelle eine Nachricht kleinere Pakete zu schicken.
* IPv6-Router fragmentieren keine Pakete, sondern schicken der Quelle eine Nachricht kleinere Pakete zu schicken.
|-
|-
| Checksum || entfernt, weil die Berechnung der Prüfsumme bei jedem Hop sich negativ auf die Performance auswirkt
| [[Checksum]] || die Berechnung der Prüfsumme bei jedem Hop sich negativ auf die Performance auswirkt, auf den Schichten über und unter der Vermittlungsschicht werden bereits Prüfsummen berechnet
* auf den Schichten über und unter der Vermittlungsschicht werden bereits Prüfsummen berechnet.
|-
|-
| Padding ||
| [[Padding]] ||
|}
 
=== Extension-Prinzip ===
[[File:ipv6HeaderExtension.png|mini|300px]]
; IPv6-Header ist durch Extension-Prinzip flexibel erweiterbar
 
; Per Hop ausgewertete Header
* Hop-by-Hop Options (z.B. Jumbogramm Notifier)
* Routing Information Header
 
; Nur im Endsystem ausgewertete Header
* Fragmentation Header
* Authetication Header
 
; Header-Extensions u.U. auf Applikationsniveau direkt nutzbar
* Die meisten IPv6 Pakete bestehen nur aus IPv6- und TCP Header sowie Daten
 
== 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
{| class="wikitable sortable options"
|-
! Feld
! Länge
! Inhalt
|-
|| Version
|| 4&nbsp;Bit
|| IP-Versionsnummer (6)
|-
|| Traffic&nbsp;Class
|| 8&nbsp;Bit
|| Für Quality of Service (QoS) verwendeter Wert. Eine Art Prioritätsvergabe.
|-
|| Flow&nbsp;Label
|| 20&nbsp;Bit
|| Ebenfalls für QoS oder Echtzeitanwendungen verwendeter Wert. Pakete, die dasselbe Flow Label tragen, werden gleich behandelt.
|-
|| Payload&nbsp;Length
|| 16&nbsp;Bit
|| Länge des IPv6-Paketinhaltes (ohne Kopfdatenbereich, aber inklusive der Erweiterungs-Kopfdaten) in Byte
|-
|| Next&nbsp;Header
|| 8&nbsp;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.&nbsp;B. TCP (Typ 6) oder UDP (Typ 17).
|-
|| Hop&nbsp;Limit
|| 8&nbsp;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&nbsp;Address
|| 128&nbsp;Bit
|| Adresse des Senders
|-
|| Destination&nbsp;Address
|| 128&nbsp;Bit
|| Adresse des Empfängers
|}
|}
=== Next Header Werte ===
[[File:img-010-003.png|600px]]
[[File:img-010-004.png|600px]]
== IPv6 Header in einem Trace File ==
[[File:img-011-005.png|800px]]
== IPv4 und IPv6 Header im Vergleich ==
[[File:img-012-006.png|800px]]
[[File:img-013-007.png|800px]]
== IPv6-Erweiterungsheader ==
[[IPv6/Header/Erweiterungsheader]]
== Maximum Transmission Unit (MTU) ==
[[Maximum Transmission Unit]]


<noinclude>
<noinclude>


== Anhang ==
=== Next Header ===
=== Siehe auch ===
{| class="wikitable options col1center big"
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
! Werte !! Beschreibung
==== Dokumentation ====
==== Links ====
===== Projekt =====
===== Weblinks =====
 
[[Kategorie:IPv6/Header]]
 
= TMP =
 
== Der IPv6 Header ==
 
* Definiert im <abbr>RFC</abbr> 2460
* fix 40 Bytes
* davon je 16 Bytes  für Absender- und Empfängeradresse
 
=== Die Felder im IPv6 Header ===
{| class="wikitable"
!Feldname
!Länge
!Inhalt des Feldes
|-
| colspan="3" |Die Felder im IPv6 Header
|-
|-
|Version
| 0 ||in IPv4 reserviert und nicht benutzt
|4 bits
|6 (0110, 0x6)
|-
|-
|Traffic Class
| 1 || |[[ICMP]] IPv4
|1 Byte
|Priorisierung (s. <nowiki>RFC 2474</nowiki>)
|-
|-
|Flow Label
| 2 || |[[IGMP]] IPv4
|20 bits
|für gleichartige Pakete -> effizientes Routing
|-
|-
|Payload Length
| 4 || IP in IP encapsulation
|2 Bytes
|Länge der Daten nach dem IPv6 Header
|-
|-
|Next Header
| 6 || |[[TCP]]
|1 Byte
|Protokoll Nummer oder Extension-Header
|-
|-
|Hop Limit
| 8 || |[[EGP]]
|1 Byte
|Anzahl der Routerhops
|-
|-
|Quelladresse
| 9 || |[[IGP]] (Cisco [[IGRP]])
|16 Bytes
|
|-
|-
|Zieladresse
| 17 || |[[UDP]]
|16 Bytes
|endgültiger Empfänger <abbr>bzw.</abbr> Adresse des nächsten Hops (<abbr>z.B.</abbr> wenn ein Routing Header vorhanden ist)
|-
|-
!Summe der Bytes
| 41 || IPv6
!40
|
|}
Die aktuelle Liste aller Protokoll- und Headerwerte findet man bei der IANA.
{| class="wikitable"
!Wert
!Beschreibung
|-
|-
| colspan="2" |Next Header Werte
| 43 || |Routing Header
|-
|-
|0 (0, 0x0)
| 44 || |Fragmentation Header
|in IPv4 reserviert und nicht benutzt
in IPv6 Hop-by-Hop Option   Header
|-
|-
|1 (0001, 0x1)
| 45 || [[IDRP]]
|<abbr>ICMP</abbr> IPv4
|-
|-
|2 (0010, 0x2)
| 46 || |[[RSVP]]
|<abbr>IGMP</abbr> IPv4
|-
|-
|4 (0100, 0x4)
| 47 || [[GRE]]
|IP in IP encapsulation
|-
|-
|6 (0110, 0x6)
| 50 || |Encryted Security Payload Header
|<abbr>TCP</abbr>
|-
|-
|8 (1000, 0x8)
| 51 || Authentication Header
|<abbr>EGP</abbr>
|-
|-
|9 (1001, 0x9)
| 58 || ICMPv6
|<abbr>IGP</abbr> (Cisco <abbr>IGRP</abbr>)
|-
|-
|17 (0001 0001, 0x11)
| 59 || No Next Header für IPv6
|<abbr>UDP</abbr>
|-
|-
|41 (0010 1001, 0x29)
| 60 || |Destination Options Header
|IPv6
|-
|-
|43 (0010 1011, 0x2B)
| 88 || [[EIGRP]] v4 und EIGRPv6
|Routing Header
|-
|-
|44 (0010 1100, 0x2C)
| 89 || [[OSPF]]
|Fragmentation Header
|-
|-
|45 (0010 1101, 0x2D)
| 108 || IP Payload Compression Protocol
|<abbr>IDRP</abbr>
|-
|-
|46 (0010 1110, 0x2E)
| 115 || [[L2TP]]
|<abbr>RSVP</abbr>
|-
|-
|47 (0010 1111, 0x2F)
| 132 || [[SCTP]]
|<abbr>GRE</abbr>
|-
|-
|50 (0011 0010, 0x32)
| 135 || Mobility Header (Draft)
|Encryted Security Payload Header
|-
|-
|51 (0011 0011, 0x33)
| 136-252 || nicht zugewiesen
|Authentication Header
|-
|-
|58 (0011 1010, 0x3A)
| 253-254 || Experimente und Testzwecke
|ICMPv6
|-
|-
|59 (0011 1011, 0x3B)
| 255 || Reserviert
|No Next Header für IPv6
|-
|60 (0011 1100, 0x3C)
|Destination Options Header
|-
|88 (0101 1000, 0x58)
|<abbr>EIGRP</abbr>v4 und EIGRPv6
|-
|89 (0101 1001, 0x59)
|<abbr>OSPF</abbr>
|-
|108 (0110 1100, 0x6C)
|IP Payload Compression Protocol
|-
|115 (0111 0011, 0x73)
|<abbr>L2TP</abbr>
|-
|132 (1000 0100, 0x84)
|<abbr>SCTP</abbr>
|-
|135 (1000 0111, 0x87)
|Mobility Header (Draft)
|-
|136-252
|nicht zugewiesen
|-
|253-254
|für Experimente und Testzwecke
|-
|255 (1111 1111, 0xFF)
|Reserviert
|}
|}


=== Extension Header ===
=== Trace Files ===
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.
; IPv4 und IPv6 Header im Vergleich
[[File:img-012-006.png|950px]]


Es sind 6 Basis Extension Header definiert, die immer implementiert sein müssen:
== Anhang ==
 
=== Siehe auch ===
* Hop-by-Hop Options Header (<nowiki>RFC 2460</nowiki>)
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
* Routing Header (<nowiki>RFC 2460</nowiki>)
* [[Maximum Transmission Unit]]
* Fragment Header (<nowiki>RFC 2460</nowiki>)
* [[IPv4/Header/Format]]
* Destination Options Header (<nowiki>RFC 2460</nowiki>)
* Authentication Header (<nowiki>RFC 4302</nowiki>)
* Encapsulating Security Payload Header (<nowiki>RFC 4303</nowiki>)
 
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 ====
=== Dokumentation ===
{| class="wikitable"
==== RFC ====
!Feldname
{| class="wikitable big options col1center col3center"
!Länge
!Inhalt des Feldes
|-
|-
| colspan="3" |Felder des Hop-by-Hop Options Header
! RFC !! Titel !! Date !! Status
|-
|-
|Next Header
| [https://www.rfc-editor.org/info/2460 2460] || Internet Protocol, Version 6 (IPv6) Specification || 1998 || Ersetzt durch [https://www.rfc-editor.org/info/rfc8200 RFC 8200]
|1 Byte
|Typ des folgenden Headers
|-
|-
|Header Extension Length
| [https://www.rfc-editor.org/info/rfc8200 8200] || Internet Protocol, Version 6 (IPv6) Specification || 2017 || Updated by [https://www.rfc-editor.org/info/rfc9673 RFC 9673]
|1 Byte
|Länge des Hop-by-Hop Extension Headers in 8 Byte Einheiten ohne die ersten 8 Byte
|-
|-
|Options
| [https://www.rfc-editor.org/info/rfc9673 9673] || IPv6 Hop-by-Hop Options Processing Procedures || 2024 || [[Proposed Standard]]
|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
|}
|}


===== Option Jumbogramm (<nowiki>RFC 2675</nowiki>) =====
=== Links ===
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.
==== Weblinks ====
 
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.
 
===== Option Alert Header (<nowiki>RFC 2711</nowiki>) =====
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 ====
Der Fragment Header wird im vorhergegangenen Header mit dem Wert 44 angezeigt.
{| class="wikitable"
!Feldname
!Länge
!Inhalt des Feldes
|-
| colspan="3" |Format des Fragment Headers
|-
|Next Header
|1 Byte
|Erster Header Type des fragmentierbaren Teils des ursprünglichen Pakets
|-
|Reserved
|1 Byte
|auf 0 gesetzt
|-
|Fragement Offset
|13 bits
|Offset der Daten in 8 Byte Einheiten
|-
|Reserved
|2 bits
|auf 0 gesetzt
|-
|M-Flag
|1 bit
|0 -> letztes Paket, 1 -> weitere Pakete
|-
|Identification
|4 Bytes
|kennzeichnet den Fragment Set
|}
Die Fragmentierung erfolgt ausschließlich beim sendenden Host, der vorher mittels Path <abbr>MTU</abbr> Discovery die größtmögliche Paketgröße ermittelt hat.


[[Kategorie:IPv6/Header]]


</noinclude>
</noinclude>

Aktuelle Version vom 5. Juli 2025, 09:15 Uhr

IPv6/Header - Aufbau des Protokollkopfes von IPv6

Beschreibung

IPv6-Header hat eine feste Größe von 40 Byte (320 Bit)

Trotz vierfacher IPv6-Adresslänge (16 Byte) nur doppelte Headerlänge

IPv6 Header

00-03 04-07 08-11 12-15 16-19 20-23 24-27 28-31
Version Traffic Class Flow Label H
e
a
d
e
r
Payload Length Next Header Hop Limit
Source-Address
Destination-Address

Payload


IPv6/Header/Format

Header-Felder

Feld Länge (bit) Inhalt
Version 4 IP-Versionsnummer (6)
Traffic Class 8 Quality of Service (QoS) Priorisierung (RFC/2474)
Flow Label 20 Ebenfalls für QoS oder Echtzeitanwendungen verwendeter Wert. Pakete, die dasselbe Flow Label tragen, werden gleich behandelt.
Payload Length 16 Länge der Daten nach dem IPv6 Header; Länge des IPv6-Paketinhaltes (ohne Kopfdatenbereich, aber inklusive der Erweiterungs-Kopfdaten) in Byte
Next Header 8 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).

Protokoll Nummer oder Extension-Header

Hop Limit 8 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.

Anzahl der Routerhops

Source Address 128 Adresse des Senders
Destination Address 128 Adresse des Empfängers
Summe (bit) 360

Vereinfachung des Headers

Enthält nur grundlegende Forwarding-Information

Zusätzliche Informationen in Erweiterungs-Headern

Header im Vergleich

Entfallene Felder

Option Beschreibung
HL IPv6Header eine feste Länge hat
Protocol Feld Next-Header angibt welches Protokoll auf der Transportschicht verwendet wird.
Felder zur
IP/Fragmentierung
IPv6 Fragmentierung wird anders handhabt, IPv6-Router fragmentieren keine Pakete, sondern schicken der Quelle eine Nachricht kleinere Pakete zu schicken.
Checksum die Berechnung der Prüfsumme bei jedem Hop sich negativ auf die Performance auswirkt, auf den Schichten über und unter der Vermittlungsschicht werden bereits Prüfsummen berechnet
Padding


Next Header

Werte Beschreibung
0 in IPv4 reserviert und nicht benutzt
1 ICMP IPv4
2 IGMP IPv4
4 IP in IP encapsulation
6 TCP
8 EGP
9 IGP (Cisco IGRP)
17 UDP
41 IPv6
43 Routing Header
44 Fragmentation Header
45 IDRP
46 RSVP
47 GRE
50 Encryted Security Payload Header
51 Authentication Header
58 ICMPv6
59 No Next Header für IPv6
60 Destination Options Header
88 EIGRP v4 und EIGRPv6
89 OSPF
108 IP Payload Compression Protocol
115 L2TP
132 SCTP
135 Mobility Header (Draft)
136-252 nicht zugewiesen
253-254 Experimente und Testzwecke
255 Reserviert

Trace Files

IPv4 und IPv6 Header im Vergleich

Anhang

Siehe auch

Dokumentation

RFC

RFC Titel Date Status
2460 Internet Protocol, Version 6 (IPv6) Specification 1998 Ersetzt durch RFC 8200
8200 Internet Protocol, Version 6 (IPv6) Specification 2017 Updated by RFC 9673
9673 IPv6 Hop-by-Hop Options Processing Procedures 2024 Proposed Standard

Links

Weblinks