Zum Inhalt springen

IPv6/Header: Unterschied zwischen den Versionen

Aus Foxwiki
 
(93 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''IPv6/Header'''
'''IPv6/Header''' Aufbau des Protokollkopfes von [[IPv6]]


== Beschreibung ==
=== Beschreibung ===
=== Feste Länge ===
; IPv6-Header hat eine feste Größe von 40 Byte (320 Bit)
Anders als IPv4
* [[IPv4/Header]] hat eine variable Größe
* 40 Byte (320 Bit)
* inkl. 32 Byte für Absender- und Empfängeradresse


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


=== Header-Felder ===
=== Header-Felder ===
{| class="wikitable options big col2center"
{| class="wikitable options big col2center"
|-
|-
! Feld !! Länge (bit) !! Inhalt
! Feld !! Länge (bit) !! Inhalt
|-
|-
| | Version
| | Version
Zeile 20: Zeile 20:
| | Traffic Class
| | Traffic Class
| | 8
| | 8
| | Für Quality of Service (QoS) verwendeter Wert. Eine Art Prioritätsvergabe.
| | Quality of Service (QoS) Priorisierung ([[RFC/2474|RFC/2474]])
|-
|-
| | Flow Label
| | Flow Label
Zeile 28: Zeile 28:
| | Payload Length
| | Payload Length
| | 16
| | 16
| | Länge des IPv6-Paketinhaltes (ohne Kopfdatenbereich, aber inklusive der Erweiterungs-Kopfdaten) in Byte
| | Länge der Daten nach dem IPv6 Header; Länge des IPv6-Paketinhaltes (ohne Kopfdatenbereich, aber inklusive der Erweiterungs-Kopfdaten) in Byte
|-
|-
| | Next Header
| | Next Header
| | 8
| | 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).
| | 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
| | Hop Limit
| | 8
| | 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.
| | 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
| | Source Address
Zeile 45: Zeile 47:
| | 128
| | 128
| | Adresse des Empfängers
| | Adresse des Empfängers
|-
|-
|Summe (bit)
|'''360'''
|}
|}


== Vereinfachung des Headers ==
=== Vereinfachung des Headers ===
[[File:img-006-001.png]]
 
; Enthält nur grundlegende Forwarding-Information
; Enthält nur grundlegende Forwarding-Information
* Zusätzliche Informationen in variablen zusätzlichen Erweiterungs-Headern, welche durch das "Next Header" Feld identifiziert werden
Zusätzliche Informationen in variablen zusätzlichen [[Erweiterungs-Headern]]
* Trotz vierfacher IPv6-Adresslänge (16 Byte) nur doppelte Headerlänge
* welche durch das "Next Header" Feld identifiziert werden


=== IPv6 (Felder)===
Trotz vierfacher IPv6-Adresslänge (16 Byte) nur doppelte Headerlänge
{|
! style="text-align:center !important; font-weight: normal;" "width="3%"| Byte/Bin
! width="12%"| 00–03
! 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 big 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 big options"
{| class="wikitable options"
|-
|-
! Option !! Beschreibung
! Option !! Beschreibung
|-
|-
| HL || IPv6Header eine feste Länge hat
| [[HL]] || IPv6Header eine feste Länge hat
|-
|-
| Protocol || Feld Next-Header angibt welches Protokoll auf der Transportschicht verwendet wird.
| [[Protocol]] || Feld Next-Header angibt welches Protokoll auf der Transportschicht verwendet wird.
|-
|-
| Felder zur</br>Fragmentierung || IPv6 Fragmentierung wird anders handhabt, IPv6-Router fragmentieren keine Pakete, sondern schicken der Quelle eine Nachricht kleinere Pakete zu schicken.
| 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.
|-
|-
| 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
| [[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 ||
| [[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 ===
{| class="wikitable big options col2right"
|-
! 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
|}
=== 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]]


<noinclude>
<noinclude>


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


== Extension Headers ==
=== Trace Files ===
[[IPv6/Header/Extension]]
; IPv6 Header
[[File:img-011-005.png|800px]]
 
; IPv4 und IPv6 Header im Vergleich
[[File:img-012-006.png|800px]]


== Anhang ==
== Anhang ==
Zeile 299: Zeile 152:
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
* [[Maximum Transmission Unit]]
* [[Maximum Transmission Unit]]
* [[IPv4/Header/Format]]


=== Dokumentation ===
=== Dokumentation ===
==== RFC ====
==== RFC ====
{| class="wikitable big options col3center"
{| class="wikitable big options col1center col3center"
|-
|-
! RFC !! Titel !! Date !! Status
! RFC !! Titel !! Date !! Status
Zeile 309: Zeile 163:
|-
|-
| [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]
| [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]
|-
| [https://www.rfc-editor.org/info/rfc9673 9673] || IPv6 Hop-by-Hop Options Processing Procedures || 2024 || Proposed Standard
|}
|}



Aktuelle Version vom 28. Mai 2025, 09:01 Uhr

IPv6/Header Aufbau des Protokollkopfes von IPv6

Beschreibung

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

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 variablen zusätzlichen Erweiterungs-Headern

  • welche durch das "Next Header" Feld identifiziert werden

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

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, in IPv6 Hop-by-Hop Option Header
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 für Experimente und Testzwecke
255 Reserviert

Trace Files

IPv6 Header

IPv4 und IPv6 Header im Vergleich

Anhang

Siehe auch

Dokumentation

RFC

RFC Titel Date Status
2460 Internet Protocol, Version 6 (IPv6) Specification 1998 Obsoleted by 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