IPv6 – Internet Protocol Version 6
Abkürzung: IPv6
IPv6 ist die aktuelle Fassung des Internetprotokolls. Sie löst die Adressknappheit von IPv4 auf und arbeitet ohne Adressübersetzung (NAT).
Definition
IPv6 ist in RFC 8200 beschrieben und ersetzt IPv4 als Vermittlungsprotokoll des Internets. Der auffälligste Unterschied ist die Adresslänge: 128 Bit statt 32 Bit. Daraus ergeben sich rund 3,4 mal 10 hoch 38 mögliche Adressen.
Diese Zahl ist größer, als sie sein müsste, und das ist Absicht. IPv6 vergibt Adressen nicht sparsam, sondern in großen Blöcken. Ein einzelner Haushalt bekommt üblicherweise ein Präfix, aus dem sich mehrere unabhängige Teilnetze bilden lassen. Die Sparsamkeit, die IPv4 erzwungen hat, entfällt.
IPv6 und IPv4 sind nicht kompatibel. Ein Gerät mit ausschließlich IPv6 kann einen Server erreichen, der nur IPv4 spricht, nur über ein Übersetzungsverfahren. Deshalb laufen beide Protokolle seit Jahren parallel.
Schreibweise
Eine IPv6-Adresse wird in acht Gruppen zu je vier Hexadezimalziffern geschrieben, getrennt durch Doppelpunkte:
2001:0db8:0000:0000:0000:0000:0000:0001
Zwei Verkürzungen sind zulässig. Führende Nullen in einer Gruppe entfallen, und eine zusammenhängende Folge von Nullgruppen wird durch einen doppelten Doppelpunkt ersetzt. Der doppelte Doppelpunkt darf in einer Adresse nur einmal vorkommen. Aus dem Beispiel wird:
2001:db8::1
Die Präfixlänge wird wie bei IPv4 mit Schrägstrich angehängt, etwa 2001:db8::/32. Sie gibt an, wie viele Bits den Netzanteil bilden.
In URLs werden IPv6-Adressen in eckige Klammern gesetzt, damit der Doppelpunkt vor der Portnummer eindeutig bleibt: http://[2001:db8::1]:8080/
Adressarten
Ein Gerät hat unter IPv6 fast immer mehrere Adressen gleichzeitig. Das ist normal und kein Fehler.
- Link-Local, fe80::/10. Wird automatisch auf jeder Schnittstelle gebildet und gilt nur im direkt angeschlossenen Netzsegment. Sie wird für Nachbarschaftserkennung und Router-Ankündigungen gebraucht und ist nicht routbar.
- Global Unicast, aus 2000::/3. Die weltweit eindeutige, im Internet routbare Adresse.
- Unique Local, fc00::/7 nach RFC 4193. Das Gegenstück zu den privaten IPv4-Adressen. Nur innerhalb der eigenen Netze gültig, im Internet nicht geroutet.
- Multicast, ff00::/8. IPv6 kennt keinen Broadcast. Aufgaben, die unter IPv4 per Broadcast gelöst wurden, laufen über Multicastgruppen.
- Temporäre Adressen nach RFC 8981, früher Privacy Extensions genannt. Zusätzliche, regelmäßig wechselnde Adressen für ausgehende Verbindungen, damit sich ein Gerät nicht dauerhaft an seiner Adresse wiedererkennen lässt.
Adressvergabe
IPv6 kennt zwei Wege, eine Adresse zu bekommen, und beide können nebeneinander laufen.
SLAAC, die zustandslose Autokonfiguration nach RFC 4862. Der Router kündigt das Präfix des Netzes per Router Advertisement an, das Gerät bildet daraus selbständig seine Adresse. Es braucht keinen Server, der Adressen verwaltet.
DHCPv6 nach RFC 8415. Funktioniert ähnlich wie DHCP unter IPv4 und wird eingesetzt, wenn eine zentrale Vergabe gewünscht ist. Eine Sonderform ist die Präfix-Delegation, mit der ein Router ein ganzes Präfix zugewiesen bekommt und es auf seine eigenen Netze aufteilt.
An die Stelle von ARP tritt das Neighbor Discovery Protocol nach RFC 4861. Es übernimmt Adressauflösung, Routersuche und die Prüfung, ob eine Adresse im Segment schon vergeben ist.
Was sich in der Praxis ändert
Keine Adressübersetzung. Jedes Gerät hat eine weltweit gültige Adresse. NAT ist unter IPv6 nicht vorgesehen und auch nicht nötig.
Erreichbarkeit regelt die Firewall. Unter IPv4 verhindert NAT nebenbei, dass Geräte von außen erreichbar sind. Diese Nebenwirkung entfällt. Router filtern eingehende Verbindungen unter IPv6 deshalb standardmäßig, und wer ein Gerät erreichbar machen will, gibt es in der Firewall frei. Eine Portweiterleitung im Sinne von IPv4 gibt es nicht, weil keine Adresse umgeschrieben wird.
Adressen sind nicht zum Merken. Namensauflösung ist unter IPv6 kein Komfort mehr, sondern Voraussetzung für sinnvolles arbeiten.
Fragmentierung nur am Endpunkt. Router zerlegen keine Pakete mehr. Der Sender ermittelt die zulässige Paketgröße selbst. Das setzt voraus, dass die zugehörigen ICMPv6-Nachrichten nicht blockiert werden. Wer ICMPv6 pauschal filtert, legt die Verbindung lahm.
Mindestgröße. Jede Strecke muss Pakete von 1280 Byte übertragen können.
Warum es so lange dauert
IPv6 ist seit 1998 spezifiziert. Der Grund für die schleppende Einführung ist nicht technischer Natur, sondern wirtschaftlicher: Solange IPv4 mit Adressübersetzung funktioniert, entsteht für den einzelnen Betreiber kein unmittelbarer Vorteil aus der Umstellung.
Der Druck ist erst mit der Erschöpfung der Adressvorräte gestiegen. Die zentrale Reserve der IANA war im Februar 2011 aufgebraucht, das europäische Register RIPE NCC hat im November 2019 seine letzten regulären Blöcke vergeben. Seitdem bekommen neue Netze kaum noch öffentliche IPv4-Adressen in nennenswerter Menge, was zur Verbreitung von Carrier-grade NAT geführt hat.
Übergangsverfahren
- Dual Stack. Beide Protokolle laufen parallel. Der sauberste Weg, solange genug IPv4-Adressen vorhanden sind.
- DS-Lite nach RFC 6333. Der Anschluss bekommt nur IPv6, IPv4 wird getunnelt und beim Anbieter übersetzt.
- MAP-E und MAP-T nach RFC 7597 und 7599. Verfahren, bei denen der Anschluss einen Teil eines Portbereichs einer geteilten IPv4-Adresse zugewiesen bekommt.
- NAT64 und DNS64 nach RFC 6146 und 6147. Erlauben einem reinen IPv6-Netz den Zugriff auf IPv4-Ziele.
- 464XLAT nach RFC 6877. Kombination, die auch Anwendungen bedient, die zwingend IPv4 erwarten. Im Mobilfunk verbreitet.
Abgrenzung
IPv5 hat es als Internetprotokoll nie gegeben. Die Versionsnummer 5 war einem experimentellen Streamingprotokoll zugeteilt.
Unique Local Addresses sind nicht dasselbe wie private IPv4-Adressen hinter NAT. Sie werden nicht übersetzt, sondern schlicht nicht ins Internet geroutet. Ein Gerät mit ULA und Global Unicast benutzt für interne Ziele die eine und für externe die andere Adresse.
Quellen
- RFC 8200: Internet Protocol, Version 6 (IPv6) Specification
- RFC 4861: Neighbor Discovery for IP version 6
- RFC 4862: IPv6 Stateless Address Autoconfiguration
- RFC 8415: Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
- RFC 4193: Unique Local IPv6 Unicast Addresses
- RFC 8981: Temporary Address Extensions for Stateless Address Autoconfiguration in IPv6
- RFC 4291: IP Version 6 Addressing Architecture