IPv6 - Internet Protocol Version 6

IPv6 ist als Internet Protocol (Version 6) für die Vermittlung von Datenpaketen 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.
Die Aufgabe des Internet-Protokolls besteht im Wesentlichen darin, Datenpakete von einem System über verschiedene Netzwerke hinweg zu einem anderen System zu vermitteln.

IPv6 ist der direkte Nachfolger von IPv4 und Teil der Protokollfamilie TCP/IP. Seit Dezember 1998 steht IPv6 bereit und wurde hauptsächlich wegen der Adresssknappheit von IPv4 spezifiziert. Da weltweit immer mehr Menschen, Maschinen und Geräte an das Internet mit einer eindeutigen Adresse angeschlossen werden wollen, reichen 4 Milliarden IPv4-Adressen nicht aus. Doch IPv6 löst nicht nur die Adressknappheit, sondern bringt auch Erleichterungen bei der Konfiguration und im Betrieb mit. Die zustandslose Konfiguration und verbindungslokalen Adressen, die bereits nach dem Computerstart verfügbar sind, vereinfachen die Einrichtung eines lokalen Netzwerks.

IPv6 gilt als Wunderwaffe gegen so manche Probleme mit Netzwerkprotokollen und gleichzeitig wird es als Teufelszeug verdammt, das wieder neue unbekannte Probleme hervorruft. Eine Tatsache ist, dass Administratoren, Programmierer und Hersteller IPv6 neu lernen müssen. Viele Rezepte aus der IPv4-Welt taugen unter IPv6 nicht mehr. Erschwerend kommt hinzu, dass bei IPv6 es allen Beteiligten an Erfahrung fehlt. Wenn man vor einem großen Problem steht kann man nicht mal eben jemand Fragen.

Doch IPv4 hat keine Zukunft mehr und ein zügiger Wechsel zu IPv6 erscheint notwendig. Gleichzeitig muss nicht nur IPv6 eingeführt, sondern auch IPv4 parallel betrieben werden. Solange bis alle Rechner auf der Welt IPv6 beherrschen. Und das kann dauern. Es gibt viele Netzwerk-Komponenten, die kein IPv6 unterstützen und erst gegen IPv6-fähige Komponenten ausgetauscht werden müssen. Auf der anderen Seite ist der Markt für IPv6 noch nicht groß genug, dass sich die Entwicklung von IPv4-vergleichbaren Produkten mit IPv6 lohnt.

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 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. Und ST-2 wurde von RSVP (Resource Reservation Protocol) zur Bandbreitenanforderung bei Routern abgelöst.

Vorteile von IPv6

Für viele ist IPv6 einfach nur ein IPv4 mit längeren Adressen. Doch diese Ansicht ist völlig falsch. IPv6 ist ein Protokoll mit vielen neuen Funktionen. Die Erfahrungen, die jemand aus der IPv4-Welt mitbringt, lassen sich nur bedingt auf IPv6 übertragen.

IPv6-Adressen

IPv6-Adresse

Eine IPv6-Adresse besteht aus 128 Bit. Damit haben IPv6-Adressen genügend Raum, um möglichst viele Netzwerk-Topologien abbilden zu können. Gleichzeitig geht es darum, das Routing zu vereinfachen.
Die von IPv4 bekannte Netzwerkmaske bzw. Subnetzmaske fällt ersatzlos weg. Um den Adressbereich bzw. das Subnetz zu kennzeichnen wird ein Präfix verwendet, dass man durch ein "/" an die Adresse anhängt.
Häufig ist es so, dass die ersten 64 Bit einer IPv6-Adresse das Netz und die restlichen 64 Bit den Host adressieren.
Wegen der unhandlichen Länge werden die 128 Bit in 8 mal 16 Bit unterteilt. Je 4 Bit werden als eine hexadezimale Zahl dargestellt. Je 4 Hexzahlen werden gruppiert und durch einen Doppelpunkt (":") getrennt.
Um die Schreibweise zu vereinfachen können führende Nullen in den Blöcken wegfallen. Eine Folge von Nullen kann man durch zwei Doppelpunkte ("::") ersetzen.

Hinweis: Im Gegensatz zu IPv4 sieht IPv6 vor, dass ein Computer in der Regel mehr als nur eine IPv6-Adresse hat. Konkret bedeutet das, dass wenn von IPv6-Adressen die Rede ist, dass immer klar sein muss welchen Gültigkeitsbereich diese IP-Adressen aufweisen. Grob unterscheidet man zwischen globalen und lokalen IPv6-Adressen.

IP-Autokonfiguration und Adressvergabe

Eine vollständige Autokonfiguration umfasst die Netzparameter IPv6-Adresse, Default-Route bzw. Gateway und einen DNS-Server. Hierbei muss man anmerken, dass ein IPv6-Host in der Regel mehrere IP-Adressen hat und diese auf unterschiedlichen Wegen bekommen kann. Man unterscheidet zwischen "stateless" und "stateful". Bei "stateless" erzeugt sich der IPv6-Host seine IP-Adresse selber. Bei "stateful" bekommt er sie zentral zugewiesen.

Standardmäßig ist es so, dass wenn ein IPv6-Client gestartet wird, dann weist er sich selber eine link-lokale IPv6-Adresse zu. Die ist nur im lokalen Netz gültig. Vergleichbar, aber nicht ganz identisch, mit einer privaten IPv4-Adresse. Verbindungen in andere Netze, zum Beispiel ins Internet, sind mit einer link-lokalen IPv6-Adresse nicht möglich.
Weil in IPv6 eine Autokonfiguration integriert ist, kann man sich die manuelle Konfiguration von IPv6-Adresse sparen. Mit der Autokonfiguration von IPv6 sollte in jedem Fall eine Kommunikation im lokalen Netz möglich sein.
Anders als bei IPv4 muss die IP-Konfiguration im lokalen Netzwerk nicht zentral vergeben werden. Unter IPv6 gibt es keine Netzwerkmaske und Broadcast-Adressen mehr. Die Einrichtung eines Netzwerks ist unter IPv6 viel einfacher.

Die ersten 64 Bit einer link-lokalen IPv6-Adresse sind fest vorgegeben. Die ersten 16 Bit sind "fe80". Weitere 48 Bit werden mit Nullen aufgefüllt. Die restlichen 64 Bit entsprechen dem Interface Identifier für den die MAC-Adresse des Netzwerkadapters herangezogen und in das Nummerierungssystem EUI-64 des IEEE umgewandelt wird. Standardmäßig ist es jedoch so, dass ein zufälliger Interface Identifier erzeugt wird. Beispielsweise mit Privacy Extensions oder CGA.

Konnte der Client feststellen, dass seine link-lokale IPv6-Adresse im lokalen Netz einmalig ist, kann er die nächste Stufe der Autokonfiguration zünden. Mit der link-lokalen IP-Adresse besorgt sich der Client eine globale IPv6-Adresse, mit der er über das lokale Netz hinaus ins Internet Verbindungen aufbauen kann. Die globale IPv6-Adresse ist mit einer öffentlichen IPv4-Adresse vergleichbar, wobei ein IPv6-Host in der Regel immer eine link-lokale IP-Adresse hat und zusätzliche auch noch eine globale IP-Adresse.

IPv6 kennt drei Wege, wie ein Client an eine globale IPv6-Adresse kommen kann. Entweder wird sie manuell konfiguriert, per Autokonfiguration oder wie bei IPv4 per DHCP (DHCPv6) vergeben. Die manuelle Konfiguration der globalen IPv6-Adresse kann man sich sparen, weil die Autokonfiguration von IPv6 globale IPv6-Adressen zentral vergeben kann. Nur der DNS-Server und eventuell ein NTP-Server müssen manuell konfiguriert oder zusätzlich zentral verfügbar gemacht werden. Beispielsweise per DHCPv6.

Beide Verfahren haben jedoch den Nachteil, dass sie für sich alleine nicht gut funktionieren. Das liegt daran, weil in älteren Betriebssystemen IPv6 nur unzureichend integriert ist. Momentan (Stand Anfang 2014) gibt es drei Szenarien die für eine IPv6-Autokonfiguration sinnvoll erscheinen:

  1. IPv6-Autokonfiguration nur über Router-Advertisement (stateless), ohne globale IPv6-Adresse.
  2. Link-lokale und globale IPv6-Adresse und Default-Route über Router-Advertisement, DNS-Adresse und weitere Parameter über DHCPv6 (stateless).
  3. Globale IPv6-Adresse, DNS-Adresse und weitere Parameter über DHCPv6, die Default-Route über Router-Advertisements (stateful).

IPv6-Header und Extension Header

Jedes IPv6-Datenpaket besteht aus einem Header (Kopf) und dem Bereich, in dem sich die Nutzdaten befinden. Der Header ist den Nutzdaten vorangestellt. Der IPv6-Header enthält unter anderem die IP-Adresse von Sender und Empfänger und weitere Angaben, die für das IP-Routing wichtig sind und von den Routern auf dem Weg von Sender zu Empfänger ausgewertet werden.
Der IPv6-Header weist eine feste Länge von 40 Byte auf. Optionale Informationen sind in den Extension-Header ausgelagert.

NDP und ICMPv6

Neighbor Discovery Protocol, kurz NDP, ist das IPv6-Protokoll zum Austausch link-lokal relevanter Nachrichten wie Router Discovery und Neighbor Discovery. Die Übertragung der NDP-Nachrichten erfolgt mit ICMPv6 auf der Vermittlungsschicht des OSI-Schichtenmodells.

Übergangsverfahren von IPv4 auf IPv6

Mit der praktischen Umsetzung von IPv4 auf IPv6 hapert es, weil es unmöglich ist, alle Netzwerk-Geräte auf einmal IPv6-fähig zu machen. Damit der Wechsel leichter geht und Investitionen in alte IPv4-Technik nicht obsolet wird, gibt es verschiedene Verfahren, die den Übergang von IPv4 nach IPv6 erleichtern sollen.

Aufgaben und Übungen mit dem Raspberry Pi

Übersicht: IPv6