IPv6 Internet Protokoll Version 6

Das Internet Protokoll Version 6 ist ein von der IETF 1998 standardisiertes Verfahren für die Vermittelung von Datenpaketen, in einem paketvermittelnden Netzwerk, z. B. dem Internet. Die Hauptaufgabe des IPv6 besteht in erster Linie darin, Datenpakete mit Informationen von einem Netzwerk zum anderen zu transportieren (Routing). IPv6 ist der Nachfolger von dem Internet Protokoll Version 4 und ist somit genau wie das IPv4 auf der 3. Schicht des OSI-Schichtenmodells zu finden.

Neues Internet Protokoll Version 6

Gründe für ein neues Internet Protokoll

Die Grundidee des Internetprotokolls ist eine direkte Ende-zu-Ende-Verbindung zwischen zwei Geräten, die miteinander kommunizieren möchten. IPv4 bringt aber das Problem mit, dass die Adresse nur 32 Bit groß ist. 32 Bit sind 2^32 = 4.294.967.296 eindeutig identifizierbare Adressen. Zu Beginn des Internets kein Problem. In der heutigen Zeit sind jedoch auch einige Privatanwender im Netz unterwegs und die Adressen schon lange aufgebraucht. Die Erkenntnis dazu kam schon in den 90iger Jahren, deshalb wurde 1995 bereits an der Entwicklung des IPv6 gearbeitet und 1998 im RFC 2460 standardisiert.

Neue Eigenschaften von IPv6:

  • Vergrößerung des Protokolls von 32 auf 128 Bit, dadurch sind ca. 340 Sextillionen IP-Adressen möglich, Wahrung des Ende-zu-Ende-Prinzips durch eindeutige IP-Adressen jedes IP-fähigen Gerätes
  • Meta Daten des Headers optimiert, Größe an Bits schrumpft im Vergleich zu IPv4, dadurch ist schnelleres Routing möglich
  • NAT entfällt, DHCP wird durch DHCPv6 ersetzt
  • Das Neighbor Discovery Protokoll (NDP) ersetzt den Broadcast auf Layer 2, Entlastung der Hosts
  • Implementierung von IPsec, wodurch Verschlüsselung und Authentizität von IP-Paketen möglich ist
  • IPv6 unterstützt die Netzwerktechnik Quality of Service, Anycast und Multicast

Aufbau des IPv6

Wie bereits erwähnt, ist die Version 6 128 Bit lang und wird in jeweils 8 16 Bit große Blöcke unterteilt. 4 Bit werden durch eine hexadezimale Zahl dargestellt. Die Blöcke werden mit einem Doppelpunkt „:“ voneinander getrennt. Um die Schreibweise zu vereinfachen lässt man führende Nullen weg und ab einer Folge von 8 Nullen, können diese durch zwei Doppelpunkte ersetzt werden.

a0e1:0000:0000:86e0:48d5:0fe8:02cf:c8eb = a0e1::86e0:48d5:fe8:2cf:c8eb

Die ersten 64 Bit bilden das Network Präfix und die zweiten 64 Bit den einzigartigen Interface Identifier.

Netzwerkpräfik

Der Netzkwerpräfix ist mit dem Netzanteil bei IPv4 vergleichbar und wird in der Regel vom Internetprovider der Region zur Verfügung gestellt. Dabei wird dem Internetprovider selbst überlassen, wie lang der Präfix beim Endkunden ist, jedoch ist ein minimal /64 Netz vorgegeben.

a0e1::86e0:48d5:fe8:2cf:c8eb

Interface Identifier

Die zweiten 64 Bit der IPv6-Adresse bilden den Interface Identifier. Dieser wird entweder aus der MAC-Adresse der physikalischen Netzwerkkarte gebildet, oder via Private Extensions vom Betriebssystem per Zufall gewählt. Man kann den Intercafe Identifier mit dem Hostanteil bei IPv4 vergleichen.

a0e1::86e0:48d5:fe8:2cf:c8eb

Besondere Adressen:

Funktion des Internet Protokoll Version 6

Wie funktioniert das IPv6? Wie komme ich damit ins Internet?

Im privaten Anwenderbereich weißt sich jeder Client im LAN eine Link Local Unicast Adresse zu. Diese beginnt immer mit fe80::/64 und ist nur in einem geschlossenem Netzwerksegment gültig. Mit der Link Local Unicast Adresse wird nun über den Multicast zu allen Routern im LAN eine Neighbor Discovery Anfrage (NDP) gesendet. Der Router teilt dem Client alle nötigen Daten (IPv6-Präfix) mit um eine einzigartige IPv6-Adresse zu erstellen. Mit der erstellten IP-Adresse ist ein Routing nun möglich.

Googleoptimierung aktueller Stand 28.06
Das Bild zeigt einen Screenshot von einem Linux Computer.

Die 3. Schnittstelle (wlp3s0) ist IPv6 fähig. Der Link Local Unicast (fe80::e520:70cb:3183:fd61/64) und eine eindeutige IP-Adresse wurde erzeugt (2a02:8106:21c:6800:65ee:e066:2f0a:8d60/64).
Dabei wurde der Präfix (2a02:8106:21c:6800 ) von meinem Provider an mich verteilt und der Interface Identifier zufällig durch Privacy Extensions erstellt.
Wie gut zu erkennen ist, ist bei der 2. Schnittstelle (enp0s25) nur der Link Lokal Unicast (fe80::3e4a:4ad8:4964:99a4/64) vorhanden, da das Netzwerk nicht IPv6 fähig ist.

Header IPv6

Der Header des IPv6 ist kleiner als der Header des IPv4.

Offsets Octet 0 1 2 3
Octet Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 Version Traffic Class Flow Label
4 32 Payload Length Next Header Hop Limit
8 64 Source Address
12 96
16 128
20 160
24 192 Destination Address
28 224
32 256
36 288

Die folgende Liste beschreibt die Funktionen jedes Header-Feldes.

  • Version – 4-Bit-Versionsnummer des Internet-Protokolls = 6.
  • Traffic Class – Feld in der Länge 8 Bit für die Verkehrsklasse.
  • Flow Label – Feld in der Länge 20 Bit.
  • Payload Length – Vorzeichenloser, ganzzahliger Wert in der Länge 16 Bit; der Rest des Pakets, der dem IPv6-Header folgt, in Oktetten.
  • Next Headerr – Selektor in der Länge 8 Bit. Gibt den Headertyp an, der dem IPv6-Header unmittelbar folgt. Verwendet die gleichen Werte wie das IPv4-Protokollfeld.
  • Hop Limit – Vorzeichenloser, ganzzahliger Wert in der Länge 8 Bit. Wird von jedem Knoten, der das Paket weiterleitet, um 1 verringert. Das Paket wird abgeworfen, wenn die Hop-Grenzwert auf null verringert wurde.
  • Source Address – 128 Bit. Die Adresse des ursprünglichen Senders des Pakets.
  • Destination Adress – 128 Bit. Die Adresse des geplanten Empfängers des Pakets. Der geplante Empfänger muss nicht unbedingt der Empfänger sein, wenn ein optionaler Routing-Header vorhanden ist.