IPv6-Tunneltechnologien

© Don Garcia, 123RF

Rausgegraben

Nachdem IPv6 nun das offizielle Internet-Protokoll ist, bleibt nur noch die Kleinigkeit, alle Rechner im Internet umzustellen. Bis das passiert, verschaffen Tunneltechnologien eine Übergangslösung.
Obwohl Linux als freie Software kostenlos verfügbar ist, setzen viele beim Unternehmenseinsatz auf Enterprise-Distributionen mit Support. Wo die Stärken der ... (mehr)

Die Migration auf IPv6 nimmt Fahrt auf. Im Herbst 2012 ließ die Deutsche Telekom verlauten, dass DSL-Neukunden jetzt mit Dualstack-Anschlüssen (IPv4+IPv6) angebunden werden. Auch andere Provider werden in den nächsten Monaten nachziehen. In vielen größeren Unternehmen ist die Umstellung jedoch keine Sache von wenigen Tagen, sondern von Jahren. Bereits im Design berücksichtigten die IPv6-Entwickler, dass die Einführung von IPv6 in vorhandene IPv4-Netzwerke eine zum Teil lange Übergangszeit erfordert, in der beide Technologien nebeneinander existieren werden. Dieser Artikel erläutert die verschiedenen Tunneltechnologien von IPv6.

In der Übergangsphase muss sichergestellt sein, dass IPv6-Systeme sowohl untereinander als auch mit IPv4-Systemen kommunizieren können. Der Begriff "Knoten" beschreibt in der IETF-Terminologie ein aktives System im Netzwerk, das über IPv4 oder IPv6 kommuniziert. Dies umfasst neben normalen Workstations und Servern unter anderem auch Router. Der RFC 4213 (Transition Mechanisms for IPv6 Hosts and Routers) beschreibt folgende Knoten-Typen:

  • IPv4-Only-Knoten: Auf dem System läuft ausschließlich IPv4.
  • IPv6-Only-Knoten: Auf dem System läuft ausschließlich IPv6.
  • IPv6/IPv4-Knoten: Auf dem System laufen beide IP-Stacks parallel.
  • IPv4-Knoten: Das System kommuniziert mit IPv4. Dies kann entweder ein IPv4-Only-Knoten oder ein IPv6/IPv4-Knoten sein.
  • IPv6-Knoten: Das System kommuniziert mit IPv6. Dies kann entweder ein IPv6-Only-Knoten oder ein IPv6/IPv4-Knoten sein.

Im Folgenden geht es um die Frage, wie man IPv6 schrittweise und parallel zu IPv4 einführen kann. Die Herausforderung dabei besteht in der Überbrückung und Zusammenführung der beiden Welten. Hierzu gibt es grundsätzlich die folgenden Ansätze:

  • Dual-Stack: Auf den Systemen im Netzwerk laufen sowohl IPv4 als auch IPv6.
  • Tunnelmechanismen: In der Regel geht es hierbei darum, IPv6-Kommunikation durch IPv4-Bereiche zu tunneln. Hier werden IPv6-Inseln miteinander verbunden.
  • Translationsmechanismen: Analog zum NAT-Prinzip kommunizieren IPv4-Systeme über entsprechende Mechanismen mit IPv6-Systemen und umgekehrt.

Während Dual-Stack-Implementationen die bevorzugte Wahl bei der parallelen Einführung von IPv6 in ein vorhandenes IPv4-Netzwerk darstellen, bieten Translationstechnologien einen Übergang von einem IP-Stack in den anderen. Jedoch sind nur Tunneltechnologien in der Lage, IPv6-Knoten über IPv4-Only-Infrastrukturen so miteinander zu verbinden, dass sie direkt über IPv6 miteinander kommunizieren können.

Tunnel graben

IPv6 wird in vielen Netzwerken schrittweise und nicht sofort flächendeckend eingeführt. Ein typisches Szenario in der Übergangszeit ist also die Kommunikation von IPv6-Knoten, die über ein IPv4-Netzwerk miteinander kommunizieren. Somit muss die IPv6-Kommunikation über IPv4 transportiert werden, also IPv6 in IPv4 getunnelt. Das bedeutet, dass das IPv6-Datenpaket in einen IPv4-Header eingekapselt wird. Der IPv6-Knoten selbst oder ein Gateway verpackt das IPv6-Paket in IPv4 und schickt es auf den Weg. Dabei setzt er das Protocol-Feld des IPv4-Headers auf den Wert 41. Dies steht laut Standard für "IPv6 in IPv4" (Abbildung 1).

Abbildung 1: IPv6 in IPv4 gekapselt: Das IPv6-Paket wird in ein IPv4-Paket gepackt und wie normale Nutzdaten verschickt.

Der IPv6-Header enthält die IPv6-Adressen der Ende-zu-Ende-Kommunikation, also der kommunizierenden Endpunkte. Der IPv4-Header enthält die Quell- und Zieladresse der Endpunkte innerhalb des IPv4-Netzwerks. Diese Endpunkte können bei bestimmten Tunnelmechanismen den "echten" Endpunkten der IPv6-Kommunikation entsprechen. Meistens wird die Einkapselung jedoch durch Tunnel-Gateways vorgenommen. Dies sind regelmäßig die Border-Router beziehungsweise Firewalls an den Grenzen des lokalen Netzwerks.

Aus Sicht eines IPv6-Pakets ist die IPv4-Einkapselung nichts anderes als eine gewöhnliche Verkapselung auf Link-Layer-Ebene, analog zu Ethernet. In solchen Tunnelszenarien kann demnach auf IPv6-Ebene eine komplett andere Netzstruktur vorhanden sein als auf IPv4-Ebene. Somit kann zum Beispiel eine ganze IPv4-Infrastruktur, bestehend aus vielen Routern und Netz-Segmenten, aus IPv6-Sicht in einem "Hop" zwischen Quelle und Ziel übersprungen werden.

Der Vorteil von Tunnellösungen liegt in der Flexibilität, einzelne IPv6-Inseln im "IPv4-Meer" zu verbinden. Dennoch sind Tunneltechnologien gegenüber nativer IPv6-Kommunikation immer nur zweite Wahl, da sie zum einen teilweise komplex zu konfigurieren und zum anderen fehleranfällig sind. So gilt der Tunnelmechanismus Teredo als nur bedingt nutzbar, da er in der überwiegenden Anzahl aller Fälle nicht korrekt funktioniert [1].

Ähnlich wie VPN-Tunnel lassen sich IPv6-Tunnel zwischen verschiedenen Punkten erstellen. RFC 4213 sieht folgende Tunnelkonfigurationen vor:

  • Router-to-Router
  • Host-to-Router und Router-to-Host
  • Host-to-Host

Dabei verbinden Router-to-Router-Tunnel IPv6-Infrastrukturen über einen einzige virtuellen Hop über eine IPv4-Only-Infrastruktur miteinander. Dies ist der einfachste und häufigste Fall eines Tunnels, da die Tunnelkonfiguration nur auf einem oder wenigen Systemen des Netzwerks stattfinden muss und die IPv6-Knoten davon nichts wissen müssen. Ein typisches Beispiel für Router-to-Router-Tunnel ist ein 6to4-Tunnel. In vielen Fällen verbindet der Tunnel zwei entsprechende Router über das IPv4-Internet, um IPv6-Netzwerke standortübergreifend zu verbinden (Abbildung 2).

Abbildung 2: Router-zu-Router-Tunnel verbinden zum Beispiel zwei IPv6-fähige Standorte.

Der Host-to-Router-Tunnel verbindet einen IPv6/IPv4-Knoten in einem IPv4-Only-Netzwerk mit einem IPv6/IPv4-Router (Abbildung 3). Hierzu nutzt der Host ein Tunnel-Interface und entsprechende Routing-Einträge (zum Beispiel in Form des Standard-Gateways), die den entsprechenden Traffic zum Tunnel-Interface routen. Das Tunnel-Interface verpackt die IPv6-Pakete in IPv4-Pakete und sendet sie zum IPv6/IPv4-Router, der die IPv6-Pakete zum IPv6-Ziel weiterleitet. Der Weg zurück (Router-to-Host) funktioniert analog. ISATAP ist eine Tunneltechnologie, die nach diesem Prinzip arbeitet. Dieser Tunnel-Typ dient vorwiegend der Verbindung von IPv6-Knoten innerhalb eines Netzwerks einer Organisation.

Abbildung 3: Ein Host-zu-Router-Tunnel bindet einen IPv6-fähigen Rechner über ein IPv4 an einen IPv6-Router an, etwa im Firmennetz.

Ein Host-to-Host-Tunnel verbindet die kommunizierenden Endpunkte direkt miteinander über einen IPv4-Tunnel. Erst am Endpunkt der Kommunikation wird das gekapselte IPv6-Paket wieder entpackt. Dieses Prinzip kommt ebenfalls bei der ISATAP-Tunneltechnologie zum Einsatz und dient der Kommunikation zwischen zwei IPv6-Knoten innerhalb eines IPv4-Unternehmensnetzwerks.

Tunnel-Typen

Es gibt grundsätzlich zwei verschiedene Arten von IPv6-Tunnels: konfigurierte Tunnel und automatische Tunnel. Bei konfigurierten Tunneln muss der Administrator die Tunnel manuell auf den jeweiligen Tunnel-Endpunkten einrichten. Hierbei wird die IPv4-Zieladresse des Remote-Endpunkts nicht in der IPv6-Adresse eingebettet, wie das bei automatischen Tunneln in der Regel der Fall ist. Konfigurierte Tunnel nutzen manuell erstellte Tunnel-Interfaces, die eine feste Quell- und Zieladresse definieren.

Bei automatischen Tunneln ist keine manuelle Konfiguration erforderlich. Die Tunnel werden dynamisch bei Bedarf aufgebaut, die IPv4-Zieladressen sind meistens in der IPv6-Adresse eingebettet. Es gibt verschiedene Tunneltechnologien:

  • 6to4: wird für die Verbindung zwischen IPv6-Knoten über das IPv4-Internet verwendet.
  • 6rd: eine Weiterentwicklung von 6to4 ohne die Einschränkung der fest definierten 6to4-Präfixe.
  • ISATAP: für die Verbindung zwischen IPv6-Knoten in einem IPv4-Intranet.
  • Teredo: Ermöglicht die Verbindung von IPv6-Knoten über NAT.
comments powered by Disqus

Artikel der Woche

Loadtests ohne Server

Für Loadtests der eigenen Server bietet sich die Cloud an, denn kurz getaktet lassen sich dort viele Rechnerinstanzen starten, die das eigene Budget nur wenig belasten. Noch flexibler, günstiger und besser skalierbar sind Tests mit einer Serverless-Infrastruktur wie AWS Lambda. Wir führen vor, wie Sie dort mit Serverless Artillery eigene Loadtests starten. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite