Zum Inhalt springen

IPv6/Header: Unterschied zwischen den Versionen

Aus Foxwiki
Markierung: Zurückgesetzt
Markierung: Manuelle Zurücksetzung
Zeile 46: Zeile 46:
=== Unterschiede IPv4/IPv6 ===
=== Unterschiede IPv4/IPv6 ===
[[File:img-006-001.png|800px]]
[[File:img-006-001.png|800px]]
== IPv4 Header Felder ==
{| class="wikitable sortable options"
|-
! 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
|}


== Header-Format ==
== Header-Format ==

Version vom 24. Dezember 2023, 15:42 Uhr

=topic - Kurzbeschreibung

Beschreibung

IPv4 Header

IPv6-Header ist gegenüber IPv4 stark vereinfacht
  • 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

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
  • 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
  • auf den Schichten über und unter der Vermittlungsschicht werden bereits Prüfsummen berechnet.
Padding

Extension-Prinzip

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

Unterschiede IPv4/IPv6

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)

Felder

Felder im IPv6-Header

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

Next Header Werte

IPv6 Header in einem Trace File

IPv4 und IPv6 Header im Vergleich


IPv6-Erweiterungsheader

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
  • Dieser Header wird für Informationen benutzt die alle Router auf der Strecke prüfen müssen.
  • 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
  • Dieser Header ist für Optionen vorgesehen, die nur vom Zielhost interpretiert werden müssen.
  • Er wird derzeit nicht benutzt.


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 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

Verwendung von Extension Headers

Reihenfolge der Extension Header

  1. IPv6 Header
  2. Hop-by-Hop Options Header (für Optionen, welche von Routern auf dem Pfad zum endgültigen Empfänger verarbeitet werden müssen)
  3. Routing Header
  4. Fragment Header
  5. Authentication Header
  6. Encapsulating Security Payload Header
  7. Destination Options Header (für Optionen, welche vom endgültigen Empfänger des Paketes verarbeitet werden müssen)
  8. Upper-Layer Header

Extension Headers

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

Format des Hop-by-Hop Options Headers

Format des Routing Headers

Maximum Transmission Unit (MTU)

Maximum Transmission Unit

Anhang

Siehe auch

Dokumentation

Links

Projekt
Weblinks