
Von The Cable Guy
Alle verfügbaren Cable Guy-Kolumnen finden Sie unter http://www.microsoft.com/germany/technet/community/columns/cableguy/cgarch.mspx.
Das Mobile Internet Protocol Version 6 (IPv6) wurde in RFC 3775 (Request for Comments) definiert und erlaubt es einem IPv6-Knoten, erreichbar zu bleiben – unabhängig von seinem Standort in einem IPv6-Netzwerk. Hierbei ist es egal, ob der Kommunikationspartner des mobilen Knotens ebenfalls Mobile IPv6 beherrscht.
In diesem Artikel werden die folgenden Themen besprochen:
| • | Beibehalten der Verbindung auf Transportschicht für Roaming-Knoten |
| • | Komponenten von Mobile IPv6 |
| • | Datenübertragung mit Mobile IPv6 |
| • | Der Registrierungsvorgang |
| • | Mobile IPv6-Knoten und TCP-Verbindungen |
| • | Unterstützung von Mobile IPv6 in Microsoft Windows |
Bei einem mobilen Knoten (zum Beispiel ein WLAN-Notebook, das sich zwischen unterschiedlichen Teilen eines WLANs bewegt) gibt es Mechanismen, die sicherstellen, dass der Knoten über eine zum jeweiligen Netzwerksegment (Subnetz) passende Adresse verfügt. Bei IPv6 umfassen diese Mechanismen unter anderem eine statuslose automatische Konfiguration der Adresse über die Erkennung von Routern und das DHCPv6 (Dynamic Host Configuration Protocol for IPv6). Nachdem der WLAN-Knoten festgestellt hat, dass er sich in einem neuen Netzwerkteil befindet, verwendet er die Routererkennung oder DHCPv6 (oder beides), um seine IPv6-Adresse, die Adressen der benachbarten IPv6-Standardrouter und andere Parameter zu konfigurieren.
Der mobile Knoten konfiguriert sich zwar selbst für das neue Segment, die noch im alten Segment eingerichteten Verbindungen auf Transportschicht (z. B. TCP-Verbindungen) mit der alten Adresse des Knotens können jedoch trotzdem nicht weiter verwendet werden. Dies liegt daran, dass die alte Adresse natürlich im neuen Segment nicht mehr gültig ist. Anwendungen müssen neue Verbindungen mit der neu zugewiesenen Adresse einrichten. Abhängig von den Anwendungen kann eine plötzliche Änderung der IPv6-Adresskonfiguration zu Fehlern führen – es kann daher notwendig werden, die Anwendung neu zu starten.
Für eine echte Roaming-Unterstützung muss ein IPv6-Knoten sowohl eine automatische Neukonfiguration als auch die Beibehaltung von Verbindungen auf Transportschicht bieten. Statt diese Beibehaltung durch die Änderung von Anwendungen oder entsprechenden Protokollen (zum Beispiel TCP) zu erreichen, erweitert Mobile IPv6 das IPv6-Protokoll so, dass Protokolle auf Transportschicht und Anwendungen nicht bemerken dass sich die IPv6-Adresskonfiguration ändert. Bei Mobile IPv6 nutzen Anwendungen und Protokolle auf Transportschicht eine IPv6-Adresse, die sich nicht ändert – egal, ob sich Standort oder Adresskonfiguration des mobilen Knotens verändern.
In der folgenden Abbildung sehen Sie die Komponenten von Mobile IPv6.

Mobile IPv6 nutzt die folgenden Komponenten:
| • | Mobiler Knoten: Ein IPv6-Knoten, der zwischen unterschiedlichen Netzwerksegmenten wechselt und daher auch unterschiedliche Adressen nutzt. Seine Erreichbarkeit bleibt jedoch über seine Home-Adresse erhalten. |
| • | Home-Segment: Das Netzwerksegment, in dem sich der mobile Knoten ursprünglich befunden hat. |
| • | Home-Adresse: Eine Adresse, die dem mobilen Knoten in seinem Home-Segment zugewiesen wurde und über diese der mobile Knoten ständig erreichbar ist – egal, an welchem Standort im IPv6-Netzwerk er sich tatsächlich befindet. Da die Home-Adresse dem mobilen Knoten immer zugewiesen ist, verfügt diese ständig über eine logische Verbindung mit dem Home-Segment. |
| • | Home-Agent: Ein Router im Heim-Segment, der Informationen zu den mobilen Knoten speichert, die sich nicht im Home-Segment befinden. In der Abbildung ist der Home-Agent der Router, der das Home-Segment mit dem IPv6-Netzwerk verbindet – dies muss jedoch nicht zwangsweise so sein. Der Home-Agent kann auch ein beliebiger anderer Knoten im Home-Segment sein. |
| • | Foreign-Segment: Ein Segment, das nicht das Home-Segment des mobilen Knotens ist. |
| • | c/o-Adresse: Eine Adresse, die bei einer Verbindung zum Foreign-Segment von mobilen Knoten verwendet wird. Die Zuordnung von Home-Adresse und c/o-Adresse für einen mobilen Knoten wird Bindung genannt. |
| • | Korrespondierender Knoten: Ein IPv6-Knoten, der mit einem mobilen Knoten kommuniziert. Ein korrespondierender Knoten benötigt keine Mobile IPv6-Unterstützung. |
Korrespondierende Knoten (die Mobile IPv6 unterstützen) und Home-Agenten speichern Informationen zur Bindung in einem so genannten Binding-Cache. Mobile Knoten speichern Informationen zu korrespondieren Knoten in einer Binding Update-Liste.
Anmerkung: Beim oben abgebildeten IPv6-Netzwerk kann es sich um das IPv6-Internet, einen IPv6-fähigen Teil eines privaten Intranets oder eine öffentliche oder private IPv4-Infrastruktur mit Technologie wie 6to4, Intra-site Automatic Tunnel Addressing Protocol (ISATAP) oder Teredo handeln. Weitere Informationen hierzu finden Sie im Artikel IPv6 Transition Technologies (englischsprachig). |
Wenn sich ein mobiler Knoten nicht im Home-Segment befindet, dann werden die Datenpakete der korrespondierenden Knoten folgendermaßen übertragen:
| • | Wenn der korrespondierende Knoten Mobile IPv6 nicht beherrscht oder die Registrierung noch nicht erfolgt ist, werden die Datenpakte an die Home-Adresse des mobilen Knotens gesendet. Der Registrierungsvorgang wird im Abschnitt "Der Registrierungsvorgang" dieses Artikels genauer beschrieben. Der Home-Agent fängt die Datenpakete ab und tunnelt diese mit Hilfe von IPv6-over-IPv6-Tunneling zur c/o-Adresse des mobilen Knotens. |
| • | Wenn der korrespondierende Knoten Mobile IPv6 beherrscht und eine Registrierung durchgeführt wurde, werden die Datenpakete direkt an den mobilen Client im IPv6-Netzwerk gesendet. In den Datenpaketen ist ein neuer Type 2 Routing Extension-Header mit der Home-Adresse des mobilen Knotens enthalten. |
Wenn sich ein mobiler Knoten nicht im Home-Segment befindet, werden seine Datenpakete folgendermaßen übertragen:
| • | Wenn der korrespondierende Knoten Mobile IPv6 nicht beherrscht, oder wenn die Registrierung noch nicht erfolgt ist, werden die Datenpakte mit Hilfe von IPv6-over-IPv6-Tunneling zum Home-Agenten des mobilen Knotens getunnelt. Dieser leitet die Pakete dann an den korrespondieren Knoten weiter. |
| • | Wenn der korrespondierende Knoten Mobile IPv6 beherrscht und eine Registrierung durchgeführt wurde, werden die Datenpakete direkt an den korrespondieren Knoten gesendet. Die Datenpakete enthalten eine neue Home Address-Option in einem Destination Options-Header. Diese Option enthält die Home-Adresse des mobilen Knotens. |
Das Tunneling der Pakete zwischen korrespondierendem Knoten und mobilem Knoten über den Home-Agenten wird auch bidirektionales Tunneling genannt. Bidirektionales Tunneling stellt sicher, dass der mobile Knoten auch dann ständig erreichbar ist, wenn er sich nicht im Home-Segment befindet – und zwar sogar dann, wenn der korrespondierende Knoten Mobile IPv6 gar nicht beherrscht. Es kann durch bidirektionales Tunneling allerdings zu deutlichen Übertragungsverzögerungen kommen.
Das Senden der Pakete zwischen einem mobilen Knoten und einem Mobile IPv6-fähigen korrespondierenden Knoten wird Routenoptimierung genannt. Durch die Routenoptimierung werden die durch das bidirektionale Tunneling verursachten Übertragungsverzögerungen verhindert. Mit diesem Verfahren sind auch zeitsensible Verfahren wie Voice over IP (VoIP) möglich.
In der folgenden Abbildung sehen Sie einen mobilen Knoten und einen korrespondieren Knoten, die Datenpakete mit Hilfe von bidirektionalem Tunneling und Routenoptimierung austauschen.

Für die Routenoptimierung ist ein Registrierungsvorgang erforderlich. Dieser setzt sich folgendermaßen zusammen:
| • | Die Return Routability-Prozedur: Um sicherzustellen, dass der mobile Knoten über seine Home-Adresse und seine c/o-Adresse erreichbar ist, führen mobiler Knoten und korrespondierender Knoten die Return Routability-Prozedur aus. Dies ist erforderlich, um verschiedene Connection-Hijacking- und Denial-of-Service-Angriffe zu verhindern. Während der Return Routability-Prozedur sendet der mobile Knoten zwei unterschiedliche Testpakete an den korrespondierenden Knoten. Das eine wird über den Home-Agenten und das andere direkt an den korrespondieren Knoten gesendet. Der korrespondierende Knoten sendet Antworten auf die Testpakete – in jeder Antwort ist ein kryptografisches Token enthalten. |
| • | Austausch von Binding Update- und Binding Acknowledgement-Nachrichten: Nach dem die Return Routability-Prozedur abgeschlossen ist, sendet der mobile Knoten eine Mobile IPv6 Binding Update-Nachricht an den korrespondierenden Knoten. Die Binding Update-Nachricht enthalt Authentifizierungdaten, die mit den während der Return Routability-Prozedur vom korrespondieren Knoten gesendeten kryptografischen Tokens erstellt wurden. Der korrespondierende Knoten überprüft die Authentifizierungsdaten (hierbei handelt es sich zwar nicht um eine sehr sichere kryptografische Authentifzierung, sie ist jedoch für den Schutz vor den meisten Angriffen ausreichend). Wenn die Authentifizierungsdaten gültig sind, fügt der korrespondierende Knoten für den mobilen Knoten einen Eintrag zu seinem Binding-Cache hinzu und sendet eine Binding Acknowledgement-Nachricht. Bei Erhalt der Binding Acknowledgement-Nachricht fügt der mobile Knoten für den korrespondierenden Knoten einen Eintrag zu seiner Binding Update-Liste hinzu. |
Nachdem der Registrierungsvorgang abgeschossen ist, können mobiler Knoten und korrespondierender Knoten die Routenoptimierung zur Übertragung von Daten nutzen.
Um festzustellen, wie Mobile IPv6 Verbindungen auf Transportschicht beibehält, sehen wir uns an, was mit einer bestehenden TCP-Verbindung beim Verschieben eines mobilen Knotens aus seinem Home-Segment in ein anderes Segment passiert. Um das Beispiel zu vereinfachen, besprechen wir nur die zwischen mobilem und korrespondierendem Knoten ausgetauschten Nachrichten. Detaillierter Informationen zu Mobile IPv6 finden Sie im Artikel "Understanding Mobile IPv6" (englischsprachig).
Knoten A ist ein mobiler Knoten und Knoten B ist ein Mobile IPv6-fähiger korrespondierender Knoten. Wenn Knoten A mit seinem Home-Segment verbunden ist, erhält er seine Home-Adresse. Er baut dann eine TCP-Verbindung mit Knoten B auf. Wenn Knoten A zu einem anderen Segment wechselt, passiert folgendes:
1. | Nachdem Knoten A den Wechsel zu einem anderen Segment festgestellt hat, und nachdem er dort eine c/o-Adresse erhalten hat, tauscht er einen Satz von Binding Update- und Binding Acknowledgement-Nachrichten mit seinem Home-Agenten aus. Der Home-Agent fügt für Knoten A einen Eintrag zu seinem Binding-Cache hinzu. In diesem wird die Home-Adresse und die c/o-Adresse des Knotens gespeichert (dieser Vorgang wir auch Home-Registrierung genannt). |
2. | Knoten B sendet dann zum Beispiel ein TCP-Segment über die bestehende TCP-Verbindung an Knoten A. Da Knoten B noch nicht darüber informiert wurde, dass Knoten A seinen |
3. | Da der Home-Agent einen Eintrag für die Home-Adresse von Knoten A in seinem Binding-Cache hat, fängt er das TCP-Segment ab und tunnelt dieses an die c/o-Adresse von Knoten A. |
4. | Nachdem er das über den Home-Agenten getunnelte TCP-Segment erhalten hat, beginnt Knoten A den Registrierungsprozess – inklusive der Return Routability-Prozedur und dem Austausch der Binding Update- und Binding Acknowledgement-Nachrichten. Während des Registrierungsprozesses werden die zwischen mobilem und korrespondierendem Knoten gesendeten TCP-Segmente über dem Home-Agenten bidirektional getunnelt. Nachdem der Registrierungsprozess abgeschlossen wurde, verfügt der mobile Knoten in seiner Binding Update-Liste über einen Eintrag für den korrespondieren Knoten. Außerdem hat der korrespondierende Knoten einen Eintrag für den mobilen Knoten in seinem Binding-Cache. |
5. | Knoten A und Knoten B tauschen die nachfolgenden TCP-Pakete mit Hilfe der Routenoptimierung aus. |
Wenn Knoten B nicht Mobile IPv6-fähig ist, schlägt der Registrierungsprozess fehl – alle TCP-Segmente werden dann über einen bidirektionalen Tunnel zwischen Knoten A und B gesendet.
Beim Roaming bleibt die ursprünglich zwischen der Home-Adresse des mobilen Knotens und dem korrespondieren Knoten aufgebaute TCP-Verbindung erhalten. Es kann sein, dass während Schritt 1 TCP-Segmente verworfen werden – dies hängt mit der Verzögerung zusammen, die durch die Erkennung des Segmentwechsels, der Konfiguration der c/o-Adresse und der Registrierung entsteht. Da es sich jedoch um eine TCP-Verbindung handelt, werden die verlorenen Segmente einfach neu übertragen.
Microsoft® Windows® XP mit Service Pack 1 oder Service Pack 2 und Windows Server™ 2003 unterstützen nur den Betrieb als korrespondierender Knoten – und zwar auf Basis von Version 13 des bereits veralteten Mobile IPv6-Internet-Drafts. Weitere Informationen hierzu finden Sie in Kapitel 12 im Microsoft Press-Buch Understanding IPv6 (englischsprachig).
Das von Microsoft Research entwickelte Mobile IPv6 Technology-Preview steht auf Anfrage zur Verfügung. Es bietet den in den RFCs 3775 und 3776 beschriebenen kompletten Funktionsumfang: korrespondierender Knoten, mobile Knoten und Home-Agent. Um am Mobile IPv6 Technology-Preview teilzunehmen, können Sie sich per E-Mail unter mailto:mipv6-fb@microsoft.com bewerben (bitte nur in englischer Sprache). Informationen zur Installation, zu Einschränkungen, zum Support und zu Implementierungsdetails finden Sie im Mobile IPv6 Technology-Preview User Guide – diesen erhalten Sie zusammen mit dem Mobile IPv6 Technology-Preview.
Zusätzliche Informationen zu Mobile IPv6 und IPv6 finden Sie in den folgenden Quellen:
| • | Whitepaper "Understanding Mobile IPv6" (englischsprachig) |
| • | "Mobility for IPv6 (mip6)"-Arbeitsgruppe (englischsprachig) |
| • | IPv6-Website von Microsoft (englischsprachig) |
| • |
Wenn Sie uns Ihr Feedback zum Inhalt dieser Kolumne mitteilen möchten, schreiben Sie bitte eine englischsprachige E-Mail an Microsoft TechNet. Hierbei handelt es sich jedoch nicht um einen Supportkontakt; eine Antwort kann daher nicht garantiert werden.