IPv6 - Internet Protocol Version 6
IPv6 ist als Internet Protocol (Version 6) für die Vermittlung von Daten durch ein paketvermittelndes Netz, die Adressierung von Netzknoten und -stationen, sowie die Weiterleitung von Datenpaketen zwischen Teilnetzen (Routing) zuständig. Mit diesen Aufgaben ist IPv6 der Schicht 3 des OSI-Schichtenmodells zugeordnet.
IPv6 ist der direkte Nachfolger von IPv4 und Teil der Protokollfamilie TCP/IP. Der Grund für die Einführung des Internet Protocols Version 6 (IPv6) und Ablösung von IPv4 ist die Adressknappheit von nur 4 Milliarden IP-Adressen (Version 4), die bald aufgebraucht sind. Da weltweit immer mehr Menschen, Maschinen und Geräte an das Internet mit einer eindeutigen Adresse angeschlossen werden wollen, reichen die IPv4-Adressen nicht mehr lange aus.
Internet Protocol Version 5?
IPv5 hieß offiziell ST-2 (Internet Stream Protocol Version 2) und war ein experimentelles Protokoll für Echtzeit-Datenströme. ST-2 wurde von RSVP (Resource Reservation Protocol) zur Bandbreitenanforderung bei Routern abgelöst. ST-2 sollte ursprünglich Audio und Video per Multicast übertragen. Dadurch sollten die Bandbreitenreservierungsvorteile von ATM in die IP-Netze gelangen. Zur Serienreife hat es nicht gereicht. Deshalb gab es auch kein IPv5 im praktischen Einsatz.
IP-Adressen nach IPv6
Die nächste Generation von IP, das IP Version 6, erhöht den Adressumfang auf 2-128. Damit wäre es möglich, jeden Quadratmillimeter der Erde mit rund 600 Billionen Adressen zu belegen. Doch nicht nur das, obendrein soll IPv6 Erleichterung bei der Rechnerkonfiguration und Betrieb bringen.
IPv6-Adressen bestehen aus 128 Bit. Wegen dieser unhandlichen Länge hat man sich für Hexadezimalzahlen als Schreibweise entschieden. 16 Bit sind jeweils durch einen Doppelpunkt (":") getrennt. Führende Nullen können in den Blöcken wegfallen. Eine Folge von Nullen kann man durch zwei Doppelpunkte ("::") ersetzen. Da in URLs der Doppelpunkt mit der Portangabe kollidiert, sind IPv6-Adressen in eckige Klammern gesetzt.
Die Netzwerkmasken fallen ersatzlos weg. Den Adressbereich bzw. das Subnetz hängt man an und trennt ihn vom Rest der Adresse durch ein "/". In IPv6 adressieren die ersten 64 Bit das Netz und die restlichen 64 Bit den Host.
| Adresse nach | |
|---|---|
| IPv4 | 127.0.0.1 |
| IPv6 | FE80::0211:22FF:FE33:4455 |
| IPv6-URL | http://[FE80::0211:22FF:FE33:4455]:80/ |
Aufteilung des IPv6-Adressraums
Man unterscheidet grob gesehen zwischen globalen Adressen (Global Scope) und lokalen Adressen (Local Scope). Pakete mit globale Adressen werden außerhalb des lokalen Netzwerks geroutet. Link-lokale Adressen sind nur innerhalb des lokalen Netzwerks gültig. Sie werden nicht extern, sondern nur intern geroutet.
Hinter Link-Local Scope stecken Mechanismen wie Neighbor Discovery, das das Address Resolution Protocol (ARP) ablöst oder Stateless Address Autoconfiguration (SAC oder SAA) als Alternative zu DHCP. Neighbor Discovery zeichnet sich vor allem durch Unabhängigkeit von der Übertragungstechnik aus.
Für private lokale Netze gibt es in IPv6 reservierte Adressbereiche (Unique Local Adressses, ULA). Sie haben eine ähnliche Funktion, wie die lokalen IPv4-Adressen. Die privaten IPv6-Adressen sind weltweit eindeutig, werden aber nicht geroutet.
Adressvergabe und Autokonfiguration
IPv6 kennt zwei verschiedene Wege, wie Clients an ihre eigene IP-Adresse kommen. Entweder über DHCPv6 oder Autokonfiguration. Letzteres hat den Nachteil, das damit nur die Kommunikation im lokalen Netz möglich ist. Standard-Gateway und DNS-Server müssen immer noch manuell konfiguriert werden oder per DHCPv6 abgefragt werden.
- Stateful Address Configuration (DHCPv6)
- Stateless Address Configuration (Autokonfiguration)
Anders als bei IPv4 müssen die IP-Adressen im lokalen Netzwerk nicht zentral vergeben werden. Die Adressvergabe erfolgt automatisch und die Stationen prüfen selbständig, ob ihre Adresse im Netz schon vergeben ist. Unter IPv6 gibt es keine Netzwerkmaske und Broadcast-Adressen mehr. Die Einrichtung eines Netzwerks ist dadurch viel einfacher.
Stateless Address Configuration
Wird eine Station mit IPv6 gestartet, dann weist sie sich als erstes eine lokale Adresse zu. Die ersten 64 Bit sind fest vorgegeben. Davon bestehen die ersten 16 Bit aus dem Prefix "fe80". Die restlichen 48 Bit werden mit Nullen aufgefüllt. Die zweiten 64 Bit werden als Suffix bezeichnet und bestehen aus der MAC-Adresse des Netzwerkadapters, die in das Nummerierungssystem EUI-64 des IEEE umgewandelt wird. Da MAC-Adressen in der Regel weltweit einmalig sind ist die lokale IP-Adresse es ebenso.
Bevor der PC diese Adresse nutzen kann, schickt er eine Anfrage ins lokale Netz (Neighbor Solicitation). Falls eine andere Station die Adresse bereits nutzt (Neighbor Advertisement), muss die IP-Adresse manuell umgeändert werden. In der Regel ist das nicht notwendig, weil jeder Netzwerkadapter in der Regel eine einmalig MAC-Adresse hat. Sollte doch einmal eine Doppelung vorkommen, dann sollte man das Netzwerk überprüfen. Dann könnte es sein, dass jemand eine MAC-Adresse gekapert hat und per MAC-Spoofing ins Netzwerk eingedrungen ist.
Mit seiner lokalen Adresse kann die Station nur im lokalen Netzwerk kommunizieren. Für das Internet braucht sie eine zusätzliche Adresse, die sie sich ebenfalls selber generiert. Dazu muss die Station beim Standard-Gateway (Router) nachfragen, welche Netzwerk-Adresse sie verwenden soll (Präfix des öffentlichen Adressblocks). Mit der lokalen Adresse bittet (Solicitation Message) die Station auf der Multicast-Adresse "FF02::2" um den IPv6-Präfix. Der Router schickt daraufhin eine Ankündigung (Advertisement Message) mit einem Adress-Präfix für dieses Netzwerk und die Größe der Pakete (MTU). Aus dem Präfix und Suffix erzeugt die Station ihre öffentliche IPv6-Adresse. Der Suffix ist eine EUI-64-Adresse, die aus der Hardware-Adresse (MAC-Adresse) erzeugt wird. Danach prüft die Station, ob diese Adresse im lokalen Netzwerk schon vergeben ist (Duplicate Address Detection). Wenn sie frei ist, weist sie die Adresse ihrer Netzwerkschnittstelle zu.
Die IP-Autokonfiguration ist allerdings nicht ganz vollständig. Es werden keine Adressen für DNS- oder NTP-Server erzeugt. Auch ein Hostname wird nicht zugewiesen. An diese Informationen kommt ein PC beispielsweise über Bonjour (Apple), PNRP (Microsoft) oder DHCPv6.
Privacy Extensions
Der Interface Identifier wird aus der MAC-Adresse errechnet. Weil die globale MAC-Adresse und die IPv6-Adressen durch den Interface Identifier nachverfolgbar ist wurden die Privacy Extensions entwickelt. Damit wird ein Teil der Anonymität, wie es bei IPv4 möglich ist, wieder hergestellt werden, in dem die Kopplung von Interface Identifier und MAC-Adresse aufgehoben wird.
Privacy Extensions erzeugt ständig wechselnde Interface Identifiers, statt diesen aus der MAC-Adresse zu errechnen. Privacy Extensions erzeugt zusätzlich zu der festen IP-Adresse periodisch eine neue Adresse, bei der der hintere Teil verändert ist. Anschließend werden mit diesen wechselnden Adressen ausgehende Verbindungen hergestellt. Auf diese Weise wird auf IP-Ebene die Erstellung von Bewegungsprofilen verhindert.
Aufbau des IPv6-Headers

Zur weiteren Entlastung der Router wurde die Länge des IP-Headers fest definiert und die Adressfelder auf 64 Bit ausgerichtet (64 bit aligned). Dadurch findet der Router in jedem IPv6-Paket alles an der selben Stelle.
Obwohl der IPv6-Header weniger Felder als der IPv4-Header hat, ist er durch die längeren IPv6-Adressen trotzdem 40 Byte lang. Die Felder IHL, Type of Service, Kennung und Header-Checksumme wurden komplett gestrichen. Die Felder Fragment-Offset, Flags und Options sind in die optionalen Header-Erweiterungen verlagert.
Bedeutung der Felder im IPv6-Header
| Feldinhalt | Bit | Beschreibung |
|---|---|---|
| Version | 4 | Hier ist die Version des IP-Protokolls abgelegt, nach der das IP-Paket erstellt wurde. |
| Traffic Class | 8 | Der Wert des Feldes definiert die Priorität des Paketes. |
| Flow Label | 20 | Das Flow Label kennzeichnet Pakete für ein viel schnelleres Routing. Das MPLS macht dieses Verfahren allerdings überflüssig. |
| Payload Length | 16 | Hier steht die im IP-Paket transportierten Daten in Byte. Bisher musste der Wert aus dem Feld Paketlänge abzüglich dem Feld IHL ermittelt werden. |
| Next Header | 8 | Hier ist das übergeordnete Transportprotokoll angegeben. Bei IPv4 hieß das Feld einfach Protokoll. |
| Hop Limit / TTL | 8 | Dieses Feld enthält die Anzahl der verbleibenden weiterleitenden Stationen, bevor das IP-Paket verfällt. Es entspricht dem TTL-Feld von IPv4. Jede Station, die ein IP-Paket weiterleitet, muss von diesem Wert 1 abziehen. |
| Source-Address | 128 | An dieser Stelle steht die IP-Adresse der Station, die das Paket abgeschickt hat (Quell-IP-Adresse). |
| Destination-Address | 128 | An dieser Stelle steht die IP-Adresse der Station, für die das Paket bestimmt ist (Ziel-IP-Adresse). |
| IPv6-Header-Erweiterungen jeweils 64 Bit (8 Byte) |
Im IPv6-Header können optional Informationen im separaten Header dem IP-Kopf angehängt werden. Bis auf wenige Ausnahmen werden diese Header-Erweiterungen von IP-Routern nicht beachtet. | |
Wechsel von IPv4 auf IPv6
Der Wechsel von IPv4 auf IPv6 in einem LAN gelingt in der Regel problemlos. In Windows XP/SP2, Windows Vista, Windows 7, MacOS und Linux ist IPv6 bereits enthalten. Einzig unter Windows XP muss IPv6 aktiviert werden. Eine Sache von nur wenigen Klicks.
Geräte, wie Hubs und Switche ist es egal ob IPv4 oder IPv6 zum Einsatz kommt. Sie kümmern sich um die Netzwerk-Kommunikation unterhalb des Internet Protokolls. Nur bei Routern stellt sich da noch ein Problem ein. Im Privat-Bereich gibt es so gut wie keine IPv6-Router. Eine "native" IPv6-Anbindung der DSL-Provider wäre ebenfalls nötig. Die ist jedoch bislang nicht in Sicht.
Änderungen gegenüber IPv4
IPv6 schafft die Adressknappheit und damit viele Netzwerkprobleme aus der Welt. IPv4 sieht nur 232 Adressen vor. Das sind rund 4,3 Milliarden IP-Adressen. IPv6 hat einen Adressraum von 2128. Das sind 340.282.366.900.000.000.000.000.000.000.000.000.000, also rund 340,28 Sextillionen Adressen. Das reicht aus, um umgerechnet jeden Quadratmillimeter der Erdoberfläche inklusive der Ozeane mit rund 600 Billiarden Adressen zu pflastern. Weil man mit dieser großen Menge an Adressen verschwenderisch umgehen darf, spart man sich eine aufwendige Verwaltung, wie es bei IPv4-Adressen notwendig ist. Der große Adressraum, also die hohe Anzahl an Präfixen, macht das Wegfallen von NAT möglich. Wobei das nicht bedeutet, dass es nicht doch irgendwann eine Implementierung für NAT in IPv6 geben wird.
Bei IPv6 hat man sich nicht nur um die Adresserweiterung gekümmert, sondern auch gleich eine Generalüberholung des Protokolls vorgenommen. Zählte zur Hauptaufgabe der heutigen IPv4-Routern das Prüfen von Checksummen und Fragmentieren von Daten, so ist die Arbeit für IPv6-Router sinnvoll minimiert worden. IPv6 führt keine Prüfsumme mehr im Header mit. Stattdessen wird dem übergeordneten Transport-Protokoll TCP die Aufgabe überlassen, kaputte Pakete zu erkennen und neu anzufordern. Dieser Vorgang wird komplett beim Empfänger bearbeitet. Zu große Datenpakete werden von IPv6-Routern nicht mehr selber fragmentiert. Ist ein Paket zu groß wird dem Absender eine Fehlermeldung geschickt. Dieser muss dann die maximale Paketlänge (MTU - Maximum Transmissin Unit) anpassen. Dieses Verfahren nennt sich Path MTU Discovery und existiert in ähnlicher Form auch in IPv4. Dort muss im Datenpaket das Don't-Fragment-Flag (DF) gesetzt werden. War in IPv4 dieses Verfahren optional, ist es in IPv6 Pflicht. Kommt es zum Verlust eines Datenpakets oder kommt es zu Fehlern bei der Fragmentierung, schlägt das Path MTU Discovery fehl. In IPv4 wurde der MTU dann auf 68 Byte abgesenkt. Das führte zu einer höheren Paketanzahl und einem unwirtschaftlichen Protokoll-Overhead. IPv6 hat als kleinste einstellbare MTU 1280 Byte. Dadurch werden die Router nicht mehr unnötig belastet. Selbstverständlich können auch kleinere Pakete als 1280 Byte übertragen werden.
IPv4-Router müssen Checksummen prüfen und Pakete fragmentieren. Das erfordert Rechenleistung und reduziert den Datendurchsatz. Um das Routing zu beschleunigen wird auf Fragmentierung und Checksummen verzichtet. Die Prüfsumme bleibt höheren Protokolle überlassen. Zum Beispiel TCP. Und für das Prüfen der Pakete auf IP-Ebene ist nur noch der Empfänger zuständig. Ist ein Paket zu groß, wird es nicht mehr fragmentiert. Dafür wird es generell verworfen und der Sender per ICMP-Nachricht informiert. Der Sender setzt dann die maximale Paketgröße für diese Route herab (MTU, Maximal Transmission Unit).
Übersicht: Vorteile von IPv6
- IP-Autokonfiguration anhand der MAC-Adresse der Netzwerkkarte
- schnelleres Routing
- Punkt-zu-Punkt-Verschlüsselung mit IPsec
- gleiche Adresse in wechselnden Netzen
- Multicast
- Quality of Service
- Datenpakete bis 4 GByte Größe
Vieles davon war auch mit IPv4 möglich. Doch dort wurde vieles erst nachträglich implementiert. IPv6 bringt das alles integriert mit.
Weitere verwandte Themen:
- TCP/IP
- IPv4 - Internet Protocol Version 4
- IP-Routing
- MPLS - Multi-Protocol Label Switching
- TCP - Transmission Control Protocol
- UDP - User Datagram Protocol
- PNRP - Peer Name Resolution Protocol
| Dieser Text ist mir was wert: | [ ? ] |






