Transitionsmechanismen



Tunneling

Als Tunneling wird das Verfahren bezeichnet, bei dem die IPv6 Pakete in ein IPv4 Paket eingepackt werden, um über die IPv4 Infrastruktur geroutet zu werden.

Hierbei ist das Ipv4-Netz im Prinzip für die Ipv6-Knoten nicht sichtbar, d. h. das gesamte Ipv4-Netz wird aus Sicht von Ipv6 wie ein einziger Router betrachtet.

Tunneling

Diesen Mechanismus zur Einkapselung von Daten-Paketen, so dass sie durch die noch nicht umgestellten Teile des Internet getunnelt werden können wird im RFC 1933 beschrieben. Man kann relativ einfach mit ein paar statischen Tunnels IPv6-Inseln über das Internet verbinden. Und damit das auch mit dynamischen IPv4-Adressen funktioniert, sind die so genannten Tunnel-Broker erfunden worden, bei denen man sich nach dem Einwählen automatisch seinen Tunnel aktivieren kann.

Die Tunnel-Architektur ist auch für private Netze geeignet, in denen gleichzeitig beide Protokolle benutzt werden sollen.

Um mit IPv6 Erfahrung zu sammeln, hat die IETF ein IPv6 Netzwerk eingerichtet, das über fest konfigurierte Tunnels erreicht werden kann. Auf dieses Testnetzwerk, 6Bone genannt, wird in einem anderen Abschnitt genauer eingegangen.

Für den Übergang zu Ipv6 wurden verschiedene Varianten der Tunnelkonfiguration bereitgestellt:

Virtueller Link zwischen zwei IPv6 Knoten

Ein IPv6 Packet wird in einem IPv4 Packet als Payloadinformation eingebunden. Dieses Verfahren kann bereits in einer frühen Phase der Migration genutzt werden. Vorteil ist die Umkehrbarkeit und Netzknoten zwischen den IPv6 Knoten müssen IPv6 nicht verstehen.

Automatisches Tunneling

Es erfolgt eine Zuweisung von IPv4 kompatiblen Adressen an die Netzknoten. Grund ist die Notwendigkeit einer IPv4 Adresse für die Tunnelendpunkte. Die Pakete werden an generierte Adresse des Tunnelendpunkts über IPv4 verschickt. Das Problem hierbei ist, dass die Kommunikation nur mit Tunnelendpunkten möglich ist.

Konfiguriertes Tunneling

Der Unterschied zu automatischem Tunneling besteht darin, dass die Adressen der Tunnelendpunkte fest konfiguriert sind. Die Routingtabelle entscheidend über welchen Tunnel ein Paket transportiert wird. Vorteil hierbei: die Zieladresse muss nicht mit dem Tunnelendknoten übereinstimmen

6to4

Ist eine Variante des automatischen Tunnelings. Jeder Endknoten hat eine eindeutige IPv4 Adresse & ein eindeutiges IPv6 Präfix. Der Boarder-Router leitet Pakete an im Präfix stehende IPv6-Adresse weiter. Die Rechner brauchen nur den IPv6-Protokollstack - sofern keine Kommunikation mit der IPv4-Welt nötig ist.

6over4

Ist ein Verfahren für isolierte IPv6 Rechner. Hierbei werden IPv4 Mulitcastpakete verwendet. Die Übermittlung erfolgt via Multicast an alle Rechner der Multicastgruppe. Beim Zielrechner werden die Daten an den IPv6 Stack weitergeleitet. Problem hierbei: Multicast muss im Netz eingerichtet sein.

Dual Stack

Die Transitions-Arbeitsgruppe hat sich Gedanken gemacht, wie man auch mit Switches und Routern, die nur IPv4 sprechen, IPv6 betreiben kann. Der hauptsächliche Mechanismus ist der doppelte Protokollstapel (Dual Stack), d.h. das Betriebssystem spricht IPv6 und IPv4. Hosts müssen folglich sowohl eine IPv4- als auch eine IPv6-Adresse besitzen.

Die IPv4-Adressen werden in das IPv6-Schema eingebettet, indem die vier Byte der IPv4-Adresse weiterverwendet und die restlichen 12 Byte der IPv6-Adresse mit Nullen aufgefüllt werden. Das Domain Name System (DNS) wird so erweitert, dass es zu einem Maschinennamen sowohl die IPv4- als auch die IPv6-Adresse liefert.

Wenn eine IPv6-Anwendung zu so einer Adresse eine Verbindung aufbaut, dann sieht das Betriebssystem das und baut tatsächlich eine IPv4-Verbindung auf. Die Applikation arbeitet aber nach wie vor mit IPv6-Sockets. So kann man eine IPv6-fähige Applikation einfach transparent für IPv4-Kommunikation benutzen, wenn das Umfeld es erfordert.

Grundkonzept Dual-IP-Stack

Application
Telnet / FTP / WWW NFS / SNMP

Transport
TCP / UDP

Network
IPv4

Network
IPv4

Link
802.3 / 802.5 / FDDI / PPP / ATM

 

Varianten des Dual Stack:

Dual Stack

Der Dual IP Stack wird auf Hosts und Routern eingerichtet und gibt dem Benutzer die Möglichkeit, sowohl IPv4 als auch IPv6 Adressen gleichzeitig anzusprechen. Je nach Rückgabewert des DNS wird der IPv4 oder der IPv6 Stack verwendet. Deshalb muss der verwendete DNS beide Protokolle unterstützen. Vorteil hierbei ist die Ersparnis von IPv4-Adressen.

Assignment of IPv4 Global Addresses to IPv6 Hosts (AIIH)

Der Dual Stack erhält von AIIH-Server nur eine temporäre IPv4 Adresse. Der Bezug dieser Adresse erfolgt durch das Zusammenspiel des DHCPv6 mit dem DNS. Der DNS muss die Funktionalität erweitern, da der Hostname nicht an die Adresse gebunden ist. Antworten auf externe Anfragen werden vom DNS angepasst. Außerdem sorgt er für die Rekonfiguration des Zielrechners durch den DHCPv6.

Dual Stack Transition Mechanism (DSTM)

Hierbei handelt es sich um eine Erweiterung des AIIH Verfahrens. Nur die Randknoten des Firmennetzes werden mit Dual Stack ausgerüstet. Die IPv4 Pakete werden Firmenintern via Dynamic Tunneling Interface an die Randknoten geschickt. Das Dynamic Tunneling Interface ist für das ein- und auspacken der Pakete verantwortlich. Ein DSTM-Server ist eine Zusammensetzung von DHCPv6 und DNS Server, wobei der DNS Server das AIIH-Verfahren verwenden muss.

Protokolltranslation

Will man eine Kommunikation zwischen nur IPv4- oder nur IPv6-Geräten erreichen, so kann dies auch durch gegenseitiges übersetzen der Protokolle erreicht werden. Vorteil der Translation ist, dass verbliebene Hosts trotzdem noch verwendbar sind. Die Anwendungs-schicht darf dadurch aber nicht beeinflusst werden, da sonst eine Anpassung der Applikationen nötig wäre. Möglichkeiten hierfür sind:

Stateless IP/ICMP Translator (SIIT), RFC 2765

Dieses Verfahren ist besonders für die Kommunikation zwischen IPv4-only und IPv6-only Systemen geeignet. Die IPv4 Seite wird vom IPv6-Host durch eine IPv4-mapped Adresse angesprochen. Der Translator der IPv6 Seite erhält zusätzlich eine IPv4 Adresse. Er übersetzt bei Bedarf die IP und ICMP Meldungen in das jeweilige IP Protokoll.

Network Address Translation - Protocol Translation (NAT - PT), RFC 2766

Der Unterschied zur SIIT-Methode besteht darin, dass ein Proxy-Rechner für die Adressumwandlung erforderlich ist. Die IPv4 Adresse wird beim ersten Paket einer Session zugewiesen. Die IPv6 Rechner adressieren die IPv4 Rechner mit einem Präfix. Die Router leiten alle Pakete mit Präfix an den Proxy zur Umwandlung weiter. Adressen von einkommenden Paketen werden analog erweitert.

Socket Based IPv4/IPv6 Gateway, RFC 3089

Als Erweiterung des SOCKS-Protokoll für die Kommunikation auf der Applikationsebene hat dieses Verfahren den Vorteil, dass Applikationen weiter verwendet werden können. Die Sockets kommunizieren mit einem kombiniertem IPv4 / IPv6 Gateway. Dieses setzt die Pakete um und leitet sie weiter.

Bump in the Stack (BIS), RFC 2767

Dieses Verfahren baut auf zusätzlichen Modulen zwischen IP-Layer und Netzwerkkarten-treiber auf. Es weist eine ähnliche Übersetzungsfunktionalität wie das SIIT auf.

Transport Relay Translator (TRT), RFC 3142

Eine weitere Möglichkeit, IPv6 Knoten in einem IPv6-Netz mit IPv4-Knoten in einem IPv4-Netz kommunizieren zu lassen ist der TRT. Durch Übersetzung kann dieses Relay TCP/UDP-Anwendungen, die auf IPv4 basieren, mit TCP/UDP-Anwendungen, die auf IPv4 basieren, verbinden. Die Anwendungen in den Endsystemen können mit nur einem einzigen Protokoll-Stack für die jeweils verwendete IP-Version unmodifiziert laufen. Allerdings wird nur bidirektionaler Verkehr, wie er in den meisten Anwendungen vorkommt, unterstützt. Unidirektionale Anwendungen sind mit dieser Technik nicht übersetzbar.