Zum Inhalt springen

IPv6/Header/Extension: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Markierung: Zurückgesetzt
K Textersetzung - „Obsoleted by“ durch „Ersetzt durch“
 
(327 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''topic''' - Kurzbeschreibung
'''IPv6/Header/Extension''' - IPv6 Extension Header


== Beschreibung ==
== Beschreibung ==
; IPv6-Erweiterungsheader
Zusätzliche Informationen für die Netzwerkschicht (IP-Layer)
Einige der gestrichenen Felder sind manchmal doch noch notwendig
* für diese Fälle sind derzeit 6 Erweiterungsheader definiert,
* die benutzt werden um zusätzliche Informationen zu kodieren.
* Alle Erweiterungsheader sind optional.
* Werden mehrere benutzt müssen sie direkt nach dem Hauptheader erscheinen.


; Optionen für Teilstrecken
; IPv6-Header durch Extension-Header erweiterbar
* Dieser Header wird für Informationen benutzt die alle Router auf der Strecke prüfen müssen.
Werden bei Bedarf eingefügt
* Bisher ist eine Option definiert, die Unterstützung von Jumbogrammen, also Paketen die größer als 64 kByte sind.
* Zusätzliche Funktionen
* Routing
* Zukünftige Erweiterungen
** Mit diesem Header kann eine Route vollständig oder teilweise spezifiziert werden.
** Fragmentierung Dieser Header enthält Optionen für die Fragmentierung von Paketen.
** Nanu, hatten wir nicht eben gesagt IPv6 fragmentiert nicht? Im Prinzip ja.
** Der Quellhost darf Pakete immer noch fragmentieren.
** Nur die Router auf der Strecke sind nicht mehr dazu berechtigt.
* Authentifikation
** Der Authentifizierungsheader bietet einen Mechanismus, durch den der Empfänger sicher sein kann, das der in der Adresse angegebene Sender auch tatsächlich der ist, der er behauptet zu sein.
* Verschlüsselte Sicherheitsdaten
** Dieser Header enthält Informationen über das verwendete Verschlüsselungsverfahren.


; Optionen für Ziele
; Folgen direkt auf den IPv6-Header
* Dieser Header ist für Optionen vorgesehen, die nur vom Zielhost interpretiert werden müssen.
Außerhalb des IP-Headers
* Er wird derzeit nicht benutzt.
* Vielfaches von 64 Bit
* Speicherzugriffe im Router beschleunigen


[[File:img-016-008.png|700px]]
; Die meisten IPv6-Pakete kommen ohne Extension Header aus
Nur IPv6-Header, TCP-Header und Daten


[[File:img-017-009.png|800px]]
; Typen
 
{| class="wikitable options big"
 
|-
[[File:img-018-010.png|800px]]
! Typ !! Beschreibung
 
|-
=== Die meisten IPv6-Pakete sollten ohne Extension Headers auskommen ===
| [[#Hop-to-Hop|Hop-to-Hop]] || '''Von jedem [[Hop]] auzuwerten'''
* Extension Headers können bis auf den Destination Options Header nur einmal in jedem Paket vorkommen
* [[Hop-by-Hop Options Header]]
* Befindet sich ein Routing Extension Header im Paket, so darf davor ein weiterer Destination Options Header stehen
* [[Routing Header]] Information
* Die Reihenfolge bei einer Verkettung ist bis auf die genannte Ausnahme die der folgenden Tabelle
* Wie im Next Header Feld verwiesen sind einige Extension Headers und ein Platzhalter definiert
 
{| class="wikitable options"  
|-  
! Name
! Typ
! Größe
! Beschreibung
! RFCs
|-  
|| Hop-By-Hop Options
|| 0
|| variabel
|| Optionenvon allen IPv6-Geräten zu beachtenwird z.B. für Jumbograms benutzt
|| RFC 2460RFC 2675
|-  
|| Routing
|| 43
|| variabel
|| Hier kann der Weg des Paketes durch das Netzwerk beeinflusst werdenwird u.a. für Mobile IPv6 verwendet
|| RFC 2460RFC 6275RFC 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
|| Optionennur vom Zielrechner zu beachten
|| RFC 2460
|-
|| Mobility
|| 135
|| variabel
|| Daten für Mobile IPv6
|| RFC 6275
|-
|| No Next Header
|| 59
|| leer
|| Platzhalterzeigt Ende eines Header-Stapels an
|| RFC 2460
|-
|-
| [[#End-to-End|End-to-End]] || '''Nur vom Endsystem auszuwerten'''
* [[Fragmentation Header]]
* [[Authentication Header]]
* [[Encapsulation header]]
|}
|}


=== Verwendung von Extension Headers ===
=== Hop-to-Hop ===
[[File:img-021-011.png|600px]]
; Optionen für Teilstrecken
* Informationen, die alle Router auf der Strecke prüfen


=== Reihenfolge der Extension Header ===
; Bisher ist eine Option definiert
# IPv6 Header
* Unterstützung von Jumbogrammen (Paketen größer 64 kByte)
# Hop-by-Hop Options Header (für Optionen, welche von Routern auf dem Pfad zum endgültigen Empfänger verarbeitet werden müssen)
# Routing Header
# Fragment Header
# Authentication Header
# Encapsulating Security Payload Header
# Destination Options Header (für Optionen, welche vom endgültigen Empfänger des Paketes verarbeitet werden müssen)
# Upper-Layer Header


=== Extension Headers ===
; Routing
; Next-Header
* Mit diesem Header kann eine Route vollständig oder teilweise spezifiziert werden
* 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
=== End-to-End ===
* Es werden keine Prüfsummen über die IP-Kopfdaten berechnet
; Optionen für Ziele
* im Gegensatz zu IPv4
Optionen, die nur vom Zielhost interpretiert werden
* Fehlerkorrektur auf Schichten 2 und 4
 
=== Format des Hop-by-Hop Options Headers ===
[[File:img-024-012.png|700px]]
 
=== Format des Routing Headers ===
[[File:img-025-013.png|700px]]
 
<noinclude>
== Anhang ==
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
==== Links ====
===== Weblinks =====
 
= TMP =
=== 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
 
=== Next Header Werte ===
[[File:img-010-003.png|600px]]
[[File:img-010-004.png|600px]]
 
= TMP =
=== Extension Header ===
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.
 
Es sind 6 Basis Extension Header definiert, die immer implementiert sein müssen:


* Hop-by-Hop Options Header (<nowiki>RFC 2460</nowiki>)
; Authentifikation
* Routing Header (<nowiki>RFC 2460</nowiki>)
Der Authentifizierungsheader bietet einen Mechanismus, durch den der Empfänger sicher sein kann, das der in der Adresse angegebene Sender auch tatsächlich der ist, der er behauptet zu sein
* Fragment Header (<nowiki>RFC 2460</nowiki>)
* 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:
; Verschlüsselte Sicherheitsdaten
Dieser Header enthält Informationen über das verwendete Verschlüsselungsverfahren


# IPv6 Header
== Extension Headers ==
# 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 ====
{| class="wikitable options big col2right col3center"
{| class="wikitable"
!Feldname
!Länge
!Inhalt des Feldes
|-
|-
| colspan="3" |Felder des Hop-by-Hop Options Header
! Name !! Typ !! Größe !! Beschreibung !! RFC
|-
|-
|Next Header
| [[Hop-By-Hop Options]] || 0 || variabel  || Optionenvon allen IPv6-Geräten zu beachtenwird beispielsweise für Jumbograms benutzt || [https://www.rfc-editor.org/rfc/rfc2460 2460] </br> [https://www.rfc-editor.org/rfc/rfc2675 2675]
|1 Byte
|Typ des folgenden Headers
|-
|-
|Header Extension Length
| [[Routing]] || 43 || variabel || Hier kann der Weg des Paketes durch das Netzwerk beeinflusst werde. Wird u.&nbsp;a.&nbsp;für Mobile IPv6 verwendet || [https://www.rfc-editor.org/rfc/rfc2460 2460] </br> [https://www.rfc-editor.org/rfc/rfc6275 6275] </br> [https://www.rfc-editor.org/rfc/rfc5095 5095]
|1 Byte
|Länge des Hop-by-Hop Extension Headers in 8 Byte Einheiten ohne die ersten 8 Byte
|-
|-
|Options
| [[Fragment]] || 44 || 64&nbsp;Bit || Parameter zur Fragmentierung || [https://www.rfc-editor.org/rfc/rfc2460 2460]
|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
| [[Authentication]] ([[AH]]) || 51 || variabel || Daten zur [[Authentifizierung]] ([[IPsec]]) || [https://www.rfc-editor.org/rfc/rfc4302 4302]
|-
|-
|00
| [[Encapsulating Security Payload]] ([[ESP]]) || 50 || variabel || Daten zur [[Verschlüsselung]] ([[IPsec]]) || [https://www.rfc-editor.org/rfc/rfc4303 4303]
|übergehen und Verarbeitung fortführen
|-
|-
|01
| [[Destination Options]] || 60 || variabel || Optionen nur vom Zielrechner zu beachten || [https://www.rfc-editor.org/rfc/rfc2460 2460]
|Paket verwerfen
|-
|-
|10
| [[Mobility]] || 135 || variabel || Daten für Mobile IPv6 || [https://www.rfc-editor.org/rfc/rfc6275 6275]
|Paket verwerfen und ICMPv6 Parameter Problem an den Absender retour schicken
|-
|-
|11
| [[No Next]] || 59 || leer || Platzhalter, zeigt Ende eines Header-Stapels an || [https://www.rfc-editor.org/rfc/rfc2460 2460]
|Paket verwerfen und ICMPv6 Parameter Problem an den Absender retour schicken, falls Empfänger keine Multicast- Adresse ist
|}
|}


===== Option Jumbogramm (<nowiki>RFC 2675</nowiki>) =====
=== Auftreten ===
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.
=== Basis Extension Header ===
Von jedem IPv6-Node zu implementieren
* IPv6-Header  
* Hop-by-Hop Options
* Routing
* Fragment
* Destination Options
* Authentication
* Encapsulating Security Payload


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.
Extension Header dürfen höchstens einmal vorkommen


===== Option Alert Header (<nowiki>RFC 2711</nowiki>) =====
; Ausnahme
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.
: Destination Options Header dürfen zweimal vorkommen
:* Befindet sich ein Routing Extension Header im Paket, so darf davor ein weiterer Destination Options Header stehen


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:
=== Reihenfolge ===
{| class="wikitable"
[[File:ipv6headerReihenfolge.png|mini|500px]]
!Inhalt Value Feld
{| class="wikitable options"
!Bedeutung
|-
|-
| colspan="2" |Werte im Value Feld
! !! Header !! Type
|-
|-
|0
| 1 || [[IPv6/Header]] || Hop-to-Hop
|Paket enthält eine MLD-Nachricht
|-
|-
|1
|
|Paket enthält eine RSVP-Nachricht
|-
|-
|2
| 2 || [[Hop-by-Hop Options]] || Hop-to-Hop
|Paket enthält eine Active Networks Nachricht
|-
|-
|3 - 35
| 3 || [[Routing]] || Hop-to-Hop
|Paket enthält einen Aggregated Reservation Nesting Level (<nowiki>RFC 3175</nowiki>, RSVP)
|-
|-
|36 - 65535
| 4 || [[Fragment]] || Hop-to-Hop
|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
| 5 || [[Authentication]] || End-to-End
|1 Byte
|Beschreibt den Typ des folgenden Headers
|-
|-
|Header Extension Length
| 6 || [[Encapsulating Security Payload]] || End-to-End
|1 Byte
|Länge des Routing Headers in 8 Byte Einheiten, ohne die ersten 8 Byte
|-
|-
|Routing Type
| 7 || [[Destination Options ]] || End-to-End
|1 Byte
|Typ des Routing Headers
|-
|-
|Segments Left
| 8 || [[Upper-Layer]] || End-to-End
|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.
== Anhang ==
=== Siehe auch ===
<div style="column-count:2">
<categorytree hideroot=on mode="pages">IPv6/Header/Extension</categorytree>
</div>


==== Fragment Header ====
----
Der Fragment Header wird im vorhergegangenen Header mit dem Wert 44 angezeigt.
 
{| class="wikitable"
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
!Feldname
 
!Länge
=== RFC ===
!Inhalt des Feldes
{| class="wikitable big options col1center col3center"
|-
|-
| colspan="3" |Format des Fragment Headers
! RFC !! Titel !! Date !! Status
|-
|-
|Next Header
| [https://www.rfc-editor.org/info/rfc2460 2460] || Internet Protocol, Version 6 (IPv6) Specification || 1998 || Ersetzt durch [https://www.rfc-editor.org/info/rfc8200 RFC 8200]
|1 Byte
|Erster Header Type des fragmentierbaren Teils des ursprünglichen Pakets
|-
|-
|Reserved
| [https://www.rfc-editor.org/rfc/rfc2675 2675] || || ||
|1 Byte
|auf 0 gesetzt
|-
|-
|Fragement Offset
| [https://www.rfc-editor.org/rfc/rfc4302 4302] || || ||
|13 bits
|Offset der Daten in 8 Byte Einheiten
|-
|-
|Reserved
| [https://www.rfc-editor.org/rfc/rfc4303 4303] || || ||
|2 bits
|auf 0 gesetzt
|-
|-
|M-Flag
| [https://www.rfc-editor.org/rfc/rfc5095 5095] || || ||
|1 bit
|0 -> letztes Paket, 1 -> weitere Pakete
|-
|-
|Identification
| [https://www.rfc-editor.org/rfc/rfc6275 6275] || || ||
|4 Bytes
|-
|kennzeichnet den Fragment Set
| [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
|}
|}
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]]
=== Links ===
 
==== Weblinks ====
 
[[Kategorie:IPv6/Header/Extension]]
 
</noinclude>
</noinclude>

Aktuelle Version vom 5. Juli 2025, 10:16 Uhr

IPv6/Header/Extension - IPv6 Extension Header

Beschreibung

Zusätzliche Informationen für die Netzwerkschicht (IP-Layer)

IPv6-Header durch Extension-Header erweiterbar

Werden bei Bedarf eingefügt

  • Zusätzliche Funktionen
  • Zukünftige Erweiterungen
Folgen direkt auf den IPv6-Header

Außerhalb des IP-Headers

  • Vielfaches von 64 Bit
  • Speicherzugriffe im Router beschleunigen
Die meisten IPv6-Pakete kommen ohne Extension Header aus

Nur IPv6-Header, TCP-Header und Daten

Typen
Typ Beschreibung
Hop-to-Hop Von jedem Hop auzuwerten
End-to-End Nur vom Endsystem auszuwerten

Hop-to-Hop

Optionen für Teilstrecken
  • Informationen, die alle Router auf der Strecke prüfen
Bisher ist eine Option definiert
  • Unterstützung von Jumbogrammen (Paketen größer 64 kByte)
Routing
  • Mit diesem Header kann eine Route vollständig oder teilweise spezifiziert werden

End-to-End

Optionen für Ziele

Optionen, die nur vom Zielhost interpretiert werden

Authentifikation

Der Authentifizierungsheader bietet einen Mechanismus, durch den der Empfänger sicher sein kann, das der in der Adresse angegebene Sender auch tatsächlich der ist, der er behauptet zu sein

Verschlüsselte Sicherheitsdaten

Dieser Header enthält Informationen über das verwendete Verschlüsselungsverfahren

Extension Headers

Name Typ Größe Beschreibung RFC
Hop-By-Hop Options 0 variabel Optionenvon allen IPv6-Geräten zu beachtenwird beispielsweise für Jumbograms benutzt 2460
2675
Routing 43 variabel Hier kann der Weg des Paketes durch das Netzwerk beeinflusst werde. Wird u. a. für Mobile IPv6 verwendet 2460
6275
5095
Fragment 44 64 Bit Parameter zur Fragmentierung 2460
Authentication (AH) 51 variabel Daten zur Authentifizierung (IPsec) 4302
Encapsulating Security Payload (ESP) 50 variabel Daten zur Verschlüsselung (IPsec) 4303
Destination Options 60 variabel Optionen nur vom Zielrechner zu beachten 2460
Mobility 135 variabel Daten für Mobile IPv6 6275
No Next 59 leer Platzhalter, zeigt Ende eines Header-Stapels an 2460

Auftreten

Basis Extension Header

Von jedem IPv6-Node zu implementieren

  • IPv6-Header
  • Hop-by-Hop Options
  • Routing
  • Fragment
  • Destination Options
  • Authentication
  • Encapsulating Security Payload

Extension Header dürfen höchstens einmal vorkommen

Ausnahme
Destination Options Header dürfen zweimal vorkommen
  • Befindet sich ein Routing Extension Header im Paket, so darf davor ein weiterer Destination Options Header stehen

Reihenfolge

Header Type
1 IPv6/Header Hop-to-Hop
2 Hop-by-Hop Options Hop-to-Hop
3 Routing Hop-to-Hop
4 Fragment Hop-to-Hop
5 Authentication End-to-End
6 Encapsulating Security Payload End-to-End
7 Destination Options End-to-End
8 Upper-Layer End-to-End

Anhang

Siehe auch


RFC

RFC Titel Date Status
2460 Internet Protocol, Version 6 (IPv6) Specification 1998 Ersetzt durch RFC 8200
2675
4302
4303
5095
6275
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