IPv6/Header/Extension: Unterschied zwischen den Versionen

Aus Foxwiki
 
(196 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''IPv6-Erweiterungsheader''' - Kurzbeschreibung
'''IPv6 Extension Header''' - Zusätzliche Header, die Infos für die Netzwerkschicht (IP-Layer) beinhalten


== Beschreibung ==
== Beschreibung ==
Funktionen gestrichener Felder sind mitunter notwendig
[[File:ipv6headerReihenfolge.png|mini|400px]]
* Für diese Fälle werden Erweiterungsheader definiert, um zusätzliche Informationen zu übermitteln
; IPv6-Header durch Extension-Header erweiterbar
* Erweiterungsheader sind optional
* Werden bei Bedarf eingefügt
* Werden mehrere benutzt müssen sie direkt nach dem Hauptheader erscheinen
* Zusätzliche Funktionen
* Zukünftige Erweiterungen


=== Extension Header ===
; Folgen direkt auf den IPv6-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.
* Außerhalb des IP-Headers
* Vielfaches von 64 Bit
** Speicherzugriffe im Router beschleunigen


Es sind 6 Basis Extension Header definiert, die immer implementiert sein müssen:
; Die meisten IPv6-Pakete ohne Extension Header
* Nur IPv6-Header, TCP-Header und Daten


* Hop-by-Hop Options Header (<nowiki>RFC 2460</nowiki>)
== Typen ==
* Routing Header (<nowiki>RFC 2460</nowiki>)
; Typen von Erweiterungsheadern
* Fragment Header (<nowiki>RFC 2460</nowiki>)
{| class="wikitable options big"
* Destination Options Header (<nowiki>RFC 2460</nowiki>)
|-
* Authentication Header (<nowiki>RFC 4302</nowiki>)
! Typ !! Beschreibung
* 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 ||
| [[#Hop-to-Hop|Hop-to-Hop]] || Per Hop ausgewertete Header
* Hop-by-Hop Options (z.&nbsp;B.&nbsp;&nbsp;Jumbogramm Notifier)
* Routing Information Header
* Routing Extension Header
|-
|-
| Destination Options Header || Optionen für Router
| [[#End-to-End|End-to-End]] || Nur im Endsystem ausgewertete Header
# Routing Header
* Fragmentation Header
# Fragment Header
* Authetication 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 ====
=== Extension Header ===
[[Hop-by-Hop Header]]
==== Basis Extension Header ====
Extension Header, die immer implementiert sein müssen


==== Routing Header ====
{| class="wikitable options big"
Der Routing Header wird im vorangegangenen Header mit dem Wert 43 angezeigt.
|-
 
! Option !! RFC
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
| Hop-by-Hop Options Header || [https://www.rfc-editor.org/rfc/2460 2460]
|-
|-
|Next Header
| Routing Header || [https://www.rfc-editor.org/rfc/2460 2460]
|1 Byte
|Beschreibt den Typ des folgenden Headers
|-
|-
|Header Extension Length
| Fragment Header || [https://www.rfc-editor.org/rfc/2460 2460]
|1 Byte
|Länge des Routing Headers in 8 Byte Einheiten, ohne die ersten 8 Byte
|-
|-
|Routing Type
| Destination Options Header || [https://www.rfc-editor.org/rfc/2460 2460]
|1 Byte
|Typ des Routing Headers
|-
|-
|Segments Left
| Authentication Header || [https://www.rfc-editor.org/rfc/4302 4302]
|1 Byte
|Anzahl der Nodes bis zum Erreichen des Ziels
|-
|-
|Type Specific Data
| Encapsulating Security Payload Header || [https://www.rfc-editor.org/rfc/4303 4303]
|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.
==== Auftreten ====
 
* Extension Header dürfen höchstens einmal vorkommen
==== Fragment Header ====
* Destination Options Header dürfen höchstens zweimal vorkommen
[[Fragment Header]]
* Extension Headers können bis auf den Destination Options Header nur einmal in jedem Paket vorkommen
 
== Optionen für Teilstrecken ==
; Informationen, die alle Router auf der Strecke prüfen
* Bisher ist eine Option definiert, die Unterstützung von Jumbogrammen, also Paketen die größer als 64 kByte sind
 
; Routing
* 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 ==
; Optionen, die nur vom Zielhost interpretiert werden
 
[[File:img-016-008.png|mini|400px]]
 
[[File:img-017-009.png|mini|400px]]
 
[[File:img-018-010.png|mini|400px]]
 
== Bedeutung ==
; 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
* 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 folgenden Tabelle
* 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
 
; Wie im Next Header Feld verwiesen sind einige Extension Headers und ein Platzhalter definiert


{| class="wikitable options"
{| class="wikitable options"
Zeile 118: Zeile 73:
|| 0
|| 0
|| variabel
|| variabel
|| Optionenvon allen IPv6-Geräten zu beachtenwird z.B. für Jumbograms benutzt
|| Optionenvon allen IPv6-Geräten zu beachtenwird z.&nbsp;B.&nbsp;für Jumbograms benutzt
|| RFC 2460RFC 2675
|| RFC 2460RFC 2675
|-
|-
Zeile 124: Zeile 79:
|| 43
|| 43
|| variabel
|| variabel
|| Hier kann der Weg des Paketes durch das Netzwerk beeinflusst werdenwird u.a. für Mobile IPv6 verwendet
|| Hier kann der Weg des Paketes durch das Netzwerk beeinflusst werdenwird u.&nbsp;a.&nbsp;für Mobile IPv6 verwendet
|| RFC 2460RFC 6275RFC 5095
|| RFC 2460RFC 6275RFC 5095
|-
|-
Zeile 165: Zeile 120:
|}
|}


=== Verwendung von Extension Headers ===
==== Reihenfolge  ====
[[File:img-021-011.png|600px]]
[[File:ipv6headerReihenfolge.png|mini|500px]]
 
=== Reihenfolge der Extension Header ===
{| class="wikitable options"
{| class="wikitable options"
|-
|-
! Option !! Beschreibung
! !! Header !! Type
|-
|-
| 1 || [[IPv6 Header]]
| 1 || [[IPv6 Header]] || Hop-to-Hop
|-
|-
| 2 || [[Hop-by-Hop]] Options Header (für Optionen, welche von Routern auf dem Pfad zum endgültigen Empfänger verarbeitet werden müssen)
| 2 || [[Hop-by-Hop Options Header]] || Hop-to-Hop
|-
|-
| 3 || [[Routing Header]]
| 3 || [[Routing Header]] || Hop-to-Hop
|-
|-
| 4 || [[Fragment Header]]
| 4 || [[Fragment Header]] || Hop-to-Hop
|-
|-
| 5 || [[Authentication Header]]
| 5 || [[Authentication Header]] || End-to-End
|-
|-
| 6 || [[Encapsulating Security Payload Header]]
| 6 || [[Encapsulating Security Payload Header]] || End-to-End
|-
|-
| 7 || [[Destination Options Header]] (für Optionen, welche vom endgültigen Empfänger des Paketes verarbeitet werden müssen)
| 7 || [[Destination Options Header]] || End-to-End
|-
|-
| 8 || [[Upper-Layer Header]]
| 8 || [[Upper-Layer Header]] || End-to-End
|}
|}


=== Extension Headers ===
=== Hop-to-Hop ===
; Next-Header
; Optionen für Teilstrecken
* Alle Extension Headers enthalten ein Next-Header-Feld, in dem
* Informationen, die alle Router auf der Strecke prüfen
* der nächste Extension Header oder
 
* das Upper Layer Protocol genannt wird
; Bisher ist eine Option definiert
* Größen immer Vielfache von 64 Bit
* Unterstützung von Jumbogrammen (Paketen größer 64 kByte)
* Speicherzugriffe im Router beschleunigen
* die meisten Felder der Kopfdatenbereiche sind auf 64-Bit-Grenzen ausgerichtet


; Keine Prüfsummen
; Routing
* Es werden keine Prüfsummen über die IP-Kopfdaten berechnet
* Mit diesem Header kann eine Route vollständig oder teilweise spezifiziert werden
* im Gegensatz zu IPv4
* Fehlerkorrektur auf Schichten 2 und 4


=== Hop-by-Hop Options Header ===
=== End-to-End ===
[[File:img-024-012.png|700px]]
; Optionen für Ziele
Optionen, die nur vom Zielhost interpretiert werden


=== Routing Header ===
; Authentifikation
[[File:img-025-013.png|700px]]
* 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
 
== Verwendung ==
=== Verkettung ===
; Next-Header-Feld
Extension Headers enthalten ein Next-Header-Feld
* Nummer des nächsten Extension Header
* oder des Upper Layer Protocol
 
; Standard Header
{| class="wikitable"
|-
| style="background-color:#dfffcb;"| '''IPv6 Header''' <br> <small>Next Header: TCP (06)<small>
| style="background-color:#d6c4ff;"| '''TCP (06)''' <br> <small>Header and data</small>
|}
 
; Routing Header
{| class="wikitable"
|-
| style="background-color:#dfffcb;"| '''IPv6 Header''' <br> <small>Next Header: TCP (43)<small>
| style="background-color:#ffbfc0;"| '''Routing Header (43)''' <br> <small>Next Header: TCP (06)<small>
| style="background-color:#d6c4ff;"| '''TCP (06)''' <br> <small>Header and data<small>
|}
 
; Typen
{| class="wikitable"
|-
| style="background-color:#dfffcb;"| [[IPv6 Header]]
| style="background-color:#ffbfc0;"| [[#Hop-to-Hop|Hop-to-Hop]]
| style="background-color:#fff1b0;"| [[#End-to-End|End-to-End]]
| style="background-color:#d6c4ff;"| [[Upper Layer]]
|}
 
{| class="wikitable"
|-
| style="background-color:#dfffcb;"| '''IPv6 Header''' <br> <small>Next Header: TCP (43)
| style="background-color:#ffbfc0;"| '''Routing Header (43)''' <br> <small>Next Header: Fragment (44)<small>
| style="background-color:#fff1b0;"| '''Fragment Header (44)''' <br> <small>Next Header: TCP (06)<small>
| style="background-color:#d6c4ff;"| '''TCP (06)''' <br> <small>Header and data<small>
|}
 
{| class="wikitable"
|-
| style="background-color:#dfffcb;"| '''IPv6 Header''' <br> <small>Next Header: TCP (43)
| style="background-color:#ffbfc0;"| '''Routing Header (43)''' <br> <small>Next Header: Fragment (44)<small>
| style="background-color:#fff1b0;"| '''Fragment Header (44)''' <br> <small>Next Header: TCP (06)<small>
| style="background-color:#fff1b0;"| '''Fragment Header (44)''' <br> <small>Next Header: TCP (06)<small>
| style="background-color:#d6c4ff;"| '''TCP (06)''' <br> <small>Header and data<small>
|}


<noinclude>
<noinclude>
Zeile 214: Zeile 215:
== Anhang ==
== Anhang ==
=== Siehe auch ===
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
{{Special:PrefixIndex/IPv6/Header}}
==== Links ====
===== Weblinks =====


= TMP =
==== RFC ====
=== Extension-Prinzip ===
{| class="wikitable big options"
[[File:ipv6HeaderExtension.png|mini|300px]]
; IPv6-Header ist durch Extension-Header erweiterbar
 
{| class="wikitable sortable options"
|-
! Option !! Beschreibung
|-
|-
| Per Hop ausgewertete Header ||
! RFC !! Titel
* Hop-by-Hop Options (z.B. Jumbogramm Notifier)
* Routing Information Header
|-
|-
| Nur im Endsystem ausgewertete Header ||
| [https://www.rfc-editor.org/rfc/0000 0000] ||
* Fragmentation Header
* Authetication Header
|}
|}


; Header-Extensions u.U. auf Applikationsniveau direkt nutzbar
==== Links ====
* Die meisten IPv6 Pakete bestehen nur aus IPv6- und TCP Header sowie Daten
===== Weblinks =====
 
=== Next Header Werte ===
[[File:img-010-003.png|600px]]
[[File:img-010-004.png|600px]]


[[Kategorie:IPv6/Header]]
[[Kategorie:IPv6/Header]]
</noinclude>
</noinclude>

Aktuelle Version vom 11. Januar 2024, 00:42 Uhr

IPv6 Extension Header - Zusätzliche Header, die Infos für die Netzwerkschicht (IP-Layer) beinhalten

Beschreibung

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 ohne Extension Header
  • Nur IPv6-Header, TCP-Header und Daten

Typen

Typen von Erweiterungsheadern
Typ Beschreibung
Hop-to-Hop Per Hop ausgewertete Header
  • Hop-by-Hop Options (z. B.  Jumbogramm Notifier)
  • Routing Information Header
  • Routing Extension Header
End-to-End Nur im Endsystem ausgewertete Header
  • Fragmentation Header
  • Authetication Header

Extension Header

Basis Extension Header

Extension Header, die immer implementiert sein müssen

Option RFC
Hop-by-Hop Options Header 2460
Routing Header 2460
Fragment Header 2460
Destination Options Header 2460
Authentication Header 4302
Encapsulating Security Payload Header 4303

Auftreten

  • Extension Header dürfen höchstens einmal vorkommen
  • Destination Options Header dürfen höchstens zweimal vorkommen
  • 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 folgenden 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 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

Reihenfolge

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

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

Verwendung

Verkettung

Next-Header-Feld

Extension Headers enthalten ein Next-Header-Feld

  • Nummer des nächsten Extension Header
  • oder des Upper Layer Protocol
Standard Header
IPv6 Header
Next Header: TCP (06)
TCP (06)
Header and data
Routing Header
IPv6 Header
Next Header: TCP (43)
Routing Header (43)
Next Header: TCP (06)
TCP (06)
Header and data
Typen
IPv6 Header Hop-to-Hop End-to-End Upper Layer
IPv6 Header
Next Header: TCP (43)
Routing Header (43)
Next Header: Fragment (44)
Fragment Header (44)
Next Header: TCP (06)
TCP (06)
Header and data
IPv6 Header
Next Header: TCP (43)
Routing Header (43)
Next Header: Fragment (44)
Fragment Header (44)
Next Header: TCP (06)
Fragment Header (44)
Next Header: TCP (06)
TCP (06)
Header and data


Anhang

Siehe auch

RFC

RFC Titel
0000

Links

Weblinks