IPv6-Migration (Teil 2)

Dies ist Teil 2 meines Artikels über Migrations-Verfahren IPv4 zu IPv6. Ausgehend von der Studienarbeit von Tobias Brunner aus dem Jahr 2008, habe ich im ersten Teil über meine Motivation, dieses Thema zu beschreiben, geschrieben. Den Start in das Thema bildeten Ausführungen zum Thema Dual Stack. In diesem Artikel werden Tunneling-Verfahren den Schwerpunkt bilden.

Tunneling-Verfahren

Es wurden verschiedene Tunnel-Verfahren entwickelt. Einige allerdings sind bereits schon nicht mehr aktuell bzw. haben keinen ausreichenden RFC-Status erreicht.

  • ISATAP

[1] ISATAP (Intra-Site Automatic Tunnel Addressing Protocol; Wiki-Link) ist ein Tunneling-Verfahren welches eingesetzt wird, um die Kommunikation zwischen einem Dual-Stack-Host in einem IPv4-Netz und einem IPv6-Host (in einem IPv6-Netzwerk) sicher zu stellen. Hierzu wird ein IPv6-inIPv4-Tunnel zwischem dem DS-Host und einem ISATAP-Router aufgebaut. Auch hier werden spezielle IPv6-Adressen, so genannte ISATAP-Adressen, verwendet. Hinter diesem speziellen Präfix wird die jeweilige IPv4-Adresse angehängt.

Interessant ist, dass eine ISATAP Installation nicht zwingend eine IPv6 Infrastruktur benötigt. Damit können auch zwei DS-fähige Hosts über ein IPv4-Netzwerk end-to-end über eine IPv6-Adresse kommunizieren. Benötigt wird aber mindestens ein ISATAP-Router, der den Subnetz-Präfix zur automatischen Konfiguration der ISATAP-Adresse verteilt.

  • Teredo

[1] Teredo wurde nach dem Schiffsbohrwurm, lat. Teredo Navalis, benannt. Es wird eingesetzt, um DS-fähige Hosts über das IPv4-Internet an das IPv6-Internet anzubinden. Hierbei können eine oder auch mehrere NAT-Instanzen überwunden werden. Dieses Verfahren ist nur als Übergangslösung während der IPv6-Migration gedacht.

Teredo ermöglicht einen automatischen IPv6-in-IPv4-Tunnel zwischen Hosts. Dabei wird der IPv6-Payload als IPv4 UDP Datagram verschickt. Auch hier kommt ein spezieller Präfix zum Einsatz, 2001::/32. Die Definition erfolgt im RFC 4380.

Zu Beginn der Kommunikation muss der Teredo-Client (DS-Host) sich mit dem Teredo-Server verbinden. Es wird der Adresspräfix festgestellt und auch die Art des NATs. Sobald die Teredo-Verbindung aufgebaut wurde, muss durch den regelmäßigen Austausch von Paketen (Teredo Bubble Pakete) sichergestellt werden, dass die dazwischenliegende Firewall die Portzuordnung nicht wieder löscht. Die Kommunikation zum IPv6-Internet erfolgt über das Teredo Relay. Die Komponenten Teredo Server und Teredo Relay befinden sich zwischen dem IPv4-Internet und dem IPv6-Internet.

[6] Beispiele zur Einrichtung von Teredo auf Windows, Linux, BSD und OS X sind in einem Artikel von Heise Netze „Teredo bohrt IPv6-Tunnel durch Firewalls“ (2009) zu finden.

[6] Microsoft bezeichnet seine Tunneltechnik selbst als letzten Ausweg, da Teredo-Verbindungen im Netzwerk viel Aufwand verursachen, sind vergleichsweise uneffektiv und nicht besonders stabil. Eine ausführliche Darstellung Teredos von Microsoft ist im Technet (2004) zu finden. Bis Windows XP konnten Teredo-Clients nicht mit jedem symmetrischen NAT umgehen, bei neueren Windows-Systemen ist dieses Problem beseitigt. Somit kann Teredo mittlerweile in allen NAT-Umgebungen eingesetzt werden.

Teredo benutzt den UDP-Port 3544. Um daher Teredo auf einem Rechner zu blockieren, genügt es, diesen Port einfach zu sperren.

  • IPv6-in-IPv4 Tunnel

[1] IPv6-in-IPv4 Tunnel werden auch als 6in4 bezeichnet. Hierbei unterscheidet man zwischen manuellen [konfigurierten] und automatischen Tunneln. [3] Beim automatischen Tunneln werden im IPv6 IPv4-kompatible Adressen verwendet. Hierbei werden die ersten 12 Bytes der IPv4-Adresse vorangestellt und mit Nullen aufgefüllt.

[1] Wird das IPv6 Paket direkt hinter dem IPv4-Header angehängt, so muss der IPv4 Header im Protokoll den Wert 41 (IPv6) enthalten. Diese Tunnels werden auch „protocoll 41-“ oder „proto-41-“ Tunnel genannt. Wichtig, dies müssen alle Router auf dem Weg zwischen den Endpunkten verstehen. Da dies nicht in allen Komponenten integriert ist, wurden weitere Methoden entwickelt. Eine Methode lautet z.B. AYIYA (Anything in Anything), hierbei wird das IPv6-Paket erst hinter dem UDP-Header angehängt. AYIYA ist keine Methode sondern ein Protokoll, RFC 4891, welches sich im Status „Informational“ befindet.

 

  • 6to4

[1] Diese Methode wird bei der Vernetzung von IPv6-Sites über ein IPv4-Transitnetz verwendet. Hierbei kommen spezielle IPv6 Adressen zum Einsatz. Der 6to4-Router generiert einen IPv6-Präfix, der die IPv4-Adresse beinhaltet. Dieser Präfix wird nun an die Hosts propagiert. Die Hosts ihrerseits hängen an diesen Präfix noch ihre MAC-Adresse an. Dieses Verfahren ist nicht NAT-fähig.

  • IPv4-mapped IPv6 Address

[1] Diese Adressen sind im RFC 2373 definiert. Hierbei wird nur ein IP-Socket verwendet. Allerdings ist diese Methode nicht in allen Sockets implementiert und kann auch nicht flächendeckend eingesetzt werden.

  • DSTM (Dual-Stack Transition Mechanism)

[1] DSTM wird für die IPv4-Kommunikation in einem IPv6-Netzwerk verwendet. Hierbei werden IPv4-Pakete als Payload in ein IPv6-Paket eingebettet. Daher wird dieses Verfahren auch als 4in6 oder IPv4-in-IPv6-Tunnel bezeichnet. Für die Kommunikation ist noch ein DSTM-Server notwendig. Möchte ein IPv6-Host mit einem IPv4-Host kommunizieren, so muss er beim DSTM-Server zuvor eine temporäre IPv4-Adresse anfordern. Derzeit existiert kein RFC hierzu.

  • DS Lite

[7] Dual-Stack Lite (DS-Lite) ist ein weiterer Tunnelmechanismus, der in der Übergangsphase IPv4 zu IPv6 eingesetzt werden kann. Hierbei wird ein spezielles Home-Gateway benötigt. Die IPv4-Pakete werden dann über einen IPv6-Tunnel zum NAT-Translator des ISP übermittelt und weiter über den IPv6-Backbone transportiert.

  • Tunnel Broker (TB)

[1] Dies ist ein Verfahren, um einen Host über das IPv4-Internet an das IPv6-Internet anzubinden. Der Host muss hierbei Dual-Stack-fähig sein.

Teil 1 beschäftigt sich mit Dual-Stack.
Teil 3 beschäftigt sich mit Translation-Verfahren.

Quellen:

Hinterlasse einen Kommentar

Eingeordnet unter Telekommunikation

Schreibe einen Kommentar

Bitte logge dich mit einer dieser Methoden ein, um deinen Kommentar zu veröffentlichen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s