IPv6 - Das Internet im Wandel

Als das Internet in den siebziger Jahren ersonnen wurde, hatte niemand damit gerechnet, dass es solch eine überwältigende Popularität erreichen würde. Das einfache IPv4 Protokoll, welches 1981 erfunden wurde, war vollkommen ausreichend. Mit der Verbreitung der PCs und der Entstehung des World Wide Web (WWW) wurde aber schon Mitte der neunziger Jahre klar, dass es früher oder später zu einer Verknappung der IP-Adressen im IPv4 Format kommen würde. Deswegen wurde 1995 das Internet Protocol Next Generation ins Leben gerufen. Dieses Protokoll wurde später in Internet Protocol version 6 oder kurz IPv6 umbenannt. 1998 wurde das Protokoll schließlich standardisiert. Anstatt eine rasante Verbreitung zu finden und schnell das Protokoll IPv4 zu verdrängen, wird es auch heute noch nur sporadisch eingesetzt. Das Abwarten hat nun ein Ende. Seit Februar 2011 gibt es keine freien IPv4 Adressen mehr. Eine Vergrößerung des Adressraums ist nun also nicht mehr eine Option sondern eine Notwendigkeit. Der Blog befasst sich mit dem Aufbau von IPv6, den Gründen für den zögerlichen Einsatz und einem Fazit zum Einsatz von IPv6. 

Aufbau der IPv6 Adresse

Das IPv6 Protokoll besitzt einen Adressraum von 2^128 Adressen. Im Gegensatz zu den 2^32, also etwa 4 Milliarden Adressen von IPv4 könnten wir praktisch alles im Universum mit einer eigenen Adresse versehen. Um diese Adresse einigermaßen übersichtlich darzustellen, wurde auf die Dezimalschreibweise von IPv4 verzichtet und die Hexadezimal-Schreibweise eingesetzt.

2a01:4f80:1310:c200:0000:dead:beef:cafe

Gehen wir etwas näher auf den Aufbau der IPv6 Adresse ein. Die Adresse wird zunächst in zwei Teile gespalten. Der erste Teil der Adresse, das sog. Präfix wird vom Provider und von der RIR (Regional Internet Registry) vergeben. Der zweite Teil der Adresse erstellt sich der Rechner selbst. Deswegen heißt dieser Teil auch Interface Identifier. Zur Erstellung des Interface Identifiers kommen wir später zu sprechen. In unserem obigen Beispiel wäre das Präfix also

2a01:4f80:1310:c200/64

Dementsprechend wäre

0000:dead:beef:cafe/64

der Interface Identifier.

Der Provider bekam dabei vom RIR wahrscheinlich

2a01:4f80/32

Der Endkunde bekam möglicherweise

2a01:4f80:1310/48

oder nur

2a01:4f80:1310:c200/56.

Der Rechner muss diesen Teil im Netz erfragen. Dazu schickt er eine Multicast Abfrage, die sich Router Solicitation nennt, ins Netz und wartet auf die Antwort. Die Antwort auf eine Router Solicitation nennt sich Router Advertisement und die Router schicken sie in regelmäßigen Abständen. Der Rechner merkt sich nämlich die nächsten Router und verschickt über sie die Pakete. Falls sich ein Router für längere Zeit nicht meldet, wird er aus der Liste der möglichen Router entfernt.

Hierbei ist es wichtig zu erwähnen, dass IPv6 unbedingt das Internet Control Message Protocol (ICMP) benötigt. Über das ICMP Protokoll werden die Adressen ausgehandelt. Falls die lokale Firewall das ICMP blockt, kann der Rechner keine Adresse erhalten und die Adressvergabe wird scheitern.

Kommen wir nun zum zweiten Teil der Adresse. Normalerweise wird der Interface Identifier mit Hilfe der Hardware Adresse der Netzwerkkarte, auch MAC Adresse genannt, erstellt. Die MAC Adresse hat nur 48 Bit. Deswegen werden die restlichen 16 Bit als ff:fe auch fest vorgegeben. Nachdem die Adresse erstellt wurde, muss nun sichergestellt werden, dass die Adresse nicht schon existiert. Dieses Vorgehen wird auch Neighbour Solicitation genannt. Der vermeintliche Nachbar wird direkt angesprochen, d. h. wir sprechen hierbei von Unicast. Zu diesem Zeitpunkt würde unser Rechner in einem IPv4 Netzwerk einen Broadcast absenden, um den DHCP Server im Netz zu finden. Dadurch senkt sich die Netzwerkbelastung beträchtlich.

Falls die Adresse nun doch vergeben ist, dann vergrößert der Rechner die Adresse einfach um eins und versucht es noch einmal. Im Normalfall heißt das, der Rechner muss irgendwie in das Netz eingesetzt werden. Den Rest erledigt das Netz vollautomatisch.

Dual Stack

Das IPv6 Protokoll hat bisher keine große Verbreitung gefunden. Die Gründe dafür sind verschieden. Zum Teil müssen viele Router und Server umgestellt werden. Weiterhin muss auch die Software IPv6 fähig gemacht werden. Deswegen wurde das Dual Stack erfunden. Dual Stack ist die gleichzeitige Nutzung von IPv4 und IPv6. Ein Rechner bekommt also gleichzeitig eine IPv4 und IPv6 Adresse zugewiesen. Dadurch ist es in der Übergangsphase möglich, den Rechner in beiden Netzen zu betreiben. Der Grund für diese Dual Stack Phase ist, dass das Ende der IPv4 Phase nicht eindeutig definiert ist. Der Übergang soll langsam erfolgen.

Mobile IPv6 und Privacy Extensions

Mobile IPv6

Die IPv6 bringt einige interessante Neuerungen mit. Die erste nennt sich Mobile IPv6 und kann in mobilen Geräten eingesetzt werden. Der Grundgedanke bei diesem Feature ist, dass das mobile Geräte (Notebook, Handy) jederzeit mit seiner lokalen Adresse aufgerufen werden kann. Dadurch kann das Gerät immer gefunden werden, unabhängig davon in welchem Netz es sich zur Zeit befindet.

Wie funktioniert das?
Das Notebook befindet sich im lokalen Netz zu Hause und ist mit seiner eindeutigen 128 Bit IPv6 Adresse erreichbar. Nun geht der Besitzer mit dem Rechner aus dem Haus und zur Arbeit. An der Arbeitsstätte angekommen, wird das Notebook im Arbeitsnetz angesteckt und bekommt eine neue Adresse. Das Notebook meldet jetzt dem sog. Home Agent die neue Adresse und er verbreitet die Information weiter im Netz. Nun weiß jeder Kommunikationspartner, in welchem Netz das Notebook zu finden ist.

Dieses Feature ist nur soweit gegeben, so lange die Firmenfirewall mitspielt. Wenn die Firewall fremde Netze blockt, kann Mobile IPv6 nicht eingesetzt werden.

Privacy Extensions

Ein weiteres Feature sind die Privacy Extensions. Im Gegensatz zu Mobile IPv6 setzt PE auf Privatsphäre. Die Vergabe des Interface Identifiers ist nämlich eindeutig und dadurch kann das Gerät verfolgt werden. Um das zu unterbinden, wird dieser Teil der Adresse zufällig erstellt. Außerdem handelt es sich hierbei um eine zeitlich begrenzte Adresse, die regelmäßig neu erstellt wird. Interessanterweise unterstützen die meisten Betriebssysteme diese Möglichkeit, aber bei einigen ist sie einfach nicht eingeschaltet. Während es bei Serversystemen, wie z. B. Windows Server oder Linux sinnvoll ist, auf diese Möglichkeit zu verzichten, sollten gerade die Betriebssysteme der Smartphones die Privacy Extensions nutzen, um die Nutzer vor Verfolgung zu schützen. Dies ist aber nicht immer gegeben. iOS und Android unterstützen, diese Möglichkeit, aber beim iOS sind Privacy Extensions erst ab der Version 4.3 aktiviert. Beim Android sind sie auch standardmäßig deaktiviert.

Vorteile von IPv6

Die Vorteile von IPv6 sind offensichtlich. Durch die Autokonfiguration ist eine einfache Möglichkeit der Adressvergabe gegeben. Dadurch dass kein NAT benutzt werden muss, werden nicht nur die lokalen, sondern auch die großen Router im Netz deutlich entlastet. Es ist nämlich absehbar, dass die Backbones in der Zukunft immer mehr Arbeit haben werden, weil sie den IPv4 Adressraum mittels NAT künstlich vergrößern müssen. Dadurch wird es immer teurer, die IPv4 Adressen zu nutzen, was hoffentlich den Übergang beschleunigen wird.
Im privaten Rahmen wird es außerdem noch möglich sein, z. B. einen privaten Mailserver einzurichten. Zur Zeit ist das wegen der sich ständig ändernden Adresse nicht möglich. Solche Mailserver werden automatisch auf eine Sperrliste („Blacklist“) gesetzt.

Gefahren von IPv6

Neben den enormen Vorteilen, müssen natürlich auch die Bedenken geäußert werden. Durch die eindeutige Adresse ist eine Verfolgung im Internet möglich. Personalisierte Werbung und Spam könnten die Folge sein.

Eine weitere Gefahr liegt inMobile IPv6. Wenn man im Netz immer die gleiche Adresse hat, dann können auch die Privacy Extensions hier nur begrenzt helfen.
Das Fehlen von NAT könnte auch als eine Einschränkung der Privatsphäre angesehen werden. Durch NAT war zwar eine Ende-zu-Ende Verbindung nicht möglich. Auf der anderen Seite konnten die Pakete nur bis zum Router verfolgt werden. Weiter war es nicht möglich zu erkennen, welcher Rechner die Anfrage gesendet hat. Ein Ende-zu-Ende Protokoll hätte in diesem Fall also auch Nachteile.

Fazit

IPv6 kommt mit großen Schritten, da IPv4 an seine Grenzen gestoßen ist. Die Betriebssysteme sind dafür bereit. Es kann sein, dass einige Anwendungen in der Entwicklung noch hinterherhinken, aber das ist nicht das größte Problem. Die Änderungen in der Privatsphäre durch Ende-zu-Ende Protokolle, Mobile IPv6, Eindeutigkeit usw. sind die größten Gefahren. Diese müssenzunächst an die Benutzer kommuniziert werden, damit sie dagegen gewappnet sind. Deswegen ist es vielleicht gut, dass wir noch ein paar Jahren warten müssen, bevor das IPv4 komplett abgeschaltet wird.

Weiterführende Quellen:
http://tools.ietf.org/html/rfc4487
http://www.ripe.net/ripe/docs/ripe-512#assignment_size