IPv6 - Internet Protocol Version 6


IPv6 steht für "Internet Protocol Version 6", es ist die nächste Generation der Adressierung von Rechnern im Internet. Entwickelt wurde das IPv6 vom IETF (Internet Engineering Task Force). Das aktuelle IPv4 soll durch IPv6 abgelöst werden.

IPv4 ist ca. seit 20 Jahren unangefochtener Standard für die logische Adressierung von Computersystemen in einem Netzwerk. Das IPv4 besteht aus 4 Oktetten zu je 8 Bit. Damit lassen sich theoretisch etwa 4 Millarden Adressen vergeben. Allerdings sind IPv4 Adressen in Klassen unterteilt und unterliegen noch einigen anderen Einschränkungen. Daher ist der IPv4 Adressraum beinahe erschöpft. Zwar versucht man durch dynamische Vergabe von IP-Adressen das Problem einzugrenzen, doch trotzdem ist die Adressknappheit vor allem in Asien ein großes Problem. Der CLass-C Adressraum ist für Firmen oft zu klein, weshalb Class-B Adressen vergeben werden. Hier versucht man das Problem durch Subnetting zu lösen. Auch dieser Lösungsansatz reicht jedoch nicht aus, wenn man sich das Wachstum des Internet ansieht und bedenkt, das vielleicht bald jeder Kühlschrank und jeder Fernseher ebenfalls über IP adressiert werden soll. Mehr zu IPv4.

Die einzig wahre Lösung ist ein völlig neues Konzept.
IPv6 besteht nicht aus 32Bit sondern aus 128Bit und wird nicht dezimal sondern hexadezimal geschrieben. Damit gibt es ca. 3,4 x 1038 mögliche IPv6 Adressen. Als Trennzeichen wird hier kein Punkt, sondern ein Doppelpunkt nach jedem 16 bit Block verwendet.
1 Hex- Zahl = 4 Bit
4 Hex- Zahlen = 16 Bit
32 Hex- Zahlen = 128 Bit

Ein gültige IPv6 Adresse ist also die Folgende:

3ffe:ffdd:0121:f304:0410:a4f3:ffe2:9765

Der Vereinfachung halber können führende Nullen jedes 16 bit-Blocks weggelassen werden:

3ffe:ffdd:121:f304:410:a4f3:ffe2:9765

Eine Sequenz von 16 bit-Blöcken, die nur Nullen enthaltet, kann weggelassen werden, sodass zwei Doppelpunkte aufeinader folgen. Der Computer füllt diesen Teil dann selbständig mit der nötigen Anzahl an Nullen auf. Damit eindeutig ist, wo mit wievielen Nullen aufgefüllt werden muss, darf diese Zeichenfolge nur einmal in der IP-Adresse vorhanden sein.

Eine solche Adresse könnte dann beispielsweise so aussehen:

Die Adresse 3ffe:ffdd:121:0000:0000:a4f3:ffe2:9765

wird zu 3ffe:ffdd:121::a4f3:ffe2:9765

Die ersten 64 bit der IPv6-Adresse dienen standardmäßig der Netzadressierung, die letzten 64 bit können zur Host-Adressierung verwendet werden. Allerdings ist hier auch die Verwendung anderer Netzmaken möglich.

Entscheidend für die Bedeutung einer IPv6 Adresse ist ihr Präfix. Der Präfix ist der erste Teil der Adresse bis zum Doppelpunkt, also die ersten 16 Bit.

Um die Kompatibilität zu IPv4 zu gewährleisten, werden die 32-Bit der IPv4 Adresse in die letzten Stellen der 128 Bit Struktur des IPv6 übernommen. Somit sieht eine alte IPv4 Adresse im IPv6 Format folgendermaßen aus:

0:0:0:0:0:0:192.168.100.005

PräfixBedeutung
00IPv4 und IPv4-über-IPv6-Kompatibilitätsadressen. Ein geeigneter Router
kann diese Pakete zwischen IPv4 und IPv6 konvertieren.
::0 trägt ebenfalls dieses Präfix und steht für die nicht definierte Adresse (0.0.0.0).
Eine weitere Adresse mit diesem Präfix ist die ::1,
die für den Localhost verwendet wird.
2, 3Diese Präfixe stehen für Globale Unicast-Adressen,
also routbare, weltweit einzigartige Adressen.
2001Diese Adressen werden an Provider vergeben, die sie dann an ihre Kunden weiter verteilen.
2002Dieser Präfix deutet auf Adressen des Tunnelmechanismus 6to4 hin.
fe80
bis
febf
Dies sind Link-local-Adressen, die nicht geroutet werden dürfen und daher nur im gleichen Subnetz erreichbar sind. Interessant werden sie bei der Autokonfiguration.
fec0
bis
feff
Dies sind Site-local-Adressen, die nur innerhalb der gleichen Organisation geroutet werden dürfen (IPv4: 192.168.0.0).
ffDieses Präfix steht für Multicast Adressen, darauf folgt eine Angabe über den Gültigkeitsbereich.


Autokonfiguration

Ein IPv6-fähiges Interface kann aus seiner Layer 2-MAC-Adresse eine Link-lokale Adresse errechnen, mit der es sich auf die Suche nach den Routern in seinem Netzwerksegment macht.
Der Router kann dem Gerät dann eine "Unicast"-Adresse aus seinem Adressbereich zuweisen, mit der das Gerät aufs Internet zugreifen kann. Der ganze Vorgang läuft ohne Benutzerintervention vollautomatisch ab und ist eine Verbesserung des IPv4-DHCP, da auch kein Server benötigt wird. Ein IPv6-fähiges Gerät ist so direkt startklar, was besonders für unerfahrene Endnutzer und ausgelastete Administratoren ein großer Vorteil ist.

Mit IPv6 werden drei mögliche Verfahren für das Versenden der der Daten ermöglicht:
Unicast, Anycast und Multicast.

  • Unicast:
    Unicast identifiziert eine einzelne Schnittstelle. Ein Datenpaket, das zu einer Unicast-Schnittstelle gesendet wird, wird an der durch die Adresse bestimmten Schnittstelle abgeliefert.

  • Anycast:
    Anycast identifiziert ein Set von Schnittstellen. Ein Datenpaket, welches zu einer Anycast-Adresse gesendet wird, wird bei der Schnittstelle abgeliefert, die der Quelle am nächsten ist. Obwohl ein Set von Schnittstellen definiert ist, wird ein Datenpaket nur bei einer bestimmten Schnittstelle abgeliefert.

  • Multicast:
    Multicast identifiziert ein Set von Schnittstellen. Ein Datenpaket, das zu einer Multicast-Schnittstelle gesendet wird, wird bei allen durch das Set definierten Schnittstellen abgeliefert.



Das IPv6 Datagramm

Datagramm des IPv6

  • Version:
    gibt die 4 Bits lange Versionsnummer des Internet Protocol an. Hier also "6"
  • Priority:
    ist ein 4 Bits langer Prioritätswert. Dieser Wert wird von der Datenquelle gesetzt und gibt die Priorität eines Paketes relativ zu anderen Paketen von der gleichen Datenquelle an. Die Prioritätswerte 0-7 sind für Datenverkehr vorgesehen, 8-15 für Realzeit-Eigenschaften, z.B. Audio-Übertragungen.
  • Flow Label:
    kann von einer Datenquelle benutzt werden, um Pakete zu markieren, die eine spezielle Behandlung erfahren sollen. Router im Netz können dann die Pakete (Datagramme) erkennen und sie gesondert behandeln. Spezielle Behandlung in diesem Sinne wäre eine bestimmte Servicequalität oder bestimmte Realzeitforderung eines Dienstes.
  • Payload:
    gibt die Anzahl der Oktette an, die dem IPv6-Header folgen.
  • Next Header:
    identifiziert den Header-Typ, der dem IPv6-Header unmittelbar folgt. Es werden die selben Werte wie im IPv4-Protokollfeld benutzt.
  • Hop-Limit:
    Wird noch durch jeden Knoten um 1 dekrementiert, der das Paket weitervermittelt. Sobald der Wert "0" erreicht ist, wird das Paket von einem Knoten nicht mehr behandelt.
  • Source Adress:
    gibt die 128 Bits lange Ursprungsadresse an
  • Destination Adress:
    gibt die 128 Bits lange Zieladresse an