Das Internet erobert immer mehr Bereiche des Lebens: Während demnächst praktisch jede Kaffeemaschine über eine eigene Internet-Adresse verfügen soll, stößt das derzeit verwendete IPv4 an seine Grenzen. Die nur 32 Bit langen Adressen werden langsam knapp. Die Vision "Internet everywhere" ist damit allein durch diesen Umstand nur schwer zu verwirklichen. Auch in anderen Bereichen zeigen sich immer mehr Einschränkungen des Protokolls. So kennt IPv4 keine Sicherheitsfunktionen oder Verschlüsselung. Auch Streaming-Anwendungen wird das Protokoll kaum gerecht.
Ein neues Protokoll mit größerem Adressraum und an heutige Anforderungen angepassten Funktionen ist daher notwendig. Der Nachfolger des heute gängigen Protokolltyps IPv4 trägt die Bezeichnung Internet Protocol Version 6, oder auch Internet Protocol next Generation (IPnG), und wurde bereits Ende 1994 von der IETF empfohlen. Dass man Versionsnummer 5 ausgelassen hat, hat einen einfachen Grund: Der Versionssprung soll den evolutionären Fortschritt verdeutlichen.
Seither hat sich eine Vielzahl von Unternehmen, Organisationen und Netzwerker an die Entwicklung erster Implementierungen angesetzt. Insbesondere Hersteller von Routern haben ihren Produkten IPv6-Unterstützung verpasst. Auch Softwareentwickler sind auf den IPv6-Zug aufgesprungen. Selbst einen globales IPv6-basiertes Netz gibt es bereits: 6Bone.
Neue Anforderungen
Antriebsfeder für die Entwicklung einer verbesserten IP-Funktionalität waren die Ergebnisse der von der IETF ins Leben gerufenen Arbeitsgruppe Address Lifetime Expectation. Nach deren Berechnungen wird der Adressraum der 32-Bit-langen IP-Adressen nur noch bis zum Jahre 2005 ausreichen. Neben der akuten Adressverknappung bringt IPv4 noch weitere Einschränkungen mit sich: Das Protokoll ist nur unzureichend für den Einsatz von neuen Technologien wie etwa WebTV, Video-on-Demand oder Electronic Commerce geeignet. Um die Beschränkungen von IPv4 zu lösen, haben die Väter von IPv6 eine Vielzahl von Verbesserungen eingeführt. Die Wichtigsten sind:
erweiterter Adressraum
erweiterte Routing-Funktionen
Vereinfachung der IP-Header-Informationen
Unicast, Anycast und Multicast
Quality-of-Service
Unterstützung von Authentifizierung und Sicherheit
Ein weiterer, nicht minder wichtiger, Punkt: Ein spezieller Migrationsmechansimus soll den sanften Übergang von einer Versionsnummer zur nächsten sicherstellen.
IPv6-Header-Format
Eines der zentralen Ziele der IPv6-Spezifikation ist die Vereinfachung der Header-Struktur. Die neue Header-Struktur soll sicherstellen, dass die erforderliche Flexibilität und Erweiterbarkeit für kommende Entwicklungen gewährleistet ist. Der IPv6-Header enthält neben der Versionsbezeichnung sieben Informationen:
Priority: Erlaubt das Setzen von Prioritäten. In dem 4-Bit-langen Feld kann die Quelle einzelnen Paketen Prioritäten relativ zu anderen Paketen zuweisen.
Flow Label: Definiert eine Art Verbindungs-ID zwischen zwei Endpunkten. Router können anhand dieser Informationen Pakete, die zu einer Verbindung gehören, direkt übermitteln, ohne die übrigen Header-Informationen zu analysieren. Diese Funktion ist vor allem für Multimedia-Anwendungen interessant.
Payload Length: Gibt die Länge des IPv6-Datenpakets als Integer-Wert an. Ist das Paket größer als 64 KByte, wird der Wert auf 0 gesetzt und die exakte Länge im Options-Header angegeben.
Next Header: Gibt den Header-Typ an, der auf den IPv6-Header folgt, beispielsweise Routing- oder Options-Header.
Hop Limit: Bestimmt die maximale Anzahl an Routern, die ein IPv6-Datenpaket überqueren kann, ähnlich dem Time-to-Live-Wert bei IPv4.
Source Address: Gibt die 128-Bit-lange IP-Adresse des Senders an.
Destination Address: Gibt die 128-Bit-lange IP-Adresse des Empfängers an.
In IPv6-Paketen können neben dem eigentlichen IP-Header weitere Header übermittelt werden. Diese Erweiterungs-Header (Extension Headers) übertragen zusätzliche Steuerinformationen. IPv6-Datenpakete können keinen, einen oder auch mehrere Erweiterungs-Header mit auf die Reise nehmen. Beispiele für solche Header-Typen sind die bereits erwähnten Routing- oder Options-Header.
Neue Adressen
Die weithin bekannteste Änderung, die IPv6 bringt, ist die Vergrößerung des IP-Adressraumes. Durch die Erweiterung der Adressenlänge von 32 auf 128 Bit, ergibt sich eine astronomische Adressenvielfalt. Genauer: 340.282.366.920.938.463.463.374.607.431.768.211.456 mögliche Adressen. Da diese Zahl von Normalsterblichen kaum zu fassen ist, haben sich findige Rechenkünstler einen nicht minder beeindruckenden Vergleich ausgedacht: Die Zahl reicht aus, um jeden Quadratkilometer der Erdoberfläche mit 665.570.793.348.866.943.898.599 Adressen abzudecken.
Im Adressenbereich gibt es weitere Neuerung. Während IPv4-Adressen in die Netzwerkklassen A, B, C, D und E unterteilt werden, verwendet IPv6 den Begriff des Adresstyps. Man unterscheidet zwischen Unicast-, Anycast- und Multicast-Adressen. Der Typ wird im Präfix der 128-Bit-langen Adresse definiert.
Der Unicast-Adressbereich ist in drei Klassen eingeteilt:
Aggregierbare, globale Unicast-Adressen: Dieser Adressentyp ist für Punkt-zu-Punkt-Verbindungen gedacht. Er ist in seiner Funktionalität mit IPv4-Adressen vergleichbar.
Unicast-Adressen für den lokalen Einsatz: Diese Adressen sind ausschließlich für den Einsatz in lokalen Netzen gedacht.
Spezielle Unicast-Adressen: Bei diesen Adressen handelt es sich beispielsweise um IPv4-kompatible IPv6-Adressen.
Anycast-Adressen sind ein spezieller Unicast-Adressentyp. Sie werden mehreren Schnittstellen auf verschiedenen Hosts zugewiesen. Ein Paket, das an eine solche Adresse gesendet wird, wird zu der Schnittstelle übermittelt, die dem Sender am nächsten liegt.
Multicast-Adressen definieren eine Gruppe von Schnittstellen auf verschiedenen Hosts. Ein Paket, das an eine solche Adresse verschickt wird, wird an alle Schnittstellen übermittelt.
Sanfte Migration
Eines der zentralen Probleme bei der Umstellung von IPv4 auf IPv6 ist die Frage, wie man die tief greifenden Änderungen möglichst schonend bewerkstelligt, ohne dass ein ganzes Netz zusammenbricht. Schon auf Grund der Dimensionen des Internets ist ein Ad-hoc-Umstieg nicht denkbar. Aus diesem Grund wurde in RFC 1933 ein Mechanismus definiert, der für den "sanften" Umstieg von einer Protokollversion zur nächsten sorgt. Der Kernpunkt: die Interoperabilität zwischen IPv4- und IPv6-Hosts. Danach müssen Systeme, die das neue Protokoll verwenden, auch weiterhin über IPv4 kommunizieren können. Das gilt insbesondere für Router. In der Praxis bedeutet das, dass IPv6-Router einen Dual-Stack verwenden, der sowohl IPv4, als auch IPv6 versteht.
Der Migrationsmechanismus sieht vor, dass IPv4-Hosts und -Router nicht gleichzeitig oder gar en bloc aufgerüstet werden müssen. Vielmehr können Systemadministratoren neue IPv6-Komponenten nach und nach einrichten. DNS-Server müssen allerdings zuerst mit den in RFC 1886 definierten Erweiterungen auf IPv6 vorbereitet sein. Bestehende IPv4 Rechner und Router, die nach IPv6 aufgerüstet werden, sind auch weiterhin unter ihrer alten Adresse erreichbar.
Implementierungen
Was bedeutet das nun für den Anwender? Kann oder muss man sich bald um einen neuen TCP/IP-Stack für seinen Windows-Rechner kümmern? Muss man womöglich auf eine neue Betriebssystemversion umsteigen?
Keine Panik, denn momentan kann man sich noch in Geduld üben. Das Internet wird nach wie vor von IPv4 beherrscht. Erste Implementierungen von IPv6 gibt es zwar, doch sind die wichtigsten Komponenten, DNS-Server und Router, längst noch nicht umgerüstet.
Im Linux-Umfeld beginnen die Hersteller von Distributionen gerade erst, IPv6 zu implementieren. Nicht viel weiter ist man bei Microsoft. Dort bemüht sich die Forschungsabteilung um die Entwicklung des IPv6-Stacks. Wann dieser fester Bestandteil von Windows sein wird, ist noch ungewiss.
Als Anwender muss man sich um diese Dinge praktisch nicht kümmern: Ein Dual-Stack-Mechanismus automatisiert die Kommunikation mit neuen IPv6- und alten IPv4-Hosts - zumindest in der Theorie. Vorausgesetzt, IPv6 ist sauber implementiert, sind keine Probleme zu erwarten. Doch da wird es noch so manche Überraschungen geben. Einen Überblick über aktuelle Implementierungen von verschiedenen Herstellern gibt es bei Sun. (mhe)