IPv6

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von SLAAC)
Wechseln zu: Navigation, Suche
IPv6 im TCP/IP‑Protokollstapel:
Anwendung HTTP IMAP SMTP DNS
Transport TCP UDP
Internet IPv6
Netzzugang Ethernet Token
Bus
Token
Ring
FDDI

Das Internet Protocol Version 6 (IPv6), früher auch Internet Protocol next Generation (IPnG) genannt, ist ein von der Internet Engineering Task Force (IETF) seit 1998 standardisiertes Verfahren zur Übertragung von Daten in paketvermittelnden Rechnernetzen, insbesondere dem Internet. In diesen Netzen werden die Daten in Paketen versendet, in welchen nach einem Schichtenmodell Steuerinformationen verschiedener Netzwerkprotokolle ineinander verschachtelt um die eigentlichen Nutzdaten herum übertragen werden. IPv6 stellt als Protokoll der Vermittlungsschicht (Schicht 3 des OSI-Modells) im Rahmen der Internetprotokollfamilie eine über Teilnetze hinweg gültige Adressierung der beteiligten Netzwerkelemente (Rechner oder Router) her. Ferner regelt es unter Verwendung dieser Adressen den Vorgang der Paketweiterleitung zwischen Teilnetzen (Routing). Die Teilnetze können so mit verschiedenen Protokollen unterer Schichten betrieben werden, die deren unterschiedlichen physikalischen und administrativen Gegebenheiten Rechnung tragen.

Im Internet soll IPv6 in den nächsten Jahren die gegenwärtig noch überwiegend genutzte Version 4 des Internet Protocols ablösen, da es eine deutlich größere Zahl möglicher Adressen bietet, die bei IPv4 zu erschöpfen drohen. Kritiker befürchten ein Zurückdrängen der Anonymität im Internet durch die nun mögliche zeitlich stabilere und weiter reichende öffentliche Adressierung.[1] Befürworter bemängeln die zögerliche Einführung von IPv6 angesichts der ausgelaufenen IPv4-Adressvergabe in Asien, Ozeanien und Europa.[2]

Gründe für ein neues Internet-Protokoll[Bearbeiten]

Anzahl verfügbarer IPv4-Adressblöcke zwischen 1995 und heute

IPv4 bietet einen Adressraum von etwas über vier Milliarden IP-Adressen (232 = 2564 = 4.294.967.296), von denen 3.707.764.736 verwendet werden können, um Computer und andere Geräte direkt anzusprechen.[3] In den Anfangstagen des Internets, als es nur wenige Rechner gab, die eine IP-Adresse brauchten, galt dies als weit mehr als ausreichend. Aufgrund des unvorhergesehenen Wachstums des Internets herrscht heute aber Adressenknappheit. Im Januar 2011 teilte die IANA der asiatischen Regional Internet Registry APNIC die letzten zwei frei zu vergebenden Netze zu.[4] Gemäß einer Vereinbarung aus dem Jahr 2009[5] wurde am 3. Februar 2011 schließlich der verbleibende Adressraum gleichmäßig auf die regionalen Adressvergabestellen verteilt.[6][3] Darüber hinaus steht den regionalen Adressvergabestellen kein weiterer IPv4-Adressraum mehr zur Verfügung. Am 15. April 2011 teilte APNIC die letzten frei zu vergebenden Adressen für die Region Südostasien zu;[7] am 14. September 2012 folgte dann RIPE NCC mit der letzten freien Zuteilung in der Region Europa/Naher Osten.[8] Seitdem haben APNIC- und RIPE NCC-Mitglieder jeweils nur noch Anspruch auf eine einzelne Zuteilung von IPv4-Adressraum der minimalen Zuteilungsgröße.[9][10]

Die historische Entwicklung des Internets wirft ein weiteres Problem auf: Durch die mit der Zeit mehrmals geänderte Vergabepraxis von Adressen des IPv4-Adressraums ist dieser inzwischen stark fragmentiert, d. h., häufig gehören mehrere nicht zusammenhängende Adressbereiche zur gleichen organisatorischen Instanz. Dies führt in Verbindung mit der heutigen Routingstrategie (Classless Inter-Domain Routing) zu langen Routingtabellen, auf welche Speicher und Prozessoren der Router im Kernbereich des Internets ausgelegt werden müssen. Zudem erfordert IPv4 von Routern, Prüfsummen jedes weitergeleiteten Pakets neu zu berechnen, was eine weitere Prozessorbelastung darstellt.

Aus diesen Gründen begann die IETF bereits 1995 die Arbeiten an IPv6. Im Dezember 1998 wurde IPv6 mit der Publikation von RFC 2460 auf dem Standards Track offiziell zum Nachfolger von IPv4 gekürt.

Die wesentlichen neuen Eigenschaften von IPv6 umfassen:

Die hauptsächliche Motivation zur Vergrößerung des Adressraums besteht in der Wahrung des Ende-zu-Ende-Prinzips,[13] das ein zentrales Designprinzip des Internets ist:[14] Nur die Endknoten des Netzes sollen aktive Protokolloperationen ausführen, das Netz zwischen den Endknoten ist nur für die Weiterleitung der Datenpakete zuständig. (Das Internet unterscheidet sich hier wesentlich von anderen digitalen Datenübertragungsnetzwerken wie z. B. GSM.) Dazu ist es notwendig, dass jeder Netzknoten global eindeutig adressierbar ist.[13]

Heute übliche Verfahren wie Network Address Translation (NAT), welche derzeit die IPv4-Adressknappheit umgehen, verletzen das Ende-zu-Ende-Prinzip.[15] Sie ermöglichen den so angebundenen Rechnern nur, ausgehende Verbindungen aufzubauen. Aus dem Internet können diese hingegen nicht ohne Weiteres kontaktiert werden. Auch verlassen sich IPsec oder Protokolle auf höheren Schichten wie z. B. FTP und SIP teilweise auf das Ende-zu-Ende-Prinzip und sind mit NAT nur eingeschränkt oder mittels Zusatzlösungen funktionsfähig.[16] Besonders für Heimanwender bedeutet IPv6 damit einen Paradigmenwechsel: Anstatt vom Provider nur eine einzige IP-Adresse zugewiesen zu bekommen und über NAT mehrere Geräte ans Internet anzubinden, bekommt der Anwender den global eindeutigen IP-Adressraum für ein ganzes Teilnetz zur Verfügung gestellt, so dass jedes seiner Geräte eine IP-Adresse aus diesem erhalten kann. Damit wird es für Endbenutzer einfacher, durch das Anbieten von Diensten aktiv am Netz teilzunehmen. Zudem entfallen die Probleme, die bei NAT durch die Adressumschreibung entstehen.

Bei der Wahl der Adresslänge und damit der Größe des zur Verfügung stehenden Adressraums waren mehrere Faktoren zu berücksichtigen. Zum einen müssen pro Datenpaket auch Quell- und Ziel-IP-Adresse übertragen werden. Längere IP-Adressen führen damit zu erhöhtem Protokoll-Overhead, d. h. das Verhältnis zwischen tatsächlichen Nutzdaten und der zur Vermittlung notwendigen Protokolldaten sinkt.[17] Auf der anderen Seite sollte dem zukünftigen Wachstum des Internets Rechnung getragen werden. Zudem sollte es zur Verhinderung der Fragmentierung des Adressraums möglich sein, einer Organisation nur ein einziges Mal Adressraum zuweisen zu müssen. Um den Prozess der Autokonfiguration sowie Umnummerierung und Multihoming zu vereinfachen, war es außerdem wünschenswert, einen festen Teil der Adresse zur netzunabhängigen eindeutigen Identifikation eines Netzknotens zu reservieren. Die letzten 64 Bit der Adresse bestehen daher in der Regel aus der EUI-64 der Netzwerkschnittstelle des Knotens.

Adressaufbau von IPv6[Bearbeiten]

IPv6-Adressen sind 128 Bit lang (IPv4: 32 Bit). Die ersten 64 Bit bilden den sogenannten Präfix, die letzten 64 Bit bilden bis auf Sonderfälle einen für die Netzwerkschnittstelle (englisch network interface) eindeutigen Interface-Identifier. Eine Netzwerkschnittstelle kann unter mehreren IP-Adressen erreichbar sein; in der Regel ist sie dies mittels ihrer link-lokalen Adresse und einer global eindeutigen Adresse. Derselbe Interface-Identifier kann damit Teil mehrerer IPv6-Adressen sein, welche mit verschiedenen Präfixen auf dieselbe Netzwerkkarte gebunden sind. Insbesondere gilt dies auch für Präfixe möglicherweise verschiedener Provider; dies vereinfacht Multihoming-Verfahren.

Da die Erzeugung des Interface-Identifiers aus der global eindeutigen MAC-Adresse die Nachverfolgung von Benutzern ermöglicht, wurden die Privacy-Extensions (PEX, RFC 4941) entwickelt, um diese permanente Kopplung der Benutzeridentität an die IPv6-Adressen aufzuheben. Indem der Interface-Identifier zufällig generiert wird und regelmäßig wechselt, soll ein Teil der Anonymität von IPv4 wiederhergestellt werden.

Da im Privatbereich in der IPv6-Adresse aber sowohl der Interface-Identifier als auch der Präfix allein recht sicher auf einen Nutzer schließen lassen können, ist aus Datenschutzgründen in Verbindung mit den Privacy Extensions ein vom Provider dynamisch zugewiesener, z. B. täglich wechselnder Präfix wünschenswert. (Mit einer statischen Adresszuteilung geht in der Regel insbesondere ein Eintrag in der öffentlichen Whois-Datenbank einher.) Dabei ist es wie oben beschrieben grundsätzlich möglich, auf derselben Netzwerkkarte sowohl IPv6-Adressen aus dynamischen als auch aus fest zugewiesenen Präfixen parallel zu verwenden. In Deutschland hat der Deutsche IPv6-Rat Datenschutzleitlinien formuliert, die auch eine dynamische Zuweisung von IPv6-Präfixen vorsehen.[18]

Adressnotation[Bearbeiten]

Die textuelle Notation von IPv6-Adressen ist in Abschnitt 2.2 von RFC 4291 beschrieben:

  1. IPv6-Adressen werden gewöhnlicherweise hexadezimal (IPv4: dezimal) notiert, wobei die Zahl in acht Blöcke zu jeweils 16 Bit (4 Hexadezimalstellen) unterteilt wird. Diese Blöcke werden durch Doppelpunkte (IPv4: Punkte) getrennt notiert: 2001:0db8:85a3:08d3:1319:8a2e:0370:7344.
  2. Führende Nullen innerhalb eines Blockes dürfen ausgelassen werden: 2001:0db8:0000:08d3:0000:8a2e:0070:7344 ist gleichbedeutend mit 2001:db8:0:8d3:0:8a2e:70:7344.
  3. Ein oder mehrere aufeinander folgende Blöcke, deren Wert 0 (bzw. 0000) beträgt, dürfen ausgelassen werden. Dies wird durch zwei aufeinander folgende Doppelpunkte angezeigt: 2001:0db8:0:0:0:0:1428:57ab ist gleichbedeutend mit 2001:db8::1428:57ab.[19]
  4. Die Reduktion durch Regel 3 darf nur einmal durchgeführt werden, das heißt, es darf höchstens eine zusammenhängende Gruppe aus Null-Blöcken in der Adresse ersetzt werden. Die Adresse 2001:0db8:0:0:8d3:0:0:0 darf demnach entweder zu 2001:db8:0:0:8d3:: oder 2001:db8::8d3:0:0:0 gekürzt werden; 2001:db8::8d3:: ist unzulässig, da dies mehrdeutig ist und fälschlicherweise z. B. auch als 2001:db8:0:0:0:8d3:0:0 interpretiert werden könnte. Es empfiehlt sich den Block mit den meisten Null-Blöcken zu kürzen.
  5. Ebenfalls darf für die letzten vier Bytes (also 32 Bits) der Adresse die herkömmliche dezimale Notation verwendet werden. So ist ::ffff:127.0.0.1 eine alternative Schreibweise für ::ffff:7f00:1. Diese Schreibweise wird vor allem bei Einbettung des IPv4-Adressraums in den IPv6-Adressraum verwendet.

URL-Notation von IPv6-Adressen[Bearbeiten]

In einer URL wird die IPv6-Adresse in eckige Klammern eingeschlossen,[20] z. B.:

http://[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]/

Diese Notation verhindert die fälschliche Interpretation von Portnummern als Teil der IPv6-Adresse:

http://[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]:8080/

Netznotation[Bearbeiten]

IPv6-Netzwerke werden in der CIDR-Notation aufgeschrieben. Dazu werden die erste Adresse (bzw. die Netzadresse) und die Länge des Präfixes in Bits getrennt durch einen Schrägstrich notiert. Zum Beispiel steht 2001:0db8:1234::/48 für das Netzwerk mit den Adressen 2001:0db8:1234:0000:0000:0000:0000:0000 bis 2001:0db8:1234:ffff:ffff:ffff:ffff:ffff. Die Größe eines IPv6-Netzwerkes (oder Subnetzwerkes) im Sinne der Anzahl der vergebbaren Adressen in diesem Netz muss also eine Zweierpotenz sein. Da ein einzelner Host auch als Netzwerk mit einem 128 Bit langen Präfix betrachtet werden kann, werden Host-Adressen manchmal mit einem angehängten „/128“ geschrieben.

Aufteilung des IPv6-Adressraums[Bearbeiten]

Adresszuweisung[Bearbeiten]

Typischerweise bekommt ein Internetprovider (ISP) die ersten 32 Bit (oder weniger) als Netz von einer Regional Internet Registry (RIR) zugewiesen.[21] Dieser Bereich wird vom Provider weiter in Subnetze aufgeteilt. Die Länge der Zuteilung an Endkunden wird dabei dem ISP überlassen; vorgeschrieben ist die minimale Zuteilung eines /64-Netzes.[22] Ältere Dokumente (z. B. RFC 3177) schlagen eine Zuteilung von /48-Netzen an Endkunden vor; in Ausnahmefällen ist die Zuteilung größerer Netze als /48 oder mehrerer /48-Netze an einen Endkunden möglich.[23] Informationen über die Vergabe von IPv6-Netzen können über die Whois-Dienste der jeweiligen RIRs abgefragt werden. Es gibt in deren RPSL-Datenbanken dazu inet6num- und route6-Objekte und in vielen anderen Objekttypen Attribute zur Multi-Protocol-Erweiterung (mp) mit Angabe der Address-Family (afi) zum Spezifizieren des neuen Protokolls.

Einem einzelnen Netzsegment wird in der Regel ein 64 Bit langer Präfix zugewiesen, das dann zusammen mit einem 64 Bit langen Interface-Identifier die Adresse bildet.[24] Der Interface-Identifier kann entweder aus der MAC-Adresse der Netzwerkkarte erstellt oder anders eindeutig zugewiesen werden; das genaue Verfahren ist in RFC 4291, Anhang A beschrieben.

Hat z. B. ein Netzwerkgerät die IPv6-Adresse

2001:0db8:85a3:08d3:1319:8a2e:0370:7347/64,

so lautet der Präfix

2001:0db8:85a3:08d3::/64

und der Interface-Identifier

                    1319:8a2e:0370:7347.

Der Provider bekam von der RIR wahrscheinlich das Netz

2001:0db8::/32

zugewiesen und der Endkunde vom Provider möglicherweise das Netz

2001:0db8:85a3::/48,

oder aber nur

2001:0db8:85a3:0800::/56.

Adressbereiche[Bearbeiten]

Es gibt verschiedene IPv6-Adressbereiche mit Sonderaufgaben und unterschiedlichen Eigenschaften. Diese werden meist schon durch die ersten Bits der Adresse signalisiert. Sofern nicht weiter angegeben, werden die Bereiche in RFC 4291 bzw. RFC 5156 definiert. Unicast-Adressen charakterisieren Kommunikation eines Netzknotens mit genau einem anderen Netzknoten; Einer-zu-vielen-Kommunikation wird durch Multicast-Adressen abgebildet.

Besondere Adressen[Bearbeiten]

  • ::/128 (128 0-Bits) ist die nicht spezifizierte Adresse. Sie darf keinem Host zugewiesen werden, sondern zeigt das Fehlen einer Adresse an. Sie wird beispielsweise von einem initialisierenden Host als Absenderadresse in IPv6-Paketen verwendet, solange er seine eigene Adresse noch nicht mitgeteilt bekommen hat.[25] Jedoch können auch Serverprogramme durch Angabe dieser Adresse bewirken, dass sie auf allen Adressen des Hosts lauschen.
  • ::1/128 (127 0-Bits, ein 1-Bit) ist die Adresse des eigenen Standortes (loopback-Adresse, die in der Regel mit localhost verknüpft ist).

Link-Local-Adressen[Bearbeiten]

Link-Local-Adressen[26] sind nur innerhalb abgeschlossener Netzwerksegmente gültig. Ein Netzwerksegment ist ein lokales Netz, gebildet mit Switches oder Hubs, bis zum ersten Router. Der Formatpräfix lautet „fe80::/10“:

10 Bits 54 Bits 64 Bits
1111111010 0 Interface ID

Link-Local-Adressen nutzt man zur Adressierung von Nodes in abgeschlossenen Netzwerksegmenten, sowie zur Autokonfiguration oder Neighbour-Discovery. Dadurch muss man in einem Netzwerksegment keinen DHCP-Server zur automatischen Adressvergabe konfigurieren. Link-Local-Adressen sind mit APIPA-Adressen im Netz 169.254.0.0/16 vergleichbar.

Soll ein Gerät mittels einer dieser Adressen kommunizieren, so muss die Zone ID mit angegeben werden, da eine Link-Lokale-Adresse auf einem Gerät mehrfach vorhanden sein kann. Bei einer einzigen Netzwerkschnittstelle würde eine Adresse etwa so aussehen: fe80::7645:6de2:ff:1%1.

Site Local Unicast (veraltet)[Bearbeiten]

fec0::/10 (fec0… bis feff…), auch standortlokale Adressen (site local addresses), waren die Nachfolger der privaten IP-Adressen (beispielsweise 192.168.x.x). Sie durften nur innerhalb der gleichen Organisation geroutet werden. Die Wahl des verwendeten Adressraums innerhalb von fec0::/10 war für eine Organisation beliebig. Bei der Zusammenlegung von ehemals getrennten Organisationen oder wenn eine VPN-Verbindung zwischen eigentlich getrennten mit Site Local Addresses nummerierten Netzwerken hergestellt wurde, konnte es daher zu Überschneidungen der Adressräume an den unterschiedlichen Standorten kommen. Aus diesem und weiteren Gründen sind Site Local Addresses daher nach RFC 3879 inzwischen veraltet (engl. deprecated) und werden aus zukünftigen Standards verschwinden. Neue Implementierungen müssen diesen Adressbereich als Global-Unicast-Adressen behandeln. Nachfolger der standortlokalen Adressen sind die Unique Local Addresses, die im nächsten Abschnitt beschrieben werden.

Unique Local Unicast[Bearbeiten]

fc00::/7 (fc00… bis fdff…). Für private Adressen gibt es die Unique Local Addresses (ULA), beschrieben in RFC 4193. Derzeit ist nur der Präfix fd für lokal generierte ULA vorgesehen, mit dem Präfix fc werden in Zukunft wahrscheinlich global zugewiesene eindeutige ULA gekennzeichnet. Auf diesen Präfix folgen dann 40 Bits, die als eindeutige Site-ID fungieren. Diese Site-ID ist bei den ULA mit dem Präfix fd zufällig zu generieren[27] und somit nur sehr wahrscheinlich eindeutig, bei den global vergebenen ULA jedoch auf jeden Fall eindeutig (RFC 4193 gibt jedoch keine konkrete Implementierung der Zuweisung von global eindeutigen Site-IDs an). Nach der Site-ID folgt eine 16-Bit-Subnet-ID, welche ein Netz innerhalb der Site angibt.

Eine Beispiel-ULA wäre fd9e:21a7:a92c:2323::1. Hierbei ist fd der Präfix für lokal generierte ULAs, 9e:21a7:a92c ein einmalig zufällig erzeugter 40-Bit-Wert und 2323 eine willkürlich gewählte Subnet-ID.

Die Verwendung von wahrscheinlich eindeutigen Site-IDs hat den Vorteil, dass zum Beispiel beim Einrichten eines Tunnels zwischen getrennt voneinander konfigurierten Netzwerken Adresskollisionen sehr unwahrscheinlich sind. Weiterhin wird erreicht, dass Pakete, welche an eine nicht erreichbare Site gesendet werden, mit großer Wahrscheinlichkeit ins Leere laufen, anstatt an einen lokalen Host gesendet zu werden, der zufällig die gleiche Adresse hat.

Es existiert ein proposed standard, welcher Richtlinien für Registrare (IANA, RIR) beschreibt, konkret deren Betrieb sowie die Adressvergabe-Regeln. Allerdings ist eine derartige „ULA-Central“ noch nicht gegründet.

Sowohl der RFC 4193 als auch der proposed standard sind identisch in Bezug auf das Adressformat und den oben genannten Generierungs-Algorithmus.

Multicast[Bearbeiten]

ff00::/8 (ff…) stehen für Multicast-Adressen.

Nach dem Multicast-Präfix folgen 4 Bits für Flags und 4 Bits für den Gültigkeitsbereich (Scope). Für die Flags sind zurzeit folgende Kombinationen gültig:[28]

  • 0: Permanent definierte wohlbekannte Multicast-Adressen (von der IANA zugewiesen)[29]
  • 1: (T-Bit gesetzt) Transient (vorübergehend) oder dynamisch zugewiesene Multicast-Adressen
  • 3: (P-Bit gesetzt, erzwingt das T-Bit) Unicast-Prefix-based Multicast-Adressen (RFC 3306)
  • 7: (R-Bit gesetzt, erzwingt P- und T-Bit) Multicast-Adressen, welche die Adresse des Rendezvous-Point enthalten (RFC 3956)

Die folgenden Gültigkeitsbereiche sind definiert:[28]

  • 1: interfacelokal, diese Pakete verlassen die Schnittstelle nie. (Loopback)
  • 2: link-lokal, werden von Routern grundsätzlich nie weitergeleitet und können deshalb das Teilnetz nicht verlassen.
  • 4: adminlokal, der kleinste Bereich, dessen Abgrenzung in den Routern speziell administriert werden muss.
  • 5: sitelokal, dürfen zwar geroutet werden, jedoch nicht von Border-Routern.
  • 8: organisationslokal, die Pakete dürfen auch von Border-Routern weitergeleitet werden, bleiben jedoch „im Unternehmen“ (hierzu müssen seitens des Routing-Protokolls entsprechende Vorkehrungen getroffen werden).
  • e: globaler Multicast, der überallhin geroutet werden darf.
  • 0, 3, f: reservierte Bereiche
  • die restlichen Bereiche sind nicht zugewiesen und dürfen von Administratoren benutzt werden, um weitere Multicast-Regionen zu definieren.[30]

Beispiele für wohlbekannte Multicast-Adressen:[31]

  • ff01::1, ff02::1: All Nodes Adressen. Entspricht dem Broadcast.
  • ff01::2, ff02::2, ff05::2: All Routers Adressen, adressiert alle Router in einem Bereich.

Global Unicast[Bearbeiten]

Alle anderen Adressen gelten als Global-Unicast-Adressen. Von diesen sind jedoch bisher nur die folgenden Bereiche zugewiesen:

  • ::/96 (96 0-Bits) stand für IPv4-Kompatibilitätsadressen, welche in den letzten 32 Bits die IPv4-Adresse enthielten (dies galt nur für globale IPv4 Unicast-Adressen). Diese waren für den Übergang definiert, jedoch im RFC 4291 vom Februar 2006 für veraltet (engl. deprecated) erklärt.
  • 0:0:0:0:0:ffff::/96 (80 0-Bits, gefolgt von 16 1-Bits) steht für IPv4 mapped (abgebildete) IPv6 Adressen. Die letzten 32 Bits enthalten die IPv4-Adresse. Ein geeigneter Router kann diese Pakete zwischen IPv4 und IPv6 konvertieren und so die neue mit der alten Welt verbinden.
  • 2000::/3 ( 2000… bis 3fff… ) (was dem binären Präfix 001 entspricht) stehen für die von der IANA vergebenen globalen Unicast-Adressen, also routbare und weltweit einzigartige Adressen.
  • 2001-Adressen werden an Provider vergeben, die diese an ihre Kunden weiterverteilen.
  • Adressen aus 2001::/32 (also beginnend mit 2001:0:) werden für den Tunnelmechanismus Teredo benutzt.
  • Adressen aus 2001:db8::/32 dienen Dokumentationszwecken, wie beispielsweise in diesem Artikel, und bezeichnen keine tatsächlichen Netzteilnehmer.
  • 2002-Präfixe deuten auf Adressen des Tunnelmechanismus 6to4 hin.
  • Auch mit 2003, 240, 260, 261, 262, 280, 2a0, 2b0 und 2c0 beginnende Adressen werden von Regional Internet Registries (RIRs) vergeben; diese Adressbereiche sind ihnen z. T. aber noch nicht zu dem Anteil zugeteilt, wie dies bei 2001::/16 der Fall ist.[32]
  • 3ffe::/16-Adressen wurden für das Testnetzwerk 6Bone benutzt; dieser Adressbereich wurde gemäß RFC 3701 wieder an die IANA zurückgegeben.
  • 64:ff9b::/96 kann für den Übersetzungsmechanismus NAT64 gemäß RFC 6146 verwendet werden.

Funktionalität[Bearbeiten]

Autokonfiguration[Bearbeiten]

Mittels Stateless Address Autoconfiguration (SLAAC, zustandslose Adressenautokonfiguration, spezifiziert in RFC 4862) kann ein Host vollautomatisch eine funktionsfähige Internetverbindung aufbauen. Dazu kommuniziert er mit den für sein Netzwerksegment zuständigen Routern, um die notwendige Konfiguration zu ermitteln.

Ablauf[Bearbeiten]

Zur initialen Kommunikation mit dem Router weist sich der Host eine link-lokale Adresse zu, die im Falle einer Ethernet-Schnittstelle etwa aus deren Hardware-Adresse berechnet werden kann. Damit kann ein Gerät sich mittels des Neighbor Discovery Protocols (NDP, siehe auch ICMPv6-Funktionalität) auf die Suche nach den Routern in seinem Netzwerksegment machen. Dies geschieht durch eine Anfrage an die Multicast-Adresse ff02::2, über die alle Router eines Segments erreichbar sind (Router Solicitation).

Ein Router versendet auf eine solche Anfrage hin Information zu verfügbaren Präfixen, also Information über die Adressbereiche, aus denen ein Gerät sich selbst Unicast-Adressen zuweisen darf. Die Pakete, die diese Informationen tragen, werden Router Advertisements genannt. Sie besitzen ICMPv6-Typ 134 (0x86) und besitzen Informationen über die Lifetime, die MTU und der Präfix des Netzwerks. An einen solchen Präfix hängt der Host den auch für die link-lokale Adresse verwendeten Interface-Identifier an.

Um die doppelte Vergabe einer Adresse zu verhindern, ist der Mechanismus Duplicate Address Detection (DAD – Erkennung doppelt vergebener Adressen) vorgesehen.[33] Ein Gerät darf bei der Autokonfiguration nur unvergebene Adressen auswählen. Der DAD-Vorgang läuft ebenfalls ohne Benutzereingriff via NDP ab.

Gültigkeitsangaben[Bearbeiten]

Router können bei der Vergabe von Adresspräfixen begrenzte Gültigkeitszeiten mitgeben: Valid Lifetime und Preferred Lifetime.[34] Innerhalb der Valid Lifetime darf der angegebene Präfix zur Kommunikation verwendet werden; innerhalb der Preferred Lifetime soll dieser Präfix einem anderen, dessen Valid Lifetime schon abgelaufen ist, vorgezogen werden.[35] Router verschicken regelmäßig Router Advertisements an alle Hosts in einem Netzsegment, für das sie zuständig sind, mittels derer die Präfix-Gültigkeitszeiten aufgefrischt werden; durch Änderung der Advertisements können Hosts umnummeriert werden. Sind die Router Advertisements nicht über IPsec authentifiziert, ist die Herabsetzung der Gültigkeitszeit eines einem Host bereits bekannten Präfixes auf unter zwei Stunden jedoch nicht möglich.[36]

Verhältnis von Autokonfiguration zu DHCPv6[Bearbeiten]

Die IPv6-Autokonfiguration unterscheidet sich konzeptionell von DHCP beziehungsweise DHCPv6. Während bei der Adressvergabe durch DHCPv6 (definiert in RFC 3315) von „Stateful Address Configuration“ gesprochen wird (sinngemäß: Adressvergabe, über die Buch geführt wird, etwa durch einen DHCP-Server), ist die Autokonfiguration eine „Stateless Address (Auto)Configuration“, da Geräte sich selbst eine Adresse zuweisen und über diese Vergabe nicht Buch geführt wird.

Mittels der Autokonfiguration können an Clients keine Informationen zu Host-, Domainnamen, DNS, NTP-Server etc. mitgeteilt werden, sofern diese nicht spezifische Erweiterungen von NDP unterstützen. Als Alternative hat sich der zusätzliche Einsatz eines DHCPv6-Servers etabliert; dieser liefert die gewünschten Zusatzinformationen, kümmert sich dabei aber nicht um die Adressvergabe. Man spricht in diesem Fall von Stateless DHCPv6 (vgl. RFC 3736). Dem Client kann mittels des Managed-Flags in der Antwort auf eine NDP-Router-Solicitation angezeigt werden, dass er eine DHCPv6-Anfrage stellen und somit die Zusatzinformationen beziehen soll.

Umnummerierung und Multihoming[Bearbeiten]

Unter IPv4 ist die Umnummerierung (Änderung des IP-Adressbereichs) für Netze ab einer gewissen Größe problematisch, auch wenn Mechanismen wie DHCP dabei helfen. Speziell der Übergang von einem Provider zum nächsten ohne ein „hartes“ Umschalten zu einem festen Zeitpunkt ist schwierig, da dies nur dann möglich ist, wenn das Netz für einen gewissen Zeitraum multihomed ist, also ein Netz gleichzeitig von mehr als einem Provider mit Internet-Anbindung und IP-Adressbereichen versorgt wird. Die Umgehung des Umnummerierens unter IPv4 mittels Border Gateway Protocol (BGP) führt zur Fragmentierung des Adressraums. Es geraten also viele, vergleichsweise kleine Netze bis in die Routingtabellen im Kernbereich des Internets, und die Router dort müssen darauf ausgelegt werden.

Der Vorgang der Umnummerierung wurde beim Design von IPv6 hingegen berücksichtigt, er wird in RFC 4076 behandelt. Mechanismen wie die IPv6-Autokonfiguration helfen dabei. Der parallele Betrieb mehrerer IP-Adressbereiche gestaltet sich unter IPv6 ebenfalls einfacher als unter IPv4, wie im Abschnitt Adressaufbau oben beschrieben. In RFC 3484 wird festgelegt, wie die Auswahl der Quell- und Zieladressen bei der Kommunikation geschehen soll und wie sie beeinflusst werden kann, wenn nun jeweils mehrere zur Verfügung stehen. Darüber hinaus darf diese Auswahl auch auf Anwendungsebene oder durch noch zu schaffende, z. B. die Verbindungsqualität einbeziehende Mechanismen getroffen werden. Das Ziel ist unter anderem, dem Betreiber eines Netzwerkes den unkomplizierten Wechsel zwischen Providern oder gar den dauerhaften Parallelbetrieb mehrerer Provider zu ermöglichen, um damit den Wettbewerb zu fördern, die Ausfallsicherheit zu erhöhen oder den Datenverkehr auf Leitungen mehrerer Anbieter zu verteilen.

Mobile IPv6[Bearbeiten]

Mobile IP wurde als Erweiterung des IPv6-Standards unter dem Namen „Mobile IPv6“ (RFC 6275) in IPv6 integriert. Die Kommunikation erfolgt dabei virtuell immer unabhängig von der aktuellen Position der Knotenpunkte.[37] Somit erlaubt Mobile IP Endgeräten, überall unter der gleichen IP-Adresse erreichbar zu sein, beispielsweise im heimischen Netzwerk und auf einer Konferenz. Normalerweise müssten dazu aufwändig Routing-Tabellen geändert werden. Mobile IPv6 benutzt stattdessen einen Schatten-Rechner („Home Agent“), der das Mobilgerät in seinem Heimnetz vertritt. Eingehende Pakete werden durch diesen Schattenrechner an die momentane Adresse („Care-of-Address“) des Mobilgeräts getunnelt. Der Home Agent bekommt die aktuelle Care-of-Address des Mobilgerätes durch „Binding Updates“ mitgeteilt, die das Gerät an den Home Agent sendet, sobald es eine neue Adresse im besuchten Fremdnetz erhalten hat. Mobile IP ist auch für IPv4 spezifiziert; im Gegensatz zu dieser Spezifikation benötigt Mobile IPv6 jedoch keinen Foreign Agent, der im Fremdnetz die Anwesenheit von Mobilgeräten registriert.

Header-Format[Bearbeiten]

Der Kopfdatenbereich eines IPv6-Paketes

Im Gegensatz zu IPv4 hat der IP-Kopfdatenbereich (Header) bei IPv6 eine feste Länge von 40 Bytes (320 Bits). Optionale, seltener benutzte Informationen werden in so genannten Erweiterungs-Kopfdaten (engl.: Extension Headers) zwischen dem IPv6-Kopfdatenbereich und der eigentlichen Nutzlast (engl. Payload) eingebettet. Der Kopfdatenbereich eines IPv6-Paketes setzt sich laut RFC 2460 aus den folgenden Feldern zusammen:

Feld Länge Inhalt
Version 4 Bit IP-Versionsnummer (6)
Traffic Class 8 Bit Für Quality of Service (QoS) verwendeter Wert. Eine Art Prioritätsvergabe.
Flow Label 20 Bit Ebenfalls für QoS oder Echtzeitanwendungen verwendeter Wert. Pakete, die dasselbe Flow Label tragen, werden gleich behandelt.
Payload Length 16 Bit Länge des IPv6-Paketinhaltes (ohne Kopfdatenbereich, aber inklusive der Erweiterungs-Kopfdaten) in Byte
Next Header 8 Bit Identifiziert den Typ des nächsten Kopfdatenbereiches, dieser kann entweder einen Erweiterungs-Kopfdatenbereich (siehe nächste Tabelle) oder ein Protokoll höherer Schicht (engl.: Upper Layer Protocol) bezeichnen, wie z. B. TCP (Typ 6) oder UDP (Typ 17).
Hop Limit 8 Bit Maximale Anzahl an Zwischenschritten über Router, die ein Paket zurücklegen darf; wird beim Durchlaufen eines Routers („Hops“) um eins verringert. Pakete mit null als Hop Limit werden verworfen. Es entspricht dem Feld Time to Live (TTL) bei IPv4.
Source Address 128 Bit Adresse des Senders
Destination Address 128 Bit Adresse des Empfängers

Wie im Next Header Feld verwiesen sind einige Extension Headers und ein Platzhalter definiert:

Name Typ Größe Beschreibung RFCs
Hop-By-Hop Options 0 variabel Enthält Optionen, die von allen IPv6-Geräten, die das Paket durchläuft, beachtet werden müssen. Wird z. B. für Jumbograms benutzt. RFC 2460, RFC 2675
Routing 43 variabel Durch diesen Header kann der Weg des Paketes durch das Netzwerk beeinflusst werden, er wird unter anderem für Mobile IPv6 verwendet. RFC 2460, RFC 6275, RFC 5095
Fragment 44 64 Bit In diesem Header können die Parameter einer Fragmentierung festgelegt werden. RFC 2460
Authentication Header (AH) 51 variabel Enthält Daten, welche die Vertraulichkeit des Paketes sicherstellen können (siehe IPsec). RFC 4302
Encapsulating Security Payload (ESP) 50 variabel Enthält Daten zur Verschlüsselung des Paketes (siehe IPsec). RFC 4303
Destination Options 60 variabel Enthält Optionen, die nur vom Zielrechner des Paketes beachtet werden müssen. RFC 2460
Mobility 135 variabel Enthält Daten für Mobile IPv6. RFC 6275
No Next Header 59 leer Dieser Typ ist nur ein Platzhalter, um das Ende eines Header-Stapels anzuzeigen. RFC 2460

Die meisten IPv6-Pakete sollten ohne Extension Headers auskommen, diese können bis auf den Destination Options Header nur einmal in jedem Paket vorkommen. Befindet sich nämlich ein Routing Extension Header im Paket, so darf davor ein weiterer Destination Options Header stehen. Die Reihenfolge bei einer Verkettung ist bis auf die genannte Ausnahme die der Tabelle. Alle Extension Headers enthalten ein Next-Header-Feld, in dem der nächste Extension Header oder das Upper Layer Protocol genannt wird.

Die Größen dieser Header sind immer Vielfache von 64 Bit, auch sind die meisten Felder der Kopfdatenbereiche auf 64-Bit-Grenzen ausgerichtet, um Speicherzugriffe im Router zu beschleunigen. Des Weiteren werden (im Gegensatz zu IPv4) keine Prüfsummen mehr über die IP-Kopfdaten berechnet, es wird nur noch die Fehlerkorrektur in den Schichten 2 und 4 genutzt.

Paketgrößen[Bearbeiten]

Die Maximum Transmission Unit (MTU) darf in einem IPv6-Netzwerk 1280 Byte nicht unterschreiten. Somit unterschreitet auch die Path MTU (PMTU) diesen Wert nicht und es können Pakete bis zu dieser Größe garantiert ohne Fragmentierung übertragen werden. Minimale IPv6-Implementierungen verlassen sich auf diesen Fall.

Ein IPv6-fähiger Rechner muss in der Lage sein, aus Fragmenten wieder zusammengesetzte Pakete mit einer Größe von mindestens 1500 Byte zu empfangen. Für IPv4 beträgt dieser Wert nur 576 Byte. Im anderen Extrem darf ein IPv6-Paket auch fragmentiert laut Payload-Length-Feld im IPv6-Header die Größe von 65.575 Byte einschließlich Kopfdaten nicht überschreiten, da dieses Feld 16 Bit lang ist (216 − 1 Bytes zzgl. 40 Bytes Kopfdaten). RFC 2675 stellt aber über eine Option des Hop-by-Hop Extension Headers die Möglichkeit zur Verfügung, Pakete mit Größen bis zu 4.294.967.335 Byte, sogenannte Jumbograms zu erzeugen. Dies erfordert allerdings Anpassungen in Protokollen höherer Schichten, wie z. B. TCP oder UDP, da diese oft auch nur 16 Bit für Größenfelder definieren, außerdem muss bei jedem Paket, welches einen Jumbogram beinhaltet, im IPv6-Header die Payload-Length auf 0 gesetzt werden.

Erweiterte ICMP-Funktionalität[Bearbeiten]

ICMPv6 (Protokolltyp 58) stellt für das Funktionieren von IPv6 unverzichtbare Funktionen zur Verfügung. Das Verbieten aller ICMPv6-Pakete in einem IPv6-Netzwerk durch Filter ist daher im Normalfall nicht durchführbar.

Insbesondere wird das Address Resolution Protocol (ARP) durch das Neighbor Discovery Protocol (NDP) ersetzt, welches auf ICMPv6 basiert. Dieses macht hierbei intensiv Gebrauch von Link-Local-Unicast-Adressen und Multicast, das von jedem Host beherrscht werden muss. Im Rahmen des NDP werden auch die automatische Adressvergabe und die automatische Zuordnung einer oder mehrerer Default-Routen über ICMPv6 abgewickelt, so stellt es die meisten Funktionen zur Verfügung, die oben unter IPv6-Autokonfiguration erklärt wurden. NDP kann auf die Möglichkeit weiterer Konfiguration durch DHCPv6 verweisen, welches allerdings UDP-Pakete benutzt.

Die Fragmentierung überlanger IPv6-Pakete erfolgt nicht mehr durch die Router, der Absender wird stattdessen mit Hilfe von ICMPv6-Nachrichten aufgefordert, kleinere Pakete, auch unter Zuhilfenahme des Fragment Extension Headers, zu schicken (siehe in diesem Zusammenhang Maximum Transmission Unit (MTU)). Idealerweise sollte ein IPv6-Host, bzw. eine Anwendung vor dem Versenden einer großen Anzahl von IPv6-Paketen eine Path MTU Discovery gemäß RFC 1981 durchführen, um Pakete mit maximal möglicher Größe verschicken zu können.

IPv6 und DNS[Bearbeiten]

Wegen der Länge der IP-Adressen, die an das menschliche Erinnerungsvermögen höhere Anforderungen stellt als IPv4-Adressen, ist IPv6 in besonderem Maße von einem funktionierenden Domain Name System (DNS) abhängig. RFC 3596 definiert den Resource Record (RR) Typ AAAA (sprich: Quad-A), der genau wie ein A Resource Record für IPv4 einen Namen in eine IPv6-Adresse auflöst. Der Reverse Lookup, also die Auflösung einer IP-Adresse in einen Namen, funktioniert nach wie vor über den RR-Typ PTR, nur ist für IPv6 die Reverse Domain nicht mehr IN-ADDR.ARPA wie für IPv4, sondern IP6.ARPA und die Delegation von Subdomains darin geschieht nicht mehr an 8-Bit-, sondern an 4-Bit-Grenzen.

Ein IPv6-fähiger Rechner sucht in der Regel mittels DNS zu einem Namen zunächst nach dem RR-Typ AAAA, dann nach dem RR-Typ A. Laut der Default Policy Table in RFC 3484 wird die Kommunikation über IPv6 gegenüber IPv4 bevorzugt, falls festgestellt wird, dass für eine Verbindung beide Protokolle zur Verfügung stehen. Die Anwendungsreihenfolge der Protokolle ist meistens aber auch im Betriebssystem und auf der Anwendungsebene, also z. B. im Browser, einstellbar.

Elf der dreizehn Root-Nameserver und mindestens zwei Nameserver der meisten Top-Level-Domains sind bereits über IPv6 erreichbar. Das übertragende Protokoll ist unabhängig von den übertragenen Informationen. Insbesondere kann man über IPv4 einen Nameserver nach AAAA-RRs fragen. Anbieter großer Portalseiten denken jedoch darüber nach, nur DNS-Anfragen, die über IPv6 gestellt werden, auch mit AAAA Resource Records zu beantworten, um Probleme mit fehlerhaft programmierter Software zu vermeiden. [38]

Übergangsmechanismen[Bearbeiten]

IPv6-Übergangsmechanismen
4in6 Tunneling von IPv4 in IPv6
6in4 Tunneling von IPv6 in IPv4
6over4 Transport von IPv6-Datenpaketen zwischen Dual-Stack Knoten über ein IPv4-Netzwerk
6to4 Transport von IPv6-Datenpaketen über ein IPv4-Netzwerk
AYIYA Anything In Anything
Dual-Stack Netzknoten mit IPv4 und IPv6 im Parallelbetrieb
Dual-Stack Lite Wie Dual-Stack, jedoch mit globaler IPv6 und Carrier-NAT IPv4
6rd IPv6 rapid deployment
ISATAP Intra-Site Automatic Tunnel Addressing Protocol
Teredo Kapselung von IPv6-Datenpaketen in IPv4-UDP-Datenpaketen
NAT64 Übersetzung von IPv4-Adressen in IPv6-Adressen
464XLAT Übersetzung von IPv4- in IPv6- in IPv4-Adressen
SIIT Stateless IP/ICMP Translation

IPv4 und IPv6 lassen sich auf derselben Infrastruktur, insbesondere im Internet, parallel betreiben. Für den Übergang werden also in der Regel keine neuen Leitungen, Netzwerkkarten oder Geräte benötigt, sofern dafür geeignete Betriebssysteme zur Verfügung stehen. Es gibt zurzeit kaum Geräte, welche IPv6, aber nicht gleichzeitig auch IPv4 beherrschen. Damit jedoch Geräte, die ausschließlich über IPv4 angebunden sind, auch mit Geräten kommunizieren können, die ausschließlich über IPv6 angebunden sind, benötigen sie Übersetzungsverfahren.

Um einen einfachen Übergang von IPv4- zu IPv6-Kommunikation im Internet zu ermöglichen, wurden verschiedene Mechanismen entwickelt. IPv6 wird dabei in der Regel hinzugeschaltet, ohne IPv4 abzuschalten. Grundlegend werden folgende drei Mechanismen unterschieden:

  • Parallelbetrieb (Dual-Stack)
  • Tunnelmechanismen
  • Übersetzungsverfahren

Parallelbetrieb und Tunnelmechanismen setzten voraus, dass die Betriebssysteme der angebundenen Rechner beide Protokolle beherrschen.

Es gibt bereits heute Bereiche des Internet, die ausschließlich mittels IPv6 erreichbar sind, andere Teile, die über beide Protokolle angebunden sind und große Teile, die sich ausschließlich auf IPv4 verlassen. Im Folgenden werden die ersten beiden Bereiche zusammen als IPv6-Internet bezeichnet.

Dual-Stack[Bearbeiten]

Bei diesem Verfahren werden allen beteiligten Schnittstellen neben der IPv4-Adresse zusätzlich mindestens eine IPv6-Adresse und den Rechnern die notwendigen Routinginformationen zugewiesen. Die Rechner können dann über beide Protokolle unabhängig kommunizieren. Dieses Verfahren sollte der Regelfall sein, es scheitert derzeit oft daran, dass einige Router (meistens die Zugangsserver des Internetproviders oder die Heimrouter bei den Kunden) auf dem Weg zum IPv6-Internet noch keine IPv6-Weiterleitung eingeschaltet haben oder unterstützen.

Dual-Stack Lite (DS-Lite)[Bearbeiten]

DS-Lite

Aufgrund der knappen IPv4-Adressen hat die IETF den Mechanismus „Dual-Stack Lite“ (RFC 6333) entwickelt. Hierbei werden dem Kunden nur via IPv6 global routbare IP-Adressen bereitgestellt. (Im regulären Dual-Stack-Betrieb werden sowohl IPv6 als auch IPv4 zur Verfügung gestellt.)

Im LAN des Kunden werden private IPv4-Adressen benutzt (analog zum Vorgehen bei NAT). Statt einer NAT-Übersetzung werden die IPv4-Pakete dann durch das Customer Premises Equipment (CPE) in IPv6-Pakete gekapselt. Das CPE benutzt seine globale IPv6-Verbindung, um die Pakete in das Carrier-grade NAT des Internet Service Providers zu transportieren, welches über globale IPv4-Adressen verfügt. Hier wird das IPv6-Paket entpackt und das originale IPv4-Paket wiederhergestellt. Danach wird das IPv4-Paket mit NAT auf eine öffentliche IP-Adresse umgesetzt und ins öffentliche IPv4-Internet geroutet. Das Carrier-grade NAT identifiziert Sitzungen eindeutig mittels Aufzeichnungen über die öffentliche IPv6-Adresse des CPE, die private IPv4-Adresse und TCP- oder UDP-Portnummern.

Diese DS-Lite-Umsetzung führt allerdings beim Endkunden zu einem Problem: Es sind keine IPv4-basierenden Portfreigaben mehr möglich, da die Pakete an die öffentliche IP-Adresse bereits beim Provider ausgefiltert werden. Dienste, die an einem DS-Lite-Anschluss angeboten werden, können also von Geräten, die keine IPv6-Verbindungen aufbauen können, nicht erreicht werden.

Tunnelmechanismen[Bearbeiten]

Protokoll 41: IPv6-Pakete werden direkt in IPv4-Pakete gepackt, die dann zu einem speziellen Tunnelserver geschickt werden

Um Router, die IPv6 nicht weiterleiten, auf dem Weg zum IPv6-Internet zu überbrücken, gibt es eine Vielzahl von Tunnelmechanismen. Dabei werden IPv6-Pakete in den Nutzdaten anderer Protokolle, meist IPv4, zu einer Tunnelgegenstelle übertragen, die sich im IPv6-Internet befindet. Dort werden die IPv6-Pakete herausgelöst und zum Ziel via IPv6-Routing übertragen. Der Rückweg funktioniert analog. Jedes Tunnelverfahren ist abhängig von der Qualität des tunnelnden Protokolls: der Weg der Pakete zum Ziel ist wegen des Umwegs über die Tunnelgegenstelle meistens nicht optimal und die mögliche Nutzlast sinkt, da mehr Kopfdaten übertragen werden müssen.

Der klassische Weg ist es, bei einem so genannten Tunnelbroker eine solche Gegenstelle für den privaten Gebrauch gebührenfrei zu beantragen. Diese Gegenstelle bleibt fest, und man bekommt über den Tunnel immer den gleichen IPv6-Adressbereich zugewiesen. 6in4 benutzt zum Beispiel den Protokolltyp 41, um IPv6 direkt in IPv4 zu kapseln. Für Linux ist die Erstellung eines solchen Tunnels mit den Interface-Konfigurationswerkzeugen möglich.[39] Komplizierter sind die Verfahren 6over4 oder ISATAP.

Der Mechanismus 6to4 benötigt keine Absprache mit einer Gegenstelle, denn diese benutzt wohlbekannte, mehrfach im Internet vergebene IPv4-Adressen (Anycast), und die getunnelten Pakete werden zur nächstgelegenen Gegenstelle zugestellt und dort verarbeitet. Dem angebundenen Rechner steht dann ein IPv6-Adressbereich zur Verfügung, der sich aus dessen öffentlicher IPv4-Adresse errechnet. Auch ein solcher Tunnel kann auf aktuellen Linux-Rechnern mit öffentlicher IPv4-Adresse durch wenige Handgriffe eingerichtet werden.[40]

Befindet sich ein Rechner in einem privaten IPv4-Adressbereich und findet beim Verbinden mit dem Internet NAT statt, so können Mechanismen wie AYIYA oder Teredo helfen. Diese Protokolle kapseln IPv6-Pakete als Nutzdaten meist in UDP-Paketen. Erlaubt ein Administrator diese Protokolle, kann schnell die Netzwerksicherheit in Gefahr geraten, wenn der Paketfilter die Nutzdaten nicht als IPv6-Pakete interpretieren kann und somit eventuell andere Paketfilterregeln umgangen werden.

Natürlich ist es auch möglich, IPv6 über allgemeinere Tunnelverfahren wie GRE, L2TP oder MPLS zu transportieren, insbesondere, wenn noch Routingprotokolle wie IS-IS parallel übertragen werden müssen.

Übersetzungsverfahren[Bearbeiten]

Kann auf einem Gerät IPv6 nicht aktiviert werden oder stehen nicht mehr genügend IPv4-Adressen zur Verfügung, können Verfahren wie Network Address Translation/Protocol Translation (NAT-PT, RFC 2766; inzwischen missbilligt[41]), oder Transport Relay Translation (TRT, RFC 3142) nötig werden, um zwischen beiden Protokollen zu übersetzen. Auch bieten Proxy-Server für einige Protokolle höherer Schichten die Möglichkeit einer Kommunikation zwischen beiden Welten.[42]

Das Verfahren NAT64 bietet eine recht befriedigende Lösung, solange die Hauptanforderung darin besteht, von IPv6-Hosts initiierte Verbindungen an IPv4-Hosts weiterzuleiten.

Technische Umsetzung[Bearbeiten]

Die RFC 6434 (IPv6 Node Requirements) gibt einen Überblick über Funktionen, die alle IPv6-Geräte umsetzen sollten, um eine maximale Interoperabilität zu gewährleisten. In diesem Dokument wird auf die jeweiligen Spezifikationen verwiesen.

Betriebssysteme[Bearbeiten]

Viele Betriebssysteme unterstützen inzwischen IPv6, ein Überblick folgt. Entscheidend für eine tunnelfreie Anbindung ist aber auch die Unterstützung durch die Firmware, bzw. die Betriebssysteme, auf den (DSL-)Routern bei Endkunden und den Zugangsservern bei den Providern, sie fehlt bei noch fast allen solchen Geräten. Systeme zur Lastverteilung, wie sie z. B. für große Webseiten eingesetzt werden, können in der vorhandenen Form für IPv6 nicht weiter benutzt werden, sofern sie auf NAT basieren.

AIX
Seit AIX 4 Version 4.3 ist IPv6 implementiert, seit AIX 5L Version 5.2 ist auch Mobile IPv6 implementiert.
Android
Android unterstützt IPv6 seit Version 2.1, jedoch nicht über die 3GPP-Schnittstelle.[43] Seit 2.3.4 werden IPv6 APN unterstützt. Es fehlt allerdings bei den meisten Endgeräten die Unterstützung im UMTS Chipset (bzw. der Firmware). Privacy Extensions werden unterstützt, müssen jedoch manuell eingeschaltet werden.[44]
BSD-Varianten
IPv6 wird von den BSDs bereits sehr lange und sehr umfassend unterstützt (zum Beispiel bei FreeBSD seit März 2000, bei NetBSD seit Dezember 2000 und bei OpenBSD seit Mitte 2000). Die Unterstützung ist zu großen Teilen dem KAME-Projekt zu verdanken, das seit 1998 einen freien Protokollstapel für IPv6 und IPsec für BSD-Betriebssysteme entwickelt hatte.
Cisco
IPv6 wird ab IOS Version 12.2T experimentell, ab den Versionen 12.3 und 12.4 produktiv unterstützt. Auf älteren Geräten und Karten ist das IPv6-Forwarding aufgrund der Hardwareausstattung jedoch nur in Software, also mit Hilfe des Hauptprozessors möglich, was die Leistung gegenüber IPv4 deutlich vermindert.
HP-UX
Seit der Version 11iv2 ist IPv6 Bestandteil des Basissystems, frühere 11.x-Versionen können mit TOUR (Transport Optional Upgrade Release) IPv6-fähig gemacht werden.
iOS (Apple iPhone, iPad, iPod Touch, Apple TV)
Apple-Geräte mit iOS ab Version 4 unterstützen IPv6 im Dual-Stack-Modus.[45] Privacy Extensions werden jedoch erst ab Version 4.3 unterstützt.[44][46]
Juniper
Der Hersteller unterstützt IPv6 auf seinen Routern im Betriebssystem JunOS ab Version 5.1. Das IPv6-Forwarding geschah hier schon früh in Hardware, also ohne die Routing Engine (den Hauptprozessor) zu belasten. Für Firewall-Systeme, sowohl auf der ScreenOS Serie(ScreenOS <6.x), als auch auf der SRX Serie(JunOS <10.x) ist IPv6 unterstützt.
Linux
Der Kernel bietet seit Version 2.6 eine produktiv einsatzbare IPv6-Unterstützung auf ähnlichem Niveau wie die BSD-Derivate. Der Kernel 2.4 bietet eine als experimentell ausgewiesene Unterstützung für IPv6, der jedoch noch wichtige Eigenschaften wie IPSec und Datenschutzerweiterungen (Privacy Extensions, RFC 4941) fehlen. Die meisten Linux-Distributionen haben im Auslieferungszustand mit Kerneln ab Version 3.x die Privacy Extensions eingeschaltet, diese können jedoch manuell deaktiviert werden. Eine experimentelle IPv6-Implementation ist auch in der Kernel-Version 2.2 enthalten.
Mac OS X
Seit Version 10.2 enthält auch Mac OS X Unterstützung für IPv6 auf der Basis von KAME. Erst seit Version 10.3 lässt sich IPv6 auch über die GUI konfigurieren. IPv6 ist standardmäßig aktiviert und unterstützt DNS-AAAA-Records. Die zur Apple-Produktfamilie gehörenden Airport-Extreme-Consumer-Router richten standardmäßig einen 6to4-Tunnel ein und fungieren als IPv6-Router. Die Privacy Extensions sind seit 10.7 (Lion) per Default aktiviert.
OpenVMS
Mit HP TCP/IP Services for OpenVMS Version 5.5 unterstützt HP OpenVMS (ab Version 8.2) IPv6.
Solaris
Seit der Version 8 ist die Unterstützung von IPv6 auch in dem Betriebssystem der Firma Sun Microsystems in begrenzter Form enthalten (die Implementierung und große Teile der Betriebssystemapplikationen erfordern immer noch, dass IPv4 konfiguriert ist), das für SPARC- und i386-Rechnerarchitekturen zur Verfügung steht. Die Konfiguration erfolgt analog zu den Linux- und xBSD-Systemen.
Symbian OS
Seit der Version 7.0 ist IPv6 fester Bestandteil des Systems. Es sind nur wenige Parameter über die GUI zu konfigurieren.
Windows 9x/ME
Ein IPv6-Stack wird nur vom Hersteller Trumpet angeboten.
Windows NT 4.0
Microsoft bietet einen experimentellen Protokollstapel als Hotfix an. Dieser ist sehr alt, aber im Quellcode verfügbar.
Windows 2000
Microsoft bietet einen experimentellen Protokollstapel als Patch an, der sich aber ohne weitere Maßnahmen nur zum gegenseitigen Anpingen von Rechnern eignet. Der Patch ist für Systeme mit Service Pack 1 ausgelegt, mit einer kleinen Anpassung ist er aber auch auf Systemen mit den Service Packs 2 bis 4 anwendbar.[47]
Windows XP
Auf expliziten Wunsch (ipv6 install) kann man bei Windows XP einen experimentellen IPv6-Protokollstapel installieren. Ab Service Pack 1 hat dieser Protokollstapel „Production Quality“ und wird als Protokoll in den Netzwerkeigenschaften hinzugefügt. Ab Service Pack 2 kann IPv6 ebenfalls unter den Netzwerkeigenschaften hinzugefügt werden, mit dem Namen Internet Protokoll Version 6. Als DNS-Server können IPv6-Adressen mittels netsh eingetragen werden.[48] In Bezug auf den Mobility-Support gilt für Windows XP ab Service Pack 1 das Gleiche wie für Windows Server 2003: correspondent nodes sind verfügbar, mobile nodes und home agent nodes dagegen nicht. Im Rahmen des Mobile-IPv6-Technology-Preview-Programms sind entsprechende Erweiterungen verfügbar. Hat das System eine global routbare IPv4-Adresse, richtet Windows XP automatisch einen 6to4-Tunnel ein.[49] Bekommt Windows XP hingegen einen Präfix von einem IPv6-Router zugewiesen, sind Privacy Extensions standardmäßig aktiviert.
Windows Server 2003
Windows Server 2003 enthält einen „Production-Quality“-Protokollstapel, unterstützt DNS-AAAA-Records und IPv6-Routing. Die IPsec-Komponente ist jedoch noch als „für den Produktiveinsatz ungeeignet“ markiert, weil sie static keying verwendet und Internet Key Exchange (IKE) nicht unterstützt. Außerdem versteht die Bibliothek wininet.dll, auf die sich beispielsweise der Internet Explorer stützt, keine literalen IP-Adressen nach RFC 2732. Weiterhin ist der Mobility-Support unvollständig: Die Funktion eines correspondent node ist aktivierbar, mobile node und home agent node werden hingegen nicht angeboten. Jedoch sind auch hier aufgrund des Mobile IPv6 Technology Preview diesbezügliche Erweiterungen bereitgestellt. Windows Server 2003 kann wie Windows XP automatisch 6to4-Tunnel konfigurieren.
Windows Vista
IPv6 wird hier von Anfang an unterstützt, da das Betriebssystem mit einer „Dual-IP-Layer-Architektur“ arbeitet und somit sowohl IPv4 als auch IPv6 unterstützt. Ist Internet Connection Sharing aktiviert, so fungiert Windows Vista auch als IPv6-Router und versendet entsprechende Router Advertisements zur Autokonfiguration von Clients. Als nichtroutender IPv6-Knoten sind Privacy Extensions im Auslieferungszustand aktiviert. Mobile IPv6 wird nicht unterstützt. Windows Vista löst Namen nur nach IPv6-Adressen auf, wenn eine physische Netzwerkschnittstelle eine global routbare IPv6-Adresse hat.
Windows Server 2008
IPv6 ist standardmäßig installiert und aktiviert. Viele Komponenten setzen eine Konfiguration beider Protokolle voraus. Wie in Windows Vista fehlt die Unterstützung für Mobile IPv6.
Windows 7
Wie in der Vorgängerversion Vista ist IPv6 auch in Windows 7 Teil der Standardinstallation und die Privacy Extensions sind standardmäßig aktiv, neu ist jedoch die Unterstützung von Mobile IPv6 (welche jedoch unvollständig ist, u. a. wird die Return Routability Procedure[50] nicht implementiert).
Windows 8
Windows 8 unterstützt sowohl IPv4 als auch IPv6. Die Priorität liegt auf IPv6. In Netzwerken, die beide Protokolle anbieten, entscheidet sich Windows 8 standardmäßig für die IPv6-Verbindung.[51]
Windows Mobile
Windows Mobile 6.5 unterstützt IPv6.[52]
Windows Phone
Windows Phone 7 und 7.5 unterstützen IPv6 nicht. Erst ab Version 8 ist ein IPv6-Stack integriert.[53]
z/OS
IBM z/OS unterstützt IPv6 seit September 2002 vollständig, schon 1998 gab es für den Vorgänger OS/390 einen experimentellen Stack.

Routing[Bearbeiten]

Während statisches Routing für IPv6 analog zu IPv4 eingerichtet werden kann, ergeben sich für die dynamischen Routingprotokolle einige Änderungen. Zwischen Autonomen Systemen wird das Border Gateway Protocol mit den Multiprotocol Extensions (definiert in RFC 4760) eingesetzt. Als Interior Gateway Protocol stehen OSPF in der Version 3, IS-IS mit Unterstützung von IPv6-TLVs und RIPng als offene Standards zur Verfügung. Die meisten Hersteller unterstützen für IS-IS Multi-Topology Routing, also gleichzeitiges Routing für beide Adressfamilien auch dann, wenn IPv4- und IPv6-Netz sich nicht genau überdecken. OSPFv3 realisiert dieses in einem sehr neuen Standard (RFC 5838) über verschiedene Instanzen für die verschiedenen Protokolle, war ursprünglich aber nur für IPv6 vorgesehen. Ein anderer Weg ist es unterschiedliche Routingprotokolle für die beiden Topologien zu verwenden, also etwa OSPFv2 für IPv4 und IS-IS für IPv6.

An Endsysteme können eine oder mehrere Default-Routen per Autokonfiguration oder DHCPv6 übergeben werden. Mit DHCPv6-PD (Prefix Delegation) können auch Präfixe zwecks weiteren Routings zum Beispiel an Kundenrouter verteilt werden.

Da weder RSVP noch LDP für IPv6 ausreichend standardisiert sind,[54][55] müssen sich MPLS-Netze weiter auf die Signalisierung mittels IPv4 verlassen, können jedoch, abhängig von der Implementierung, IPv6-Verkehr transportieren. Für IPv6 Multicast-Routing ist PIM geeignet.

Paketfilter und Firewalls[Bearbeiten]

Für IPv6 müssen alle Filterregeln in Firewalls und Paketfiltern neu erstellt werden. Je nachdem, ob der filternde Prozess den IPv6-Datenverkehr überhaupt verarbeitet und abhängig von ihrer Default-Policy kann eine Firewall IPv6 ungehindert durchlassen. Auch einige Antivirenprogramme haben Zusätze, welche den Verkehr z. B. auf bestimmten TCP-Ports nach Signaturen durchsuchen. Für Linux kann die Filterung von IPv6 mit dem Programm ip6tables konfiguriert werden.

Deutliche Veränderungen in der Struktur der Filter gegenüber IPv4 können sich ergeben, sofern sie ICMP bzw. ICMPv6 behandeln, da sich dessen Protokollnummer, Type- und Code-Zuordnungen sowie die Funktionalität verändern.[56]

Das Feld Next Header im IPv6-Header eignet sich nicht in gleicher Weise wie das Protocol-Feld im IPv4-Header zum Identifizieren von Protokollen höherer Schicht, denn im Falle der Verwendung von Extension Headers verändert sich dessen Wert, beispielsweise bei Fragmentierung.

Einige Aspekte von NAT wurden in der Vergangenheit oft als Sicherheitsfunktion verstanden; NAT ist in IPv6 jedoch höchstens in Ausnahmefällen vorgesehen. RFC 4864 beschreibt Vorgehensweisen, welche diese Aspekte von NAT mit IPv6-Techniken abbilden;[57] so kann etwa die bei einigen Implementierungen bestehende Funktion von NAT, neu eingehende Verbindungen nicht an Rechner des Heimnetzes weiterzuleiten, durch einen zustandsbehafteten Paketfilter im Router ersetzt werden. Dieser kann nach Wunsch neu eingehende Verbindungen generell abweisen oder diese nur für bestimmte Bereiche des Heimnetzes zulassen.

Anwendungssoftware[Bearbeiten]

Für Anwendungen wie Webbrowser oder E-Mail-Programme sind Änderungen in der Programmierung notwendig, damit sie über IPv6 kommunizieren können. Dies ist für die wichtigsten Programme, die mit aktuellen Betriebssystemen ausgeliefert werden, bereits geschehen, nicht aber bei weniger häufig benutzten Anwendungen.

In den meisten Fällen sind nur kleinere Änderungen notwendig, da die Anwendungen auf Protokolle höherer Schicht aufsetzen und diese sich kaum ändern. In vielen Betriebssystemen forderten die Programmierschnittstellen jedoch von der Anwendung, Sockets explizit zur IPv4-Kommunikation anzufordern. Neuere Schnittstellen sind in der Regel so gestaltet, dass IPv6-unterstützende Anwendungen automatisch auch IPv4 unterstützen. Verarbeiten die Anwendungen Inhalte mit URLs, wie sie in HTTP oder im Session Initiation Protocol (SIP) vorkommen, so müssen sie die URL-Notation von IPv6-Adressen unterstützen.

Zum Teil sind Änderungen notwendig, um die Leistung der Anwendung nicht zu mindern: So muss z. B. eine eventuell ermittelte, verminderte Path MTU an die Anwendung übergeben werden, um Fragmentierung zu vermeiden oder die Maximum Segment Size (MSS) im TCP-Header muss bei IPv6 gegenüber IPv4 verringert werden. Viele Programmiersprachen stellen spezielle Bibliotheken zur Verfügung, um den Umgang mit dem neuen Protokoll zu vereinfachen.

Administration[Bearbeiten]

Die Hauptarbeit der Umsetzung liegt auf der Verwaltungsebene: Administration und Support müssen geschult, Dokumentationen und Konfigurationen, z. B. für Routing, Firewalls, Netzwerküberwachung, das Domain Name System und evtl. DHCP, müssen während der Übergangsphase für beide Protokolle erstellt und gepflegt werden. In vielen Dokumentationen oder Fehlermeldungen muss im Nachhinein zwischen IPv4 und IPv6 unterschieden werden, wo noch vor einigen Jahren nur von IP die Rede war. Die Struktur des IP-Netzes wird zunächst quasi verdoppelt.

Oft haben IP-Adressen eine Bedeutung auf höherer Ebene. So tauchen sie in Logdateien oder Netflow-Daten auf, die teilweise mit Skripten wie beispielsweise Webalizer weiterverarbeitet werden, um Ansichten, Statistiken oder Abrechnungen zu erzeugen. Auch das Layout und die Skripte zur Erzeugung von Seiten wie Wikipedias „Versionsgeschichte“ müssten an die IPv6-Notation angepasst werden, da hier Nutzer zum Teil mit ihrer IP-Adresse identifiziert werden. Basiert eine Rechteverwaltung, wie z. B. in vielen Datenbanken, auf dem Zugriff durch festgelegte IP-Adressen, muss dies beim Zuschalten von IPv6 berücksichtigt werden.

Verbreitung und Projekte[Bearbeiten]

Anzahl der Autonomen Systeme mit publizierten IPv6-Routen und Anzahl der publizierten Präfixe zwischen 2003 und heute
Anzahl der neuen Zuweisungen von IPv6-Adressraum an ISPs seit 2000

IPv6 setzt sich im praktischen Einsatz nur langsam durch. Die Adressvergabe für IPv6 ist im Juli 1999 vom experimentellen in den Regelbetrieb übergegangen[58] und immer mehr ISPs betreiben neben IPv4 auch IPv6 in ihrem Netz.

Über den Internetknoten AMS-IX werden zu Spitzenzeiten 20 GBit/s IPv6-Traffic transportiert,[59] das sind etwas unter 1 % des dort anfallenden Gesamtverkehrs von etwa 2,5 TBit/s.[60] Auf Webseiten im Dual-Stack Betrieb werden weltweit 4 % der Zugriffe über IPv6 gemessen,[61] für Zugriffe aus Deutschland liegt der IPv6-Anteil bei 11 %.[62]

Die globale IPv6-Routingtabelle umfasste im Juli 2014 etwa 20000 Präfixe[63] und ungefähr 17 % aller im Internet verfügbaren Autonomen Systeme beteiligen sich am globalen IPv6-Routing.[64] Die meisten der großen Austauschpunkte für Internetverkehr erlauben und fördern neben IPv4 auch den Austausch von IPv6 über ihre Infrastruktur. Beim DE-CIX nutzten im April 2008 etwa 70 bis 80 von insgesamt 240 Providern IPv6.[65]

Das IPv6 Forum[66] wurde im Juli 1999, der Deutsche IPv6 Rat im Dezember 2007 gegründet. Das IPv6 Forum Projekt IPv6-Ready[67] vergibt das IPv6-Logo in drei verschiedenen Stufen, die die Implementierung des Protokolls messen. Die Webseite listet dazu auch alle IPv6-fähigen Betriebssysteme auf.

Derzeit sind 74 % aller IPv4-Adressen den nordamerikanischen Internet Registries und einigen US-amerikanischen Institutionen und Unternehmen direkt zugewiesen, während beispielsweise ganz China – mit inzwischen über 250 Millionen Internet-Benutzern (Stand: Juni 2008[68]) – vor Jahren noch nur über etwa so viele IP-Adressen verfügte wie ein Campus der University of California (Dezember 2004).[69]

Von Seiten der Endbenutzer wird IPv6 auch deshalb nicht gefordert, weil außer dem größeren Adressbereich die wesentlichen neuen Eigenschaften von IPv6 inzwischen mehr oder weniger erfolgreich nach IPv4 zurückportiert wurden (beispielsweise IPsec, QoS, Multicast; Umnummerierung und Autokonfiguration sind auch mittels DHCP möglich) – es gibt keine weitverbreitete Anwendung, die nur mit IPv6 funktionieren würde.

Frühe Projekte[Bearbeiten]

In Deutschland federführend bei den Versuchen zu IPv6 war das JOIN-Projekt der Universität Münster. JOIN und der Verein zur Förderung eines Deutschen Forschungsnetzes (DFN) haben mit dem „6WiN“ einen ersten IPv6-Backbone in Deutschland aufgebaut. Das 6WiN ist ein ringförmiger Backbone durch Deutschland mit Querverbindung zwischen Essen und Berlin. Parallel dazu baute die Deutsche Telekom einen eigenen IPv6-Backbone zwischen den Standorten Darmstadt, Münster und Berlin auf und bot ihren Geschäftskunden im Rahmen eines Showcase-Projektes Anschluss daran an. Dieses Netz war in Münster und Berlin mit dem 6WiN verbunden. Ebenfalls in Münster lag der deutsche zentrale Zugang zum experimentellen IPv6-Netzwerk 6Bone, der am 7. Juni 2005 im Rahmen der planmäßigen sukzessiven Beendigung des weltweiten 6Bone-Betriebs abgeschaltet wurde. Zum 1. Januar 2006 wurde der IPv6-Betrieb im Deutschen Forschungsnetz vom JOIN-Projekt an das DFN-NOC übergeben.

Die Universität Wien, die auch den Vienna Internet Exchange (VIX)[70] und mehrere DNS-Server für die Zone „.at“ betreibt, spielte eine entscheidende Rolle bei der IPv6-Migration in Österreich. Beide Einrichtungen sind über IPv6 erreichbar bzw. bieten IPv6-Anbindung an.

Anbindung von Endnutzern[Bearbeiten]

Am 8. Juni 2011 fand der sogenannte World IPv6 Day statt, an dem der Dual-Stack-Betrieb auf mehreren großen Webseiten getestet wurde.[71] Der Test verlief weitestgehend problemlos.[72] Am Internetknotenpunkt DE-CIX war ein deutlich erhöhtes IPv6-Verkehrsaufkommen zu messen, das auch nach dem 8. Juni anhält.[73]

Im Rahmen eines weiteren Aktionstages am 6. Juni 2012, dem World IPv6 Launch Day, haben mehr als 1400 Unternehmen weltweit ihre Webseiten dauerhaft auf den neuesten Standard umgestellt, so dass sie mit IPv4 und IPv6 erreichbar sind.[74][75]

Seit dem 25. September 2012 leistet die Deutsche Telekom IPv6 auch an DSL-Endkundenanschlüssen.[76] Zunächst werden erst die sogenannten IP-Anschlüsse IPv6-fähig gemacht, wobei zunächst mit Neukunden begonnen wird, während Bestandskunden kein IPv6 erhalten werden.[77] In der aktuellen Leistungsbeschreibung für die Nutzung von LTE an einer fest vereinbarten Adresse („Call & Surf Comfort via Funk“ als Alternative zu DSL) stellt die Deutsche Telekom aber z. B. klar, dass „[ü]ber diesen Internetzugang […] nur IPv4-Adressen erreichbar“ sind.[78]

Probleme[Bearbeiten]

Historisch[Bearbeiten]

Gerade zu Anfang wurden die IPv6-Standards häufig geändert, was dazu führte, dass bereits fertiggestellte Implementierungen mehrfach angepasst werden mussten.

Adressierung der Netzknoten[Bearbeiten]

Der größte Einschnitt bestand in der Einführung der IEEE-Norm EUI-64 für die Interface-Identifier als Teil der Adressen. Um die Einzigartigkeit einer Adresse im Netzwerk auf einfache Weise zu garantieren, wurde vorher die MAC-Adresse einer Schnittstelle unverändert in die IPv6-Adresse übernommen, nun wird die MAC-Adresse gemäß EUI-64 in veränderter Form in die IPv6-Adresse geschrieben; dabei wird aufgrund einer Verwechslung in RFC 3513 der Algorithmus, um EUI-64-Namen aus EUI-48-Namen zu berechnen, fälschlicherweise auf MAC-48-Namen angewandt.[79]

Die beschriebenen Verfahren führen zu einem statischen hostspezifischen Teil der IPv6-Adresse eines autokonfigurierten IPv6-Knotens. Datenschützer waren besorgt, dass auf diese Weise Nutzer über unterschiedliche Netzwerke hinweg identifizierbar werden und dies beispielsweise für Marketingmaßnahmen oder staatliche Interventionen ausgenutzt werden könnte. Die IETF definierte deshalb nachträglich die Datenschutzerweiterungen (Privacy Extensions) gemäß RFC 3041, später RFC 4941 (siehe auch Adressaufbau von IPv6). Diese Privacy-Extensions generieren bei der Autokonfiguration via SLAAC einen zufälligen hostspezifischen Teil. Da aber die ersten 64 Bit der IPv6-Adresse eines Netzes (z. B. eines Haushaltes) weiterhin erhalten bleiben, muss ein weiterer Schutz durch regelmäßiges Wechseln des netzspezifischen Teils gewährleistet sein (wie heute bei DSL-Anschlüssen).

Integration ins Domain Name System[Bearbeiten]

Lange Zeit war die Anpassung des DNS zur Eingliederung von IPv6 uneinheitlich. 1995 wurde in RFC 1886 zunächst der Record-Typ AAAA für die Auflösung von DNS-Namen in IPv6-Adressen definiert, der funktional äquivalent zum A-Record für IPv4 ist. Im Jahr 2000 wurde AAAA in RFC 2874 durch den Record-Typ A6 abgelöst, der vor allem das Umnummerieren vereinfachen sollte, indem die IP-Adresse stückweise auf das DNS abgebildet wurde, jedoch nie frei von technischen Problemen war. 2003 wurde das Verfahren A6 daher in RFC 3596 wieder nach „experimentell“ zurückgestuft, und AAAA wurde der neue, alte Standard.

Noch mehr Schwierigkeiten bereitete die Rückwärtsauflösung („Reverse“-Auflösung) von IPv6-Adressen, da es aufgrund der Wechsel der Standards PTR-Records in zwei verschiedenen Zonen gab, unterhalb von ip6.arpa und ip6.int. Aufgrund der traditionellen Nutzung der TLD .arpa für die Rückwärtsauflösung bei IPv4 hat sich die erstere Variante gegen ip6.int durchgesetzt, woraufhin die Delegierung von ip6.int im Juni 2006 gelöscht wurde.

Die Auflösung ist vom Protokolltyp der Anfrage völlig unabhängig: Wird eine DNS-Anfrage über IPv4 gestellt, so kann selbstverständlich auch ein AAAA-Record zurückgegeben werden, und über IPv6 erreichbare Nameserver geben auch über IPv4-Adressen (A-Records) Auskunft.

Aktuell[Bearbeiten]

Link-lokale Adressen[Bearbeiten]

Eine mögliche Designschwäche von IPv6 ist, dass die Adressräume für link-lokale Adressen grundsätzlich nicht getrennt sind. Will man link-lokale Adressen also auf Anwendungsebene zur Kommunikation zwischen Rechnern im gleichen Netzwerksegment verwenden, ergibt sich das Problem, dass es für diese nicht ausreichend ist, die IP-Adresse im Ziel-Feld einzutragen, sondern auch ein Zone Index nach RFC 4007 (in den meisten Fällen ein Interface) angegeben werden muss, da sich der link-lokale Adressraum mehrerer Interfaces überschneidet. Es hängt daher davon ab, ob die IPv6-Unterstützung der verwendeten Anwendung das Konzept der Zonen-Indizes kennt, ob link-lokale Adressen zu diesem Zweck eingesetzt werden können.

Autokonfiguration und DNS[Bearbeiten]

Im Zusammenspiel des IPv6-Autokonfigurationsmechanismus mit dem Domain Name System ergeben sich bis heute Probleme. Ursprünglich fehlte die Möglichkeit ganz, im Rahmen der Autokonfiguration Netzknoten auch zu verwendende DNS-Server und weitere DNS-bezogene Informationen wie DNS-Suchpfade mitzuteilen, wie das für IPv4 im Rahmen von DHCP üblich ist. Heute bestehen im Wesentlichen zwei Lösungen für das Problem:

  • Mittels des Managed-Flags in Router-Advertisements können Netzknoten angewiesen werden, bei einem DHCPv6-Server nach weiterer Konfiguration zu fragen. DHCPv6-Server können über die Multicastadressen ff02::1:2 und ff05::1:3 angesprochen werden. Im Gegensatz zu DHCP muss der DHCPv6-Server keine Protokolle über solche Anfragen führen, die Konfiguration kann also weiterhin zustandslos erfolgen.
  • Die NDP-Spezifikation erlaubt die Angabe zusätzlicher Felder in Router Advertisements. Die so genannten RDNSS- (Recursive DNS Server) und DNSSL-Erweiterungen (DNS Search List) spezifizieren eine Möglichkeit, DNS-Server und DNS-Suchpfade im Rahmen der Router Advertisements zu versenden.

Insbesondere RDNSS und DNSSL sind erst im November 2010 mit Erscheinen von RFC 6106 standardisiert worden.

Die Unterstützung für die obengenannten Lösungen ist unter den verschiedenen Implementierungen uneinheitlich. Beispielsweise unterstützen Microsoft Windows Vista und 7 nur DHCPv6 und für Linux-Systeme sind zwar alle Verfahren verfügbar, jedoch oft von Distributoren nicht vorinstalliert. Mac OS X unterstützt allerdings seit der Version 10.7 (Lion) sowohl DHCPv6 als auch RDNSS.

Multihoming[Bearbeiten]

Einige Wissenschaftler wie beispielsweise John Day[80] kritisieren eine unzureichende Berücksichtigung von Multihoming im Design von IPv6. Durch die Identifikation von Schnittstellen anstelle von Hosts durch IP-Adressen treten Effizienzschwierigkeiten beim Routing auf: Die Zuteilung von providerunabhängigem Adressraum (PI Address Space) verlängert Routingtabellen und repliziert damit Probleme von IPv4; im Falle von providerabhängiger mehrfacher Adressierung bedarf es Anpassungen auf höheren Protokollschichten, um den Ausfall einer der Anbindungen kompensieren zu können – etwa kurzfristige Änderungen von DNS-Einträgen.

Datenschutz[Bearbeiten]

Datenschützer bemängeln an IPv6, dass hier jedes mit dem Internet verbundene Gerät eine fixe IP-Adresse bekommen könnte, wodurch alle besuchten Seiten noch Jahre später eruiert und der Besucher identifiziert werden könnte.[81][82][83] Um dieses Problem zu umgehen, wollen Datenschützer Internet Service Provider per Gesetz dazu verpflichten, auch unter IPv6 dynamische Adressen anzubieten.[84]

IPv5[Bearbeiten]

Ein Protokoll mit dem Namen IPv5 gibt es nicht. Allerdings hat die IANA die IP-Versionsnummer 5 für das Internet Stream Protocol Version 2 (ST2, definiert in RFC 1819) reserviert, das gegenüber IPv4 verbesserte Echtzeitfähigkeiten haben sollte, dessen Entwicklung dann aber aus Kosten-Nutzen-Erwägungen zugunsten von IPv6 und RSVP eingestellt wurde.

Siehe auch[Bearbeiten]

Literatur[Bearbeiten]

Grundlegende Spezifikationen[Bearbeiten]

  • RFC 2460, Internet Protocol, Version 6 (IPv6) Specification
  • RFC 4861, Neighbor Discovery for IP version 6 (IPv6)
  • RFC 4862, IPv6 Stateless Address Autoconfiguration
  • RFC 4291, IP Version 6 Addressing Architecture
  • RFC 5942, IPv6 Subnet Model

Sekundärliteratur[Bearbeiten]

  • Reiko Kaps: WAN-Auffahrt – Mit dem IPv6-Netz online gehen. in: c’t Heise, Hannover 2008,6. ISSN 0724-8679.
  • Silvia Hagen: IPv6. Grundlagen – Funktionalität – Integration. Sunny Edition, Maur 2009. ISBN 978-3-9522942-2-2.
  • Joseph Davies: Understanding IPv6 (englisch). 2. Aufl. Microsoft Press, Redmond 2008. ISBN 978-0-7356-2446-7.
  • Anatol Badach: Technik der IP-Netze. TCP/IP incl. IPv6. Funktionsweise, Protokolle und Dienste. Hanser Fachbuch. 2. Aufl. Hanser, München 2007. ISBN 3-446-21935-8.
  • Mathias Hein: IPv6, Das Migrationshandbuch. Franzis, Point 2003. ISBN 3-7723-7390-9.
  • Herbert Wiese: Das neue Internetprotokoll IPv6. Hanser Fachbuch. Hanser, München 2002. ISBN 3-446-21685-5.
  • Hans P. Dittler: IPv6. Das neue Internet-Protokoll. Technik, Anwendung, Migration.. 2. Aufl. Dpunkt, Heidelberg 2002. ISBN 3-89864-149-X.
  • Christian Huitema: IPv6 – die neue Generation. Addison-Wesley, München 2000. ISBN 3-8273-1420-8.

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Heise.de Datenschützer besorgt über IPv6
  2. Pressemitteilung der Regional Internet Registries: NRO and OECD Highlight that IPv6 Deployment is Too Slow
  3. a b IANA: [1]
  4. APNIC: Two /8s allocated to APNIC from IANA Meldung vom 1. Febr. 2011
  5. ICANN: Global Policy for the Allocation of the Remaining IPv4 Address Space
  6. Twitter-Verlautbarung der IANA zum Ende des IPv4-Adressraums
  7. APNIC: APNIC IPv4 Address Pool Reaches Final /8
  8. RIPE NCC: [2]
  9. APNIC: Policies for IPv4 address space management in the Asia Pacific region, Abschnitt 9.10.1
  10. RIPE NCC: [3]
  11. RFC 6434, Abschnitt 11
  12. IPsec wurde zusätzlich auch für IPv4 spezifiziert, dort ist die Umsetzung aber optional, während sie für IPv6 zunächst in RFC 4294 vorgeschrieben war. Diese Vorschrift wurde aber mit RFC 6434 zurückgenommen.
  13. a b siehe etwa RFC 2775, Abschnitt 5.1
  14. RFC 3724, Abschnitt 2
  15. RFC 2993, Abschnitt 6
  16. Stefan Wintermeyer: Asterisk 1.4 + 1.6. Addison-Wesley, München; 1. Auflage 2009. Kapitel 8. Online unter [4]
  17. Eine Diskussion des Problems findet sich in einem Internet-Draft von W. Eddy, Comparison of IPv4 and IPv6 Header Overhead.
  18. German IPv6 Council: Leitlinien IPv6 und Datenschutz
  19. RFC 5952, A Recommendation for IPv6 Address Text Representation, S. Kawamura (August 2010), Abschnitt 4.2.2: http://tools.ietf.org/html/rfc5952#section-4.2.2
  20. RFC 3986, Abschnitt 3.2.2
  21. IPv6 Address Allocation and Assignment Policy von APNIC, ARIN, RIPE NCC, Abschnitt 4.3
  22. IPv6 Address Allocation and Assignment Policy, Abschnitt 5.4.1
  23. IPv6 Address Allocation and Assignment Policy, Abschnitt 5.4.2
  24. RFC 4291, Abschnitt 2.5.4
  25. RFC 4291, Abschnitt 2.5.2
  26. http://tools.ietf.org/html/rfc4291#section-2.5.6
  27. Dazu siehe auch das Skript auf [5] (Online-Version: [6])
  28. a b RFC 2373, Abschnitt 2.7
  29. RFC 3307, Abschnitt 4.1
  30. RFC 4291, Abschnitt 2.7
  31. IANA: Internet Protocol Version 6 Multicast Addresses
  32. IANA: IPv6 Unicast Address Assignments
  33. RFC 2462, Abschnitt 5.4
  34. RFC 2461, Abschnitt 4.6.2
  35. RFC 2462, Abschnitt 4
  36. RFC 4862, Abschnitt 5.5.3 e)
  37. Herbert Wiese: Das neue Internetprotokoll IPv6. Hanser Verlag, München 2002. ISBN 3-446-21685-5, S. 197.
  38. "Hack" für IPv6-Erreichbarkeit großer Content-Anbieter
  39. Peter Bieringer: Linux IPv6 Howto, Kapitel 9.3
  40. Peter Bieringer: Linux IPv6 Howto, Abschnitt 9.4
  41. RFC 4966, Reasons to Move the Network Address Translator – Protocol Translator (NAT-PT) to Historic Status
  42. IPv6-Testbetrieb für heise online – Web-Site per Proxy IPv6-fähig machen
  43. Android Issue 3389: Full IPv6 Android support
  44. a b heise Netze: IPv6: Privacy Extensions einschalten
  45. Iljitsch van Beijnum: iOS 4 IPv6
  46. heise Netze: iOS 4.3: Apple bessert beim Datenschutz nach
  47. Schritte zur Anpassung des Windows-2000-Protokollstapels an SP2 bis 4: [7]
  48. TCP/IP-Grundlagen für Microsoft Windows: Unterstützung für DNS
  49. Microsoft TechNet: Routing IPv6 Traffic over IPv4 Infrastructure: TCP/IP
  50. RFC 3775, Abschnitt 5.2.5
  51. Connecting with IPv6 in Windows 8. MSDN Blog, abgerufen am 12. August 2012 (englisch).
  52. Internet Protocol Version 6 in Mobile 6.5. MSDN, abgerufen am 11. September 2013 (englisch).
  53. IPv6 Support in Microsoft Products and Services. MS TechNet, abgerufen am 11. September 2013 (englisch).
  54. Vishwas Manral: RSVP-TE IPv6
  55. Vishwas Manral: Updates to LDP for IPv6
  56. RFC 4890
  57. Cisco Systems: IPv6 Local Network Protection with Cisco IOS Routers and Switches (Version vom 8. Juni 2009 im Internet Archive)
  58. IANA: Delegation of IPv6 address space, Mailinglistenbeitrag vom 14. Juli 1999
  59. AMS-IX sFlow Statistics
  60. AMS-IX Traffic Statistics
  61. Google IPv6 Adoption
  62. Google per country IPv6 Adoption
  63. Geoff Huston: AS2 IPv6 BGP Table Data
  64. Mike Leber: Hurricane Electric IPv4 Exhaustion Counters
  65. APA, AP: Internet-Protokoll IPv6 kommt endlich in Bewegung, derstandard.at, 6. Mai 2008
  66. Website des IPv6 Forum
  67. Website IPv6ready
  68. Heise Online: China hat nun weltweit die meisten Internetnutzer (24. Juli 2008)
  69. Liu Baijia: China launches new generation Internet (China Daily, 27. Dezember 2004)
  70. Website des Vienna Internet Exchange
  71. Offizielle Website des World IPv6 Day
  72. heise Netze: World IPv6 Day: Viel Aufmerksamkeit und kaum Probleme
  73. heise Netze: World IPv6 Day: Unerwartete Nachwirkungen
  74. World IPv6 Launch Day: Inhalteanbieter schalten IPv6 dazu bei heise.de, 5. Juni 2012 (abgerufen am 6. Juni 2012).
  75. IPv6-Standard: Eine unsichtbare Revolution für das Internet bei welt.de, 5. Juni 2012 (abgerufen am 6. Juni 2012).
  76. 'Twitter-Meldung der Telekom'
  77. Telekom: Kein IPv6 für Verträge mit Analog- und ISDN-Telefonie, heise.de, 6. Dezember 2012
  78. 'Leistungsbeschreibung Call & Surf Comfort via Funk, Stand: 12/2012' (PDF; 102 kB)
  79. Diskussion über EUI-64, EUI-48 und MAC-48 auf der IETF-IPng-Arbeitsgruppen-Mailingliste
  80. Deutschlandfunk: „Was wir brauchen, ist etwas ganz anderes als das, was wir bekommen haben“
  81. Heise.de Datenschützer besorgt über IPv6
  82. IPv6 – Das Internet-Protokoll der nächsten Generation
  83. IPv6
  84. Dynamische Adressvergabe per Gesetz auch unter IPv6