IPv6: Die unterschätzte Revolution

Portrait von Till Hunziker
Von Till Hunziker

IPv6 (Internet Protocol Version 6) ist die nächste Generation von IP-Adressen. Dieses neue Protokoll wird mehr IP-Adressen bereitstellen als wir in unserem kurzen Leben verbrauchen können. Wir werfen einen Blick auf die gar nicht mehr so neue Technologie.

IPv6 (Internet Protocol Version 6) ist ein nicht mehr ganz so neues standardisiertes Verfahren, das zur Übertragung von Daten im Internet entwickelt wurde. Es ersetzt das in den 1970er Jahren entwickelte IPv4-Protokoll. Der Hauptgrund für die Entwicklung von IPv6 im den 90er Jahren war, dass die Anzahl an verfügbaren Adressen in IPv4 aufgrund der grossen Nachfrage stark abnahm.

Das neue Protokoll bietet nicht nur mehr als genug Adressen, um alle möglichen Anwendungen abzudecken, sondern enthält auch viele andere Funktionen, die es effizienter und sicherer machen als sein Vorgänger.

Prinzipiell kommt man um IPv6 nicht mehr herum. Doch während man zu IPv4 in Anleitungen, Dokumentationen und Ausschreibungen seitenweise Informationen findet, wird IPv6 meist nur in einer Zeile erwähnt. Das will ich hiermit ändern und ein kleinen Überblick der verschmähten Technologie geben.

Warum es sich lohnt, sich für IPv6 zu interessieren

Hauptgrund für das Erschaffen von IPv6 war wie bereits beschrieben der Adressmangel. Von vielen Personen wird gesagt, dass in internen Netzwerken kein Mangel herrscht und eine Umstellung nicht notwendig sei. Das ist soweit korrekt, wie sonst sollten die laut Statista 30 Milliarden Geräte überhaupt Internet erhalten, wenn IPv4 nur einen Addressraum von grob vier Milliarden Adressen bietet?

Dies wird durch Workarounds erreicht, der bekannteste davon ist Network Address Translation (NAT). Mit NAT werden die IP-Adressen in einem IP-Paket von einer öffentlichen IP-Adresse zu einer (privaten) internen IP-Adresse ausgewechselt (und umgekehrt). Ein internes Gerät bemerkt so gar nicht, dass es nicht direkt mit der Aussenwelt kommuniziert und ein Übersetzer die ganze Zeit in die Kommunikation eingreift.

Das IPv4-Protokoll ist schon älter, sogar älter als ich; und ich bin schon fast 40 Jahre alt. In den 80er Jahren galt auch 1 MB Arbeitsspeicher als das Mass aller Dinge und damals waren und schienen die 4,3 Milliarden IPv4-Adressen mehr als ausreichend.

Bis im Jahr 2025 wird es gemäss Statista 75 Milliarden Geräte geben, welche ans Internet angebunden sind. Die Entwicklung geht also rasant voran. Wohl auch wegen der ganzen IoT-Geräte, die bereits existieren und künftig noch entwickelt werden. Da soll ein 40 Jahre altes Protokoll noch zeitgemäss sein? IPv6 gibt es auch schon seit 1998, hat also ebenfalls  seine Teenagerzeit hinter sich gelassen und ist nun in seinen besten Jahren angekommen.

IPv6 wurde mit den Erfahrungen aus IPv4 in der realen Welt konzipiert, soll dessen Mängel beseitigen und allem voran genügend Adressen bereitstellen. Ob es nun ausreicht, wenn Nanobots erfunden werden und diese die Weltherrschaft an sich reissen sei dahingestellt. Dies wird zu diesem Zeitpunkt nicht mehr unser Hauptproblem sein.

comic

Jedoch sollten die 340 Sextillionen IPv6-Adressen (die Zahl ist gross. Wirklich gross. Du wirst einfach nicht glauben, wie gross, wie riesig, wie verwirrend gross sie ist!) reichen, um jedes Reiskorn auf der Welt zu adressieren. Anders ausgedrückt gibt es ungefähr 1'500 Adressen pro Quadratmeter auf dem gesamten Planeten Erde.

Am 3. Februar 2011 hat die IANA (das Gremium, dass für die IP-Adressen-Vergabe zuständig ist) die letzten verfügbaren IPv4-Blöcke an die fünf regionalen Registrierungsstellen verteilt. Es gibt Regionen (wie beispielsweise EMEA), in denen man heute keine IPv4-Adressen mehr zugewiesen bekommt, sondern auf einer langen Warteliste landet. Diese Knappheit fangen die Internetanbieter (ISPs) zur Zeit noch durch ihre Reserven auf. Doch es ist absehbar, dass Endkunden schlichtweg keine neue öffentliche IPv4-Adresse mehr bekommen werden.

Vorteile von IPv6

Adressen

Habe ich schon erwähnt, dass es mit IPv6 enorm viele Adressen gibt?

Effizienteres Routing

Präfixe von ISP-Kunden werden zu einem einzigen Präfix zusammengefasst. Dadurch verkleinern sich Routing-Tabellen.

Effizientere Paketverarbeitung

Der einfacher Paket-Header macht die Paketverarbeitung effizienter. Der Header enthält im Gegensatz zu IPv4 keine Prüfsumme auf IP-Ebene mehr. Somit muss die Prüfsumme nicht bei jedem Hop neu berechnet werden.

Multicast

Während bei IPv4 mit Broadcast jedes Gerät jedes andere Gerät anbrüllt, um ein anderes zu finden, wird bei IPv6 Multicast verwendet. Das ist eine deutlich elegantere Lösung, denn Multicast fasst Dienstanbieter in Gruppen zusammen. Jede Gruppe ist über eine eigene Adresse erreichbar. Wenn also ein Client einen Router sucht, werden nur Router im Netzwerk angesprochen. Alle anderen Geräte werden nicht damit belastet und somit wird das Netzwerk insgesamt entlastet. 

IPv6 Autokonfiguration (SLAAC)

IPv6 wurde so entwickelt, dass eine Konfiguration von Netzwerken und Clients möglich ist, ohne das etwas angefasst werden muss (Zero Configuration). Dies wird über Stateless Adress Auto Configuration (SLAAC) ermöglicht.

Neue Dienste

Da NAT wegfällt, haben wir wieder eine echte End-zu-End Verbindung zwischen den Geräten. Das macht es einfacher, Peer-to-Peer Netzwerke und neue Dienste zu erstellen. Auch VoIP sollten durch diesen Umstand stabiler werden.

 Aufbau einer IPv6 Adresse

Eine IPv6-Adresse besteht aus 128-Bit, welche in acht Blöcke zu je 16-Bit unterteilt sind.

Bei IPv6 wird das Hexadezimalsystem verwendet. Dadurch liegt der nutzbare Zahlenbereich von 0 bis 9 und die verfügbaren Buchstaben sind a, b, c, d, e, f. Die Adresse besteht immer aus einem Präfix, der vom ISP und dem Router erstellt wird (Network Prefix), und einem Identifier, der durch den Client selbst erstellt wird (Interface Identifier).

Hierzu ein Beispiel:

---------------Network-Prefix----------------    ----------Interface-Identifier------------------

                     64-Bit Net-ID                                                     64-Bit

2001:0DB8:85A3:0000:0211:24FF:FE80:C12C

Region
IANA
            ISP         Kundenetz   Subnetz    Identifier

 

Hier bekommt ein Privatkunde bereits 256 Subnetze, die er nutzen kann. So kann ich endlich jeden Lichtschalter und jede Kaffeemaschine in ein eigenes Netzwerk stellen, das reicht mir vorerst mal.
Der Identifier-Teil der Adresse wird aus der MAC-Adresse des Clients und etwas Voodoo zusammengesetzt (anders ausgedrückt ist es also eine teils zufallsgenerierte Nummerierung).
Ein Client hat und bekommt immer mehrere Adressen.

 

 

 

Loop Back Adresse

::1

Ist die Clienteigene, lokale Adresse. Bei IPv4 bekannt als localhost oder 127.0.0.1

Link Local

FE80::0211:24FF:FE80:C12C%10

Diese Adresse ist mit der heutige APIPA Adresse vergleichbar und beginnt immer mit FE80::
Der Rest wird aus der MAC Adresse und etwas Magie zusammengesetzt. Zuhinterst wird mit %10 noch das Interface angegeben.

IPv6 Adresse

Präfix:2001:DB80:FE80:C12C

Wird aus dem Präfix, der vom ISP und Router vorgegeben ist und der Link Local Adresse zusammengesetzt

IPv6 Temp IP

Präfix: Zufällige Werte

Wird aus dem Präfix, der vom ISP und Router vorgegeben ist und zufälligen Werten zusammengesetzt. Diese wird beispielsweise verwendet, um im Internet zu surfen. Ein Client wird meistens mehrere Temporäre IPs haben.

 

Adresse vereinfachen

Eine solche lange Adresse wird etwas unhandlich. Daher kann diese mit ein paar Regeln verkürzt werden.

2001:0DB8:85A3:0000:0000:0000:F006:C12C

Die ersten Nullen pro Block können gestrichen werden und vier Nullen können zu einer Null gekürzt werden.

2001:DB8:85A3:0:0:0:F006:C12C

Eine einzelne fortlaufende Zeichenfolge von vier oder mehr Nullen kann verkürzt werden mit einem doppelten Doppelpunkt (::). Jedoch nur einmal in einer IP-Adresse.

2001:DB8:85A3::F006:C12C

DNS


Ein DNS-Server vereinfacht wie schon heute die Eingabe der Adresse. So besucht man beispielsweise Facebook auch nicht über die IP 157.240.17.35 sondern über den DNS-Namen Facebook.com

Das Anwendungsprinzip bleibt dasselbe, man hinterlegt beim DNS einfach neu auch die IPv6-Adresse:

2a03:2880:f11c:8183:face:b00c::25de

Adressvergabe

Die Adresse eines Client kann manuell über SLAAC oder DHCP vergeben werden.

Manuell

Wie heute bei IPv4 kann die Adresse manuell vergeben werden. Dies wird vor allem bei Servern so umgesetzt werden.

SLAAC

Ein Client schickt eine Anfrage über Multicast an alle Router im Netzwerk (RS – Router Solicitation). Der Router gibt dem Client den Präfix und weitere Hinweise für die Teilnahme am Netz bekannt. Dies kann zum Beispiel die Information beinhalten, ob ein DHCP-Server im Netzwerk aktiv ist (RA – Router Advertisment).

DHCPv6

Ein DHCP wird grundsätzlich nicht mehr benötigt, da die Geräte ihre Adresse mittels SLAAC selbst zusammensetzen können.

Es kann aber sein, das wir in bestimmten Situationen dennoch ein DHCP nutzen möchten.

Hierbei unterscheiden wir zwischen zwei Betriebsarten.

  • Stateless
    Bei einem Stateless-Betrieb des DHCP-Server werden nur Optionen vergeben wie zum Beispiel PXE-Boot oder Auto-Konfigurationen für Telefone. Die IP-Adresse generiert der Client immer noch selbst (mittels SLAAC).
  • Statefull
    Der Statefull-Betrieb funktioniert wie der heutige IPv4 DHCP und vergibt sowohl Optionen als auch die Adressen für die Clients. Die Szenarien für einen solchen Betrieb sind praktisch nicht vorhanden und entsprechen meist dem Denkmuster aus der alten IPv4-Welt.

 DAD - Dublication Adress Detection

Auch wenn die Wahrscheinlichkeit einer gleich lautende Adresse sehr gering ist, muss dies trotzdem überprüft werden.

Da kommt die Dublication Adress Detection (DAD) ins Spiel, die bei einer neu generierten IP-Adresse durchgeführt wird.

  1. Neighbor Solicitation: Dazu schickt der Host eine Anfrage an die generierte Adresse ins lokale Netz.
  2. Neighbor Advertisement: Falls ein anderer Client bereits dieselbe IP-Adresse nutzt, kommt eine Antwort zurück.

Erst wenn keine Antwort zurückkommt, nimmt sich das Interface diese Adresse und bindet sie an sich.

Security

RA-Guard

Viele werden sagen, dass das neue Protokoll unsicher sei, da sich jedes Gerät als Router ausgeben kann und so ein Netzwerk kompromittieren kann. Das stimmt, dieser Einwand ist valid. Jedoch ist das Problem nicht neu und kann genauso unter IPv4 ausgenutzt werden, indem man einfach einen weiteren DHCP-Server ins Netz stellt.

Hier kommt bei IPv6 der RA-Guard ins Spiel. So lässt sich auf den Switchen definieren, von welchen Ports aus ein RA gesendet werden darf.

Privatsphäre

Auch immer wieder ein grosses Thema ist der Schutz der Privatsphäre bei IPv6-Skeptikern. Jedes Gerät erhält eine öffentlich ansprechbare IPv6-Adresse und ist somit eindeutig identifizierbar. Dies ist in privaten Haushalten kein grosses Thema, da schon der ISP das Präfix regelmässig austauscht. Aber um das Thema trotzdem auch für fixe Präfixe und Skeptiker aus der Welt zu schaffen, wurde die IPv6 Privacy Extension entwickelt. Diese soll ein Tracking stark erschweren.

Dazu generiert der Client alle paar Stunden eine neue temporäre IP. Diese wird dann genutzt, um im Internet zu surfen. Die IP bleibt so lange bestehen, bis keine Verbindungen mehr aktiv sind. Eine Citrix Session wird beispielsweise trotzdem immer dieselbe temporäre IP haben, bis sie geschlossen wird. Nach den paar Stunden wird dann wieder eine neue temporäre IP erstellt und für neue Verbindungen verwendet. Ein Client kann also am Ende des Tages mehrere temporäre IPs aktiv haben.

Firewall

Aber was ist mit den Clients? Die sind direkt im Internet ersichtlich so ganz ohne NAT? Zwar dürften fast alle IPv6-Netze den globalen Adressraum nutzen, doch das heisst nicht, dass alle jedes Gerät sehen werden.

So werden beispielsweise IPv6-Firewalls da eingesetzt, wo heute in IPv4-Netzen das NAT-Gerät unerwünschte Eingehende Verbindungen verhindert. Natürlich muss die Firewall dazu IPv6 beherrschen.

Die meisten Neueren, wie zum Beispiel und auch die von uns eingesetzten FortiGate Firewalls, beherrschen IPv6 und können dafür eingesetzt werden.

Migration zu IPv6

Was gibt es bei einer Migration zu IPv6 zu beachten? Zuerst vorneweg, es muss nicht am Tag X alles auf IPv6 umgestellt werden. Es gibt die Möglichkeit eines Parallelbetrieb von IPv6 und IPv4. Dieser Betrieb wird Dual Stack genannt. Dies erleichtert den Umstieg auf IPv6 ungemein. Damit das funktioniert, muss bereits der ISP den Dual Stack Betrieb anbieten. Wenn dies nicht der Fall ist, würde ich noch zuwarten oder zu einem der vielen ISPs wechseln, welche anständiges IPv6 bieten können.

Als Übergangslösungen gibt auch noch DS-Lite oder 6RD, diese Technologien ersetzten aber kein natives IPv6 und werden hoffentlich bald verschwinden. Glücklicherweise schwenken immer mehr ISPs von diesen Workaround-Lösungen zu echtem, nativem IPv6 um. Es bräuchte wohl auch bei den ISPs etwas mehr Verständnis zu dem Thema.

Des Weiteren sollte sicher abgeklärt werden, ob alle Geräte IPv6 unterstützen. Hier könnten eventuell alte Produktionsmaschinen oder andere Apparate zum Thema werden. Aber auch hierfür gibt es eine Lösung, diese heisst NAT64. Dies ist eine Art Übersetzungsprotokoll von IPv6 zu IPv4, damit eben genau solche alten Apparate, die unter Umständen nicht so einfach ersetzt werden können, weiter betrieben werden können.

Wichtig ist, vor allem an den folgenden Punkt zu denken: IPv6 funktioniert anders als IPv4, daher sollte man nicht einfach die Vorgehensweisen von IPv4 auf IPv6 anwenden. Die Köpfe hinter IPv6 haben sich viele Gedanken zu diesem Protokoll gemacht und einiges besser gemacht. Es wäre schade, wenn wir dies nicht nutzen würden. 

Wenn Sie Fragen zu dem Thema haben, dürfen Sie sich gerne bei mir melden. Mich interessiert auch, wie Sie grundsätzlich zu IPv6 stehen und wie die Entwicklung in Ihrem Unternehmen dahingehend ist. Wissen Sie, wie es um die IPv6 Integration in Ihrem Netzwerk steht? Wurden bereits Massnahmen für die Einführung von IPv6 ergriffen? Ich freue mich auf Ihre Nachrichten und einen regen Austausch in den Kommentaren. 

IPv6

Till Hunzikers Notizen zum Thema wollen wir Ihnen natürlich nicht vorenthalten. Zoomen Sie ins Bild hinein und entdecken Sie IPv6!