Wissenswertes über IPv6

21 März 2013 Kein Kommentar Autor: Jürgen (jdo)

Lnk local Address

Was bringt eigentlich IPv6?

Auf der Fußmatte vor meiner Wohnungstür stand lange Zeit 127.0.0.1. Computermenschen wissen, es handelt sich um eine IP-Adresse, und zwar um die vom Localhost. Weil das Wetter letzten Winter so schlecht war, muss die ausgetretene Fußmatte bald ersetzt werden. Ich habe auch schon eine Vorstellung davon, was auf der neuen geschrieben stehen soll: ::1

„Bitte was soll da drauf stehen?“ fragt ihr euch jetzt vielleicht. Lasst es mich erklären. Ws handelt sich bei ::1 um eine IPv6-Adresse. Genaugenommen um die sogenannte Loopback Address, also das Äquivalent zur 127.0.0.1.

IPv6? Da war doch was! Genau, da kommt ein neues Internetprotokoll auf uns zu. Manche Provider bieten es sogar schon ihren Endkunden an. Höchste Zeit eigentlich, sich mit IPv6 auseinanderzusetzen! Dazu wollen wir hier einen Blick auf die wesentlichen Neuerungen von IPv6 werfen.

Instacode

Der Adressraum

Die längst überfällige Erweiterung des IP-Adressraums wird mit IPv6 Wirklichkeit. Die von IPv4 gewohnten 32-Bit-Adressen sind damit Geschichte. Mit jeder weiteren Binärstelle verdoppelt sich bekanntermaßen die beschreibbare Menge, das heißt, mit einer Adresslänge von 33 Bits hätte man die Anzahl der IP-Adressen verdoppelt, bei 34 Bits läge bereits die vierfache Menge vor.

IPv6-Adressen haben eine Länge von 128 Bits. Wir müssten unser kleines Verdoppelungsbeispiel also 96-mal durchlaufen um diese Zahl zu erreichen. Könnt ihr euch diese Zahl noch vorstellen? Mir ist es bis heute nicht gelungen!

Man darf also annehmen, dass das Thema Adressknappheit für die nächsten Jahrzehnte vom Tisch ist, und genau das war auch die Absicht der Erfinder von IPv6.

Kein noch so kleiner, standardkonformer Link soll jemals in die unangenehme Situation geraten, wegen Adressknappheit umgestaltet werden zu müssen. Die Länge der Adressen hat noch einen weiteren, unerwarteten Vorteil:

Eine oder mehrere 32-Bit-IPv4-Adressen, Portnummern, Gültigkeitsbereiche oder Flags könnte man theoretisch in den 128 Bit einer IPv6-Adresse unterbringen. Tatsächlich gibt es einige Technologien und Protokolle, die sich darauf verlassen, funktionsrelevante Informationen aus den verwendeten Adressen extrahieren zu können.

Dual Stack

IPv4 wird uns vermutlich noch eine lange Zeit begleiten. Es wäre daher sinnvoll, wenn unsere Geräte sowohl das alte als auch das neue Protokoll gleichzeitig verstehen würden. Glücklicherweise ist das im Dual Stack-Betrieb möglich.

Anwendungen können explizit eines der Protokolle für eine aufzubauende Verbindung bevorzugen oder die Wahl des günstigsten Protokolls dem Betriebssystem überlassen. Dienste haben sogar die Möglichkeit auf IPv4- und IPv6-Adressen gleichzeitig zu lauschen. Obwohl die beiden Protokolle nicht miteinander kompatibel sind, lassen sie sich bis zur endgültigen Abschaltung von IPv4 bequem gleichzeitig nutzen.

Diese Flexibilität erkaufen wir uns freilich mit dem doppelten Administrationsaufwand und der doppelten Pflege von von Regeln in Paketfiltern und Netzkomponenten.

Vereinfachter Header

Ein IPv6-Header ist immer 40 Bytes lang. Zwar bieten die sogenannten Extension Header die Möglichkeit weitere Informationen anzufügen, doch der wichtigste Teil hat keine variable Länge. Das erlaubt die effiziente Verarbeitung von Headern direkt in Hardware, eine Grundvoraussetzung für den Bau von schnellen Routern.

Ungewohnt mag auch die Abwesenheit einer Prüfsumme erscheinen, aber eigentlich wird diese auch nicht mehr benötigt. Auf den Schichten über und unter IPv6 werden selbst Checksummen verwendet, die ganz oder teilweise auch den IPv6-Header erfassen.

Stateless Address Autoconfiguration

Abgesehen vom unvorstellbar großen Adressraum ist die Stateless Address Autoconfiguration (SLAAC) das wohl bekannteste Feature von IPv6. Dank SLAAC sind Rechner in der Lage, sich unter anderem global eindeutige Adressen zuzuweisen. Der Router kann dann Pakete für die Hosts weiterleiten oder ihnen welche aus dem Internet zustellen.

Ohne den Einsatz eines zusätzlichen Protokolls, wie zum Beispiel DHCP, kann dann Konnektivität hergestellt werden. Durch die Nutzung von SLAAC können wir uns Teile des administrativen Tagesgeschäfts wegoptimieren, allerdings verlieren wir dabei an einigen Stellen auch Protokollierungs- und Kontrollmöglichkeiten.

Privacy Extensions

Bei SLAAC sind ehemals netzlastige Vorgänge wie die Zuteilung einer IP-Adresse in die Logik der Geräte gewandert. Sie folgen aber einem vorhersagbaren Muster, welches Spuren in der Adresse hinterlässt.
Dadurch ist es möglich, Rückschlüsse auf die verwendete Hardware zu ziehen und diese auch über Netzgrenzen hinweg zu identifizieren.

Werbetreibende und Bösewichte rieben sich bereits die Hände, doch sie hatten sich zu früh gefreut. Denn die später entwickelten Privacy Extensions lösten das Problem auf eine so simple wie effektive Art und Weise. Hosts erwürfeln sich den Host-Anteil einer mit Privacy Extensions erzeugten Adresse zufällig. Nicht nur bei jedem Neustart des Systems, sondern auch in frei konfigurierbaren Intervallen. Ausgehende Verbindungen werden dann bevorzugt mit zufällig generierten Adressen aufgebaut.

In der Praxis bedeutet das, dass wir regelmäßig wechselnde Absenderadressen in unseren Netzen sehen werden, die wir nicht ohne weiteres einem bestimmten Host zuordnen können. Das kann die Nachvollziehbarkeit von Vorfällen im Netz erheblich erschweren! Bei Servern hingegen greift man auch bei IPv6 weiterhin bevorzugt zu einer statischen Konfiguration der Adressen.

Multicast

Von kaum zu unterschätzender Bedeutung ist in IPv6 das Thema Multicast. Auf Multicast basierende Protokolle erledigen nicht nur die Aufgaben für die sich unter IPv4 das Address Resolution Protocol zuständig zeigte, sondern sie erlauben eine ganz neue Art und Weise, Nodes am Link anzusprechen.

Ein Multicast kann sich auf vordefinierte oder selbstdefinierte Netzbereiche ebenso beziehen wie auf ausgewählte Dienste oder Geräte mit bestimmten Aufgaben. So lässt sich ein Multicast etwa auf alle DNS-Server einer administrativen Einheit oder alle Router an einem Link beschränken. Unzählige weitere, mehr oder weniger sinnvolle, Kombinationen sind möglich.

Der gute alte Broadcast, und damit auch die exklusive Broadcast-Adresse, fiel dem zum Opfer: Aus ihm ist ein Multicast, gerichtet an alle Nodes, geworden. Multicast ist zwar nicht grundsätzlich neu, die Gewißtheit jedoch, dass alle Nodes am Link diese Technologie beherschen, war bisher nicht immer gegeben.

Flow Labels

Wie einen Barcode der einem bestimmten Datenfluss zugeteilt wurde, kann man sich die Flow Labels vorstellen. In kontrollierten Umgebungen könnten Flow Labels einem Paketfilter oder einem Router als Entscheidungsgrundlage dienen.

Idealerweise sollten alle Pakete mit gleichem Flow Label auch gleich behandelt werden. Es spricht auch nichts dagegen, echtzeitrelevante Informationen oder QoS-Parameter im Flow Label einzubetten, obgleich für letztere eigentlich ein eigenes Feld im Header existiert.

Nach welchen Kriterien ein Flow Label vergeben wird, ist im Einzelfall festzulegen. Die Implementierungen der gängigen Betriebssysteme halten sich dort bislang vornehm zurück. Das Flow Label wird von der Quelle festgelegt und darf auf dem Weg zum Empfänger nicht verändert werden.

Mobile IPv6

IPv6 bringt ausgeklügelte Verfahren zur Umsetzung von Mobile IP mit. Dabei handelt es sich um eine Technik, die es erlaubt, mit mobilen Nodes (zum Beispiel Laptops oder Smartphones) unterbrechungsfrei zu kommunizieren, auch wenn diese ihren Aufenthaltsort wechseln.

Gemeint ist die Bewegung von einem Link an einen anderen, zum Beispiel vom kabelgebundenen Link in ein Funknetzwerk. Aber auch zwischen Funknetzen ist der Übergang möglich, es entsteht eine Art Handover auf der IP-Schicht.

In der einfachsten Variante erhält ein mobiler Node von einem vorher definierten Home Agent per Tunnel die an ihn adressierten Pakete zugestellt. Mobile IPv6 hat sich noch nicht flächendeckend durchgesetzt, wird aber angesichts der wachsenden Zahl mobiler Endgeräte zunehmend interessanter.

Zwischenstand

IPv6 wird kommen. Lange Zeit konnte sich IPv6 nicht durchsetzen, denn IPv4 funktionierte noch ausreichend gut. Doch inzwischen kracht es immer häufiger im Gebälk des Netzes.

Einigen Providern sind sogar schon die IPv4-Adressen ausgegangen, sie haben angefangen ihre Kunden hinter Carrier Grade NAT zu verstecken.

In der Welt von Open-Source ist IPv6 übringens ein alter Hut. Linux und BSD waren die ersten Betriebssysteme mit nennenswerter IPv6-Unterstützung. Jeder der ein solches System betreibt, ist bestens gerüstet für die Zukunft.

Fazit

Wer sich noch nicht mit IPv6 beschäftigt hat, sollte sehr bald damit anfangen. Mit meiner neuen Fußmatte jedenfalls, habe ich den ersten Schritt schon getan. Ob sie wohl bis zum nächsten Protokollwechsel durchhalten wird? Beim aktuellen Wetter habe ich da so meine Zweifel …

Über den Autor

IPv6-Workshop Teaser 300x275Dan Lüdtke ist Ingenieur und Netzwerkexperte mit den Schwerpunkten IT-Sicherheit und IPv6.

In seiner Freizeit beschäftigt er sich mit dem Linux Kernel und Dateisystemen. Dieser Gastbeitrag basiert auf seinem neuen Buch IPv6-Workshop: Eine praktische Einführung in das Internet-Protokoll der Zukunft, in dem er den Aufbau eines IPv6-Netzes zu Lern- und Bastelzwecken beschreibt.

Twitter: @danrlde
Website: www.ipv6-workshop.de

Du kannst gerne Deinen Senf zu diesem Beitrag geben: Hier geht es zu den Kommentaren




Schreiben macht durstig! Eine kleine Erfrischung kann daher nie schaden. Wem dieser freie Artikel gefallen hat, der darf mir gerne einen frisch gezapften Hopfen-Tee ausgeben (Paypal - der Spenden-Knopf
oder bitcoin - Adresse: 1NacVNwcLLePUVv8uSafu5Ykdwh8QyDfgK). Ich freue mich über jede noch so kleine Spende. Vielen Dank und Prost!
 Alle Kommentare als Feed abonnieren

Antworten