Technische Universität Ilmenau Fakultät für Elektrotechnik und
Transcription
Technische Universität Ilmenau Fakultät für Elektrotechnik und
Technische Universität Ilmenau Fakultät für Elektrotechnik und Informationstechnik Medienprojekt Mobile IP - aktuelle Entwicklungen vorgelegt von: eingereicht am: Christoffer Cruse, Marko Wilde 01. 03. 2010 Studiengang: Medientechnologie Studienrichtung: Medienproduktion Anfertigung im Fachgebiet: Kommunikationsnetze Fakultät für Elektrotechnik und Informationstechnik Verantwortlicher Professor: Wissenschaftlicher Betreuer: Ilmenau, 28.02.2010 Prof. Dr. rer. nat. habil. Jochen Seitz Dipl.-Ing. Karsten Renhak Abstract Mobile IP is a well known IETF standard for mobile scenarios in IP networks. This composition presents detailed information on key aspects of Mobile IPv6. The main approach to ensure mobility is described, while a focus lies on multicast mechanisms. Furthermore a testbed was build and a Mobile IPv6 implementation installed. We tested the setup with different protocol traffic types and correct functionality was proved. Information on configuration and usage of the testbed and Mobile IPv6 implementation is also provided. Kurzfassung Diese Arbeit beschäftigt sich in Schwerpunkten mit der Funktionsweise von Mobile IPv6, dem aktuell am häufigsten verwendeten Standard zur Realisierung von Mobilität über Internetprotokoll. Es wird eine Übersicht über den Funktionsablauf gegeben sowie eine intensivere Betrachtung der Multicastthematik vorgenommen. Weiterhin entstand im Rahmen des Medienprojektes eine Testumgebung, in der eine Mobile IPv6 Umsetzung realisiert wurde. Anschließend wurde die Funktionalität mit einer Testauswahl erfolgreich überprüft. Zu Konfiguration und Betrieb dieser Testumgebung sowie der Mobile IPv6 Implementation, liefert die Arbeit entsprechende Beschreibungen. Inhaltsverzeichnis i Inhaltsverzeichnis 1 Einleitung 1 2 Mobile IP 2.1 Einführung . . . . . . . . . . . . . . . . . . . . . 2.2 Terminologie . . . . . . . . . . . . . . . . . . . . . 2.3 Topologien . . . . . . . . . . . . . . . . . . . . . . 2.4 Mobile IPv4 und Mobile IPv6 im Überblick . . . 2.4.1 Mobile IPv4 (MIPv4) . . . . . . . . . . . . 2.4.2 Mobile IPv6 (MIPv6) . . . . . . . . . . . . 2.5 Aufstellung der Unterschiede zwischen MIPv4 und . . . . . . . 3 3 4 6 7 7 8 9 . . . . . . 11 11 11 12 14 14 18 . . . . . . . 21 21 25 25 27 27 28 30 5 Mobile IP Implementierungen 5.1 Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 31 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MIPv6 . . . . . . . . . . . . . . 3 Funktionsabläufe in Mobile IPv6 3.1 Handoff Prozess . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Erkennen der Router - Router Discovery . . . . . . . . 3.1.2 Konfiguration der Adresse - Address Configuration . . 3.1.3 Erkennen des Netzwerkwechsels - Movement Detection 3.1.4 Registrierung . . . . . . . . . . . . . . . . . . . . . . . 3.2 Return Routability Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Multicast in Mobile IP 4.1 Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Multicast bei Mobile IP . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Multicast Preference Extension Format . . . . . . . . . . 4.2.2 Remote Subscription . . . . . . . . . . . . . . . . . . . . 4.2.3 Bidirectional Tunneling . . . . . . . . . . . . . . . . . . . 4.2.4 Optimiertes Tunneling . . . . . . . . . . . . . . . . . . . 4.2.5 Multicast in vorhandenen Mobile IP Implementierungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Medienprojekt Christoffer Cruse, Marko Wilde Inhaltsverzeichnis 5.2 UMIP 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 ii . . . . . . . . . . . . . . . . . . . . . . . . Konfiguration und Installation von UMIP Kompilieren von UMIP . . . . . . . . . . . Einstellungen für UMIP . . . . . . . . . . Konfiguration des Radvd Daemons . . . . Starten von UMIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 34 34 35 39 41 . . . . 44 44 48 48 49 7 Auswertung der Testszenarien 7.1 Handoff Verhalten und simulierte Datenströme . . . . . . . . . . . . . . 7.2 Verhalten von Anwendungssoftware . . . . . . . . . . . . . . . . . . . . 51 51 56 8 Zusammenfassung 8.1 Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 59 59 A Messungen 62 Literaturverzeichnis 69 Abbildungsverzeichnis 73 Listingverzeichnis 75 Tabellenverzeichnis 76 Abkürzungsverzeichnis 77 Erklärung 79 6 Testumgebung 6.1 Aufbau . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Testszenarien . . . . . . . . . . . . . . . . . . . . . . 6.2.1 Handoff Verhalten und simulierte Datenströme 6.2.2 Verhalten von Anwendungssoftware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Medienprojekt Christoffer Cruse, Marko Wilde 1 Einleitung 1 1 Einleitung Das rasante Wachstum im Markt mobiler Endgeräte, die in ihrer Leistungsfähigkeit den Desktop PCs in nichts nachstehen und der stetig steigenden Verfügbarkeit an Möglichkeiten sich mit dem Internet zu verbinden, hat es nötig gemacht sich zunehmend mit dem Faktor Mobilität auseinanderzusetzen. Die Nutzer haben sich diesen Gegebenheiten schnell angepasst und ein großes Interesse daran nahezu überall und jeder Zeit ’Online’ gehen zu können. Damit einhergehend wächst das Verlangen eine unterbrechungsfreie Verbindung angeboten zu bekommen, während man mit dem Endgerät unterwegs ist. Für die Entwicklungsarbeit heißt dies, dass der Verbindungswechsel in erster Linie transparent für die Anwendungen, gleichzusetzen für den Nutzer, sein muss. Das bedeutet auch, dass der Nutzer keine Interaktionen mit dem Gerät durchführen soll um die Konnektivität der Verbindung sicherzustellen. Am Ende steht das Ziel, dem Nutzer nahtlose Verbindungsübergänge für ein Höchstmaß an Komfort gewährleisten zu können. Auf Betreiberseite wiederum stehen Synergien im Vordergrund. Die Infrastruktur soll nach Möglichkeit keine Veränderung erfahren um Mobilität als Mehrwert anbieten zu können. Darüber hinaus sollte der Entwicklungsaufwand durch Verwendung vorhandener Standards, Dienste und Protokolle gering gehalten werden. Als Ergebnis aus den Anforderungen fiel die Wahl früh auf die Vermittlungs- respektive Internetschicht nach ISO/OSI bzw. TCP/IP Referenzmodell. An dieser Stelle können Veränderungen vorgenommen werden, die zum einen Unabhängig vom konkreten physikalischen Medium und zum anderen unsichtbar für die darüberliegenden Schichten gestaltet sind. Mobile IP ist die Entwicklung die den Anforderungen gerecht wird und sich als Standard zur Realisierung von Mobilität im Internet etabliert hat. Nachdem mit Mobile IPv4 als Erweiterung von IPv4 erste gute Erfahrungen gesammelt werden konnten, greift Mobile IPv6 die Neuerungen durch IPv6 auf und erfüllt dadurch vollends die Medienprojekt Christoffer Cruse, Marko Wilde 1 Einleitung 2 Forderung nach unveränderter Infrastruktur. Da IPv6 und Mobile IPv6 ausgereifte und zukunftssichere Konzepte für das Internet darstellen, liegt hier der Schwerpunkt dieser Arbeit. Themenstellung Am Fachgebiet Kommunikationsnetze der TU Ilmenau wird an Protokollen und Diensten für die Verwendung im Bereich Mobilkommunikation geforscht. Dabei liegt der Schwerpunkt auf der Vereinigung von stationären und mobilen Lösungen aus der Internetprotokollwelt. Mobile IP ist hier ein etablierter Ansatz zur Unterstützung von Mobilitätsszenarien unter Einbeziehung vorhandener Infrastruktur, der im Rahmen der allgemeinen IPv6 Entwicklung hohe Aufmerksamkeit erhält. Diese Arbeit hat das Ziel, eine Testumgebung mit läuffähiger Mobile IP Implementation zu realisieren und deren Leistungsfähigkeit zu ermitteln. Dafür sind im Vorfeld vorhandene Umsetzungen zu recherchieren und relevante Testparameter zu identifizieren. Sollten mehrere öffentlich verfügbare Implementationen gefunden werden, sind diese gegenüberzustellen und gegebenenfalls praktisch auf der Testumgebung zu vergleichen. Darüber hinaus sollen die veränderten Kommunikationsabläufe von Mobile IPv6 im Vergleich zu Mobile IPv4 beschrieben und besonderes Augenmerk auf die Multicastfunktionalität gelegt werden. Medienprojekt Christoffer Cruse, Marko Wilde 2 Mobile IP 3 2 Mobile IP 2.1 Einführung Mobile IP ist ein Standard zur Realisierung von Makromobilität. Das heißt er ermöglicht das nahtlose Wechseln zwischen verschiedenen Netzwerken mit unterschiedlicher Netzwerkkennung (Subnetzprefix, Subnetzkennung) in der Adressierung. Dabei ist die Art des physikalischen Mediums irrelevant, solange die Adressierung mittels Internetprotokoll umgesetzt wird. Abbildung 2.1 gibt ein Beispiel für den Aufbau einer IP Adresse. Länge der Netzkennung hier ersten 16 Bit 192.168.0.25/16 Netzkennung Endgerätkennung Abbildung 2.1: Aufbau einer IPv4 Adresse Grundlegend basiert Mobile IP auf einem Drei-Säulen-Modell: der Erkennung des Netzwerkwechsels, der Registrierung der aktuellen IP Adresse und dem Tunneln von Paketen zu dieser aktuellen IP Adresse [Perk98]. Dabei identifiziert die IP Adresse ein konkretes Endgerät und ermöglicht, durch den Aufbau über Netzwerkkennungen, die Wegewahl (Routing) durch das gesamte Netz. Welche Richtung ein Paket nimmt entscheidet die jeweilige Zieladresse und die Zustände der möglichen Wege. Verändert ein Endgerät seinen Standort und ebenso das Zielsubnetz aber seine IP Adresse nicht, können die Pakete nicht mehr zugestellt werden. Hieraus ergibt sich die Notwendigkeit zusätzliche Maßnahmen zu ergreifen um die Erreichbarkeit sicherzustellen. Mobile IP führt dazu die Verwendung von zwei IP Adressen ein. Eine Adresse dient der Identifikation des Endgerätes, die andere der Wegewahl. Diese Änderung allei- Medienprojekt Christoffer Cruse, Marko Wilde 2 Mobile IP 4 ne würde aber Probleme auf der darüberliegenden Transportschicht hervorrufen. Das Transmission Control Protocol (TCP) z.B. verwaltet aktive Verbindungen anhand der IP Adresse plus einer Portnummer. Damit Pakete derselben Verbindung zugeordnet werden, erwartet TCP immer die gleiche Adressierung. Hier sorgt Mobile IP dafür, dass Pakete nur mit der Identifikationsadresse an höhere Schichten weitergereicht werden. Die Identifikationsadresse muss somit jedem Paket angefügt werden. Um die Verknüpfung zwischen beiden Adressen herzustellen bzw. bekannt zu geben, wird eine Registrierung bei einer verwaltenden Instanz (sog. Home Agent) und eventuell bei den Kommunikationspartnern (sog. Correspondent Node) durchgeführt. 2.2 Terminologie Bevor in den nachfolgenden Ausführungen auf einzelne Aspekte der Mobile IP Standards eingegangen wird, soll zunächst eine Reihe von Begriffsdefinitionen vorangstellt werden. Die Definitionen sind den entsprechenden Standards, [Perk02] und [JoPA04], entlehnt und sollen das Verständnis unterstützen. Heimnetz Bezeichnet das Netz in dem sich der Home Agent befindet und aus dessen Subnetzkennung die Heimadresse für den Mobile Node abgeleitet wird. Heimadresse Ist eine eindeutige IP Adresse, die mit dem Mobile Node assoziiert ist und die sich nicht ändert, solange der Mobile Node sein Heimnetz verlassen hat. Home Agent (HA) Der Home Agent ist ein Router der die Mobile Nodes eines Subnetzes verwaltet. Verlässt ein Mobile Node sein Heimnetz, registriert dieser seine aktuelle Adresse beim Home Agent. Der Home Agent leitet anschließend alle Pakete die für einen, bei ihm angemeldeten Mobile Node bestimmt sind, an dessen aktuelle Adresse weiter. Der Home Agent muss dabei nicht derjenige Router sein der den Zugang zum Subnetz kontrolliert, sondern kann sich an einem beliebigen Punkt im Heimnetz befinden. Mobile Node (MN) Als Mobile Node gelten alle Endgeräte die ihren Standort zwischen verschiedenen Subnetzen wechseln und mit jedem der Subnetze eine Verbindung aufbauen. Der Mobile Node bezieht hierbei eine sogenannte Care-of Address und registriert diese bei seinem Home Agent. Medienprojekt Christoffer Cruse, Marko Wilde 2 Mobile IP 5 Care-of Adresse (CoA) Ist eine eindeutige IP Adresse des aktuell besuchten Fremdnetzes, unter der der Mobile Node global erreichbar ist. Die Verknüpfung von CoA und Heimadresse heißt Binding, eine entsprechende Aktualisierung dieser Verknüpfung Binding Update. Correspondent Node (CN) Die Bezeichnung Correspondent Node umfasst all die Endgeräte, welche mit dem Mobile Node kommunizieren. Diese müssen nicht Notwendigerweise Mobile IP untersützen. Foreign Agent (FA) / Access Router (AR) Im Falle von Mobile IPv4 ist der Foreign Agent derjenige Router, bei dem sich der Mobile Node im Fremdnetz registriert und dessen IP Adresse (Foreign Care-of Address) den Tunnelendpunkt für weitergeleitete Pakete des Home Agent darstellt. Der FA leitet diese Pakete anschließend an den Mobile Node weiter. Access Router in Mobile IPv6 leiten ebenfalls Pakete direkt an den MN weiter, erfüllen darüber hinaus aber keine Funktionalitäten des Standards. FA und AR sind in der Regel die Defaultrouter des MN. Handover / Handoff Wechselt ein Mobile Node bei aktiver Verbindung den Access Point, d.h. den Punkt an dem er mit dem Netz verbunden ist, spricht man von einem Handover oder Handoff. Findet der Wechsel innerhalb desselben Subnetzes statt, wird einzig die physische Verbindung neu aufgebaut und keine neue IP Adresse bezogen. Es handelt sich dabei um einen Layer-2 Handoff. Ein Layer-3 Handoff bezeichnet dann den Wechsel des Subnetzes mit entsprechender Änderung der IP Adresse. Medienprojekt Christoffer Cruse, Marko Wilde 2 Mobile IP 6 2.3 Topologien Im Internetprotokoll wird eine Netzwerkunterteilung in Subnetze vorgenommen. Diese Subnetze werden durch eine Subnetzeknnung identifiziert. Mobile IP teilt die Subnetze in zwei Kategorieren ein, auf der einen Seite Heimsubnetze und auf der anderen Fremdsubnetze. Ein oder mehrere Home Agents spannen hierbei ein Heimnetz auf und verwalten dem Heimnetz zugehörige mobile Endgeräte. Ein Home Agent muss dabei nicht zwingend der Gateway für das Heimnetz sein. Fremdnetze werden im Falle von Mobile IPv4 über Foreign Agents gebildet und sind Gateways zum Internet. Bei Mobile IPv6 entfällt die Funktionalität der Foreign Agents. Damit unterscheiden sich die Topologien von Mobile IPv4 und Mobile IPv6 nicht grundlegend. Es ergeben sich die in den Abbildungen 2.2 für MIPv4 und 2.3 für MIPv6 Netzwerktopologien. Der Tunnelendpunkt vom Home Agent zum Mobile Node ist standardmäßig vom Foreign Agent direkt zum Mobile Node verlegt. 5.2.0.0 Correspondent Node Pakete für MN Home Agent Internet IP - Tunnel FA 1 : 10.5.0.0 FA 2 : 20.10.0.0 HoA : 5.2.0.10 CoA: 1. FA CoA : 10.5.0.0 Movement 2. Co-located CoA : 10.5.x.x Mobile Node Abbildung 2.2: MIPv4 Topologie Medienprojekt Christoffer Cruse, Marko Wilde 2 Mobile IP 7 HA : 2001:1af8:fe85:100c::10/64 Correspondent Node Pakete für MN Internet IP - Tunnel AR 1 : AR 2 : 2001:1af8:fe85:100a::10/64 Movement HoA : 2001:1af8:fe85:100c::17:01/64 CoA : 2001:1af8:fe85:100a::ac:dc/64 2001:1af8:fe85:100b::10/64 Mobile Node Abbildung 2.3: MIPv6 Topologie Durch die Integration der Routen Optimierung als fester Bestandteil von MIPv6 ergibt sich die Notwendigkeit des IP Tunnels nur in den Fällen, in denen der Correspondent Node noch nicht über die aktuelle Care-of Adresse verfügt. 2.4 Mobile IPv4 und Mobile IPv6 im Überblick In diesem Abschnitt folgt jeweils eine kurze Zusammenfassung der Funktionsweise von Mobile IPv4 und Mobile IPv6. Daran anknüpfend werden die wesentlichen Unterschiede zwischen beiden Standards aufgeführt, um im nächsten Kapitel die Neuerungen und Besonderheiten von Mobile IPv6 näher zu beschreiben. 2.4.1 Mobile IPv4 (MIPv4) Mobile IPv4 dient der Realisierung von Mobilität in IPv4 Netzen und stellt eine Erweiterung des entsprechenden IPv4 Standards dar. Es wurden hierfür drei Objekte eingeführt mittels derer die Funktionalität implementiert wird: der Home Agent (HA), Mobile Node (MN) und Foreign Agent (FA). Der Home Agent befindet sich im Heimnetz des Mobile Node und ist für die Verwaltung der Mobilitätsinformationen der mit ihm assoziierten MNs zuständig. Befindet Medienprojekt Christoffer Cruse, Marko Wilde 2 Mobile IP 8 sich ein Mobile Node in einem Fremdnetz stellt der Foreign Agent eine Care-of Adresse (CoA) zur Verfügung. Diese fungiert als aktuelle Adresse unter der der Mobile Node erreichbar ist. Diese CoA ist dabei nicht eindeutig, sondern umfasst alle mobilen Geräte innerhalb der Abdeckung eines Foreign Agents. Darüber hinaus besteht für den FA die Möglichkeit einem Mobile Node eine eigene Co-located Care-of Address zuzuweisen. Damit wird ermöglicht, den MN direkt über diese Adresse zur erreichen. Das ein Router als FA agieren kann, gibt dieser mittels Broadcast von Agent Advertisment Messages bekannt. Ein Mobile Node der sich mit einem solchen Subnetz verbindet, empfängt diese Nachrichten und meldet sich beim FA an. Anschließend initialisiert er die Registrierung bei seinem Home Agent. Durch Registration Request/Response Nachrichten wird die Verknüpfung von Heimadresse und CoA hergestellt. Pakete die an die Heimadresse des Mobile Node gesendet werden, fängt der Home Agent in der Folge ab und tunnelt sie an die CoA. Der FA ist Tunnelendpunkt und leitet die Pakete entsprechend weiter. Ein Problem, welches hierbei auftritt, ist das Triangular Routing. Alle Pakete der Kommunikationspartner, Correspondent Nodes (CN), werden über den HA geroutet. Das bedingt zum einen lange Handover Verzögerungen, durch den Umweg über den HA [XiNa09] und zum anderen vermeidbaren Verkehr in Teilen des Netzes. Durch Route Optimization, als nicht standardisierte Erweiterung zu MIPv4, kann das Triangular Routing Problem gelöst werden. Dafür wird auch beim CN eine Verknüpfung zur aktuellen CoA registriert. 2.4.2 Mobile IPv6 (MIPv6) Die Entwicklung von Mobile IPv6 erfolgte anhand der Erfahrungen mit Mobile IPv4 und den grundlegenden Neuerungen durch IPv6. Als entscheidende Änderung ermöglicht der große Adressraum der 128 Bit langen IPv6 Adressen, die Zuteilung von eindeutigen Care-of Adressen für jedes mobile Endgerät. Deshalb entfällt in MIPv6 der Foreign Agent vollständig. Ersetzt wird die Bestimmung einer gültigen CoA durch die Address Autoconfiguration. Den Layer-3 Handoff und damit die Veränderung der Subnetzkennung kann der Mobile Node aufgrund von Router Advertisment Messages und Neighbor Unreachable Detection erkennen. Weiterhin kann der MN durch eine Neighbor Solicitation Message einen Router zum senden eines Router Advertisments zwingen. Nach einer Verbindungsunterbrechung lässt sich hiermit die Verzögerung bis zum er- Medienprojekt Christoffer Cruse, Marko Wilde 2 Mobile IP 9 kennen des neuen Subnetzprefixes verringern. Alle vier Funktionalitäten sind in IPv6 [DeHi98] spezifiziert. Hat der Mobile Node eine gültige CoA bezogen wird ebenfalls eine Aktualisierung der Verknüpfung HoA / CoA beim Home Agent durchgeführt. MIPv6 sieht darüber hinaus eine Registrierung mit den Correspondent Nodes vor. Route Optimization ist damit ein integraler Bestandteil von Mobile IPv6. CNs die nicht über die gültige CoA verfügen, senden ihre Pakete weiterhin an die Heimadresse. Der HA tunnelt diese dann direkt an den MN unter Verwendung der in IPv6 vorgesehenen und in MIPv6 spezifizierten Extension Header. 2.5 Aufstellung der Unterschiede zwischen MIPv4 und MIPv6 Die aus den vorangestelten Erläuterungen bereits abzusehenden Unterschiede zwischen MIPv4 und MIPv6, sollen an dieser Stelle nochmals aufgeführt und um weitere, gemäß RFC 3775 [JoPA04], ergänzt werden. • Die Notwendigkeit eines Foreign Agents ist nicht mehr gegeben. An die Router in Fremdnetzen werden keine gesonderten Anforderungen mehr gestellt. • Route Optimization (RO) wurde als obligatorische Funktionalität in den Standard aufgenommen und ist nicht mehr externe Erweiterung. Weiterhin ist die Routen Optimierung auf globaler Ebene, auch ohne vorherigen Austausch über Sicherheitsmechanismen, gesichert. MIPv6 spezifiziert hierzu die sogenannte Return Routability Procedure 3.2. • Die Verwendung von Route Optimization zwischen Netzen deren Router Ingress Filtering 1 implementieren, wird ebenso unterstüzt. • Durch die Neighbor Unreachable Detection ist die Erreichbarkeit zwischen Mobile Node und Defaultrouter für beide Seiten gewährleistet. • Aufgrund der Nutzung des Routing Header, anstatt IP-in-IP Encapsulation reduziert sich der notwendige Overhead in Mobile IPv6. Ebenso entfällt hierdurch das vorhalten von Tunnel Soft State Informationen.2 1 Ingress Filtering - Zugangskontrolle; alle Pakete deren IP Subnetzkennung nicht zum nachgeschalteten Netz des Routers gehören, werden verworfen. - siehe [FeSe00] 2 Umfasst Informationen über: Maximum Transmission Unit (MTU), Time To Life (TTL) und Erreichbarkeit des Endpunktes des Tunnels [GiNH93] Medienprojekt Christoffer Cruse, Marko Wilde 2 Mobile IP 10 • Mit der Einführung der Neighbor Discovery ist Mobile IPv6 unabhängig von einer bestimmten Umsetzung der Netzzugangsschicht. Das Address Resolution Protocol (ARP) aus IPv4 findet keine Verwendung mehr. Damit erhöht sich weiterhin die Robustheit von MIPv6. Medienprojekt Christoffer Cruse, Marko Wilde 3 Funktionsabläufe in Mobile IPv6 11 3 Funktionsabläufe in Mobile IPv6 3.1 Handoff Prozess Der Handoff Prozess oder Handover beschreibt die Änderung der IP - Verbindung und wird durch Initialisierung einer neuen Verbindung auf Ebene der Netzzugangsschicht (Link-Layer Handoff ) eingeleitet. Wurde eine neue physikalische Verbindung aufgebaut, beginnt der Mobile Node mit der Suche nach neuen Routern und anschließend der Konfiguration einer IP Adresse. Ist die Adresse eingestellt startet die Movement Detection, d.h. der Mobile Node überprüft ob eine Änderung der Subnetzkennung vorliegt. Abschließend wird die Registrierung nach MIPv6 durchgeführt.[Vogt06] Den Ablauf des Handoff Prozesses ohne zusätzliche Optimierung zeigt Abbildung 3.1, nachstehend wird auf die einzelnen Schritte näher eingegangen. Router Discovery Address Configuration Movement Detection Bindings Abbildung 3.1: Blockdiagramm Handoff Prozess 3.1.1 Erkennen der Router - Router Discovery Um einem Endgerät die im Netz vorhanden Router und Netzkennungen anzuzeigen, werden Router Advertisement Messages nach Definition in RFC 4861 [NNSS07] durch die Router versendet. Dabei handelt es sich konkret um ICMPv6 Pakete die per Multicast verschickt werden. Das Intervall für die Router Advertisements (RA) in IPv6, beginnt im unteren Bereich bei 3 bis 4 Sekunden und liegt im Maximum bei 1800 Sekunden. Zur Detektion von Netzwechseln bzw. Prefixänderungen sind die Wartezeiten von mehreren Sekunden für ein Advertisement zu lang. Deshalb definiert Mobile IPv6 an dieser Stelle neue untere Grenzen der Wiederholraten Medienprojekt Christoffer Cruse, Marko Wilde 3 Funktionsabläufe in Mobile IPv6 12 von 30 Millisekunden (Minimales RA Intervall) bzw. 70 Millisekunden (Maximales RA Intervall). Damit ergibt sich im Mittel eine Zeitspanne von 50ms zwischen zwei Router Advertisements, was wiederum bedeutet, dass ein Mobile Node im Mittel 25ms nach einem Handover ein RA erwarten kann.[Vogt06] Neben der mit dieser Maßnahme verbesserten Unterstützung von mobilen Endgeräten, nimmt MIPv6 weitere Änderungen an den Nachrichten vor. Um dem MN anzuzeigen, dass ein Router als Homet Agent fungiert wird das H - Flag in den RA Nachrichten eingeführt. Weiterhin erhält der Home Agent die Möglichkeit Informationen über seine Lebensdauer (Zeitdauer wie lange der HA als solcher arbeitet) und Priorität (Rangfolge bei mehreren HAs im Heimnetz) anzuhängen. Zuletzt kann ein Router durch das neue R - Flag und das zugehörige Prefix - Feld seine globale IPv6 Adresse bekannt geben. Das vereinfacht die Bestimmung des aktuellen Subnetzprefixes. Abbildung 3.2 zeigt ein Router Advertisment nach Darstellung in Wireshark. 3.1.2 Konfiguration der Adresse - Address Configuration Eine neue Care-of Adresse wird dann vom Mobile Node erstellt, wenn er ein Router Advertisement mit geänderter Subnetzkennung empfängt. Die Bestimmung der neuen, global eindeutigen Adresse erfolgt typischerweise mittels Stateless Address Autoconfiguration [ThNJ07]. Hierzu setzt der Mobile Node aus dem Subnetzprefix des RAs und einem entweder zufällig gewähltem oder aus der MAC - Adresse bestehenden Interface Identifier, die IPv6 Adresse zusammen. Anschließend sendet der MN eine Multicast Listener Report Message (MLR) um der Multicastgruppe der neuen IP Adresse beizutreten. Wurde das Router Advertisement zuvor per Multicast gesendet, wartet der MN bis zu einer Sekunde mit dem versenden der MLR. Dies dient dazu eine Desynchronisation1 mit benachbarten Knoten zu erreichen, die ebenfalls auf dasselbe RA reagieren. Im nächsten Schritt führt der Mobile Node den Duplicate Address Detection Mechanismus aus. Es wird an dieser Stelle überprüft, ob die zuvor erstellte Care-of Adresse bereits im Subnetz verwendet wird oder nicht. Der Mobile Node verschickt dafür eine Neighbor Solicitation Message mit der Care-of Adresse als Ziel. Wird innerhalb einer Sekunde keine Antwort, d.h. eine Neighbor Advertisement Message empfangen, ist die CoA dem Interface fest zugewiesen. Daraus ergibt sich eine Zeitspanne zwischen einer und zwei Sekunden für die Konfiguration der Adresse. 1 Verhindern von Lastspitzen Medienprojekt Christoffer Cruse, Marko Wilde 3 Funktionsabläufe in Mobile IPv6 13 Abbildung 3.2: Beispiel für ein Router Advertisement Medienprojekt Christoffer Cruse, Marko Wilde 3 Funktionsabläufe in Mobile IPv6 14 3.1.3 Erkennen des Netzwerkwechsels - Movement Detection Der Übergang zwischen zwei Netzen geht einher mit einer Änderung der IP - Verbindung und daraus resultierenden Arbeitsschritten. So muss ein neuer Standardrouter gewählt, die letzte CoA entfernt und eine neue eingerichtet werden. Ebenfalls muss die Link-Local Adresse im neuen Netz auf Eindeutigkeit überprüft und zuletzt der MIPv6 Registrierungsprozess durchlaufen werden. Die Bewegung lässt sich prinzipiell auf zwei Arten detektieren. Zum einen aktiv, durch die Neighbor Unreachability Detection nach [NNSS07]. Mittels Neighbor Solicitation / Advertisement Messages wird festgestellt ob der Link zum Defaultrouter bidirektionale Erreichbarkeit gewährleistet. Ist dies nicht der Fall muss entsprechend ein neuer Defaultrouter gefunden werden. Bedient dieser ein anderes Subnetzprefix wird eine neue CoA erstellt und registriert. Enthalten die RAs des neuen Defaultrouters dieselbe Subnetzkennung, kann sich daraus ein eventueller L2 - Handoff ableiten lassen. Im Regelfall wird der Netzwerkwechsel durch passives verfolgen der Router Advertisements erkannt. Enthält ein empfanges RA eine neue Subnetzkennung, kann davon ausgegangen werden, dass ein Wechsel stattgefunden hat. Da ein RA allerdings ein unvollständiges oder fehlerhaftes Subnetzprefix enthalten könnte, sollten für eine sichere Aussage mehrere RAs abgewartet werden. Erschwert wird die Detektion eines Handovers zusätzlich durch den nicht exakt zu bestimmenden Zeitpunkt des eintreffens eines Router Advertisements. Um dem entgegenzuwirken spezifiziert MIPv6 eine Advertisement Interval Option. Hier trägt der Router die Maximale Zeitspanne bis zum senden des nächsten RAs ein. Diese Angabe korrespondiert mit dem Wert des ’Maximum Router Advertisement Interval’. Beläuft sich dieser Wert auf unter 200ms, z.B. 70ms wie in 3.1.1, addiert der Mobile Node 20ms und erwartet ein neues RA somit nach spätestens 90ms. Empfängt der Mobile Node drei RAs in Folge nicht, kann von einem Handover ausgegangen werden [Vogt06]. Damit ergäbe sich eine Maximale Verzögerung von 270ms bis zum anzeigen eines Handoffs. 3.1.4 Registrierung Nachdem der Mobile Node eine gültige IPv6 Adresse bezogen hat, registriert er diese bei seinem Home Agent sowie allen aktiven Correspondent Nodes. Mit dieser Registrierung wird die Verknüpfung (Binding) zwischen Care-of Adresse und Heimadresse hergestellt. Die an dieser Stelle ausgetauschten Nachrichten verwenden den mit MIPv6 neu eingeführten Mobility Header (Abb. 3.3). Der Mobility Header ist dabei ein zusätzlicher Medienprojekt Christoffer Cruse, Marko Wilde 3 Funktionsabläufe in Mobile IPv6 15 Extension Header im Sinne des IPv6 Standards. Die für die einfache Registrierung verwendeten Nachrichten sind das Binding Update, Binding Acknowledgement und Binding Refresh Request. IPv6 Header Next Header Header Length MH Type Reserved Checksum Message Data Mobility Header = Wert 135 im IPv6 - / Next - Header Feld MH Type Werte: 0 - Binding Refresh Request 1 - Home Test Init 2 - Care-of Test Init 3 - Home Test 4 - Home Test Init 5 - Binding Update 6 - Binding Acknowledgement 7 - Binding Error Abbildung 3.3: Aufbau Mobility Header Der Mobile Node beginnt immer mit dem senden des Binding Updates für den Home Agent. Darin werden die im Datenfeld enthaltenen Flags für Home Registration (H) und Acknowledgement (A) immer gesetzt. Um die Verbindung aus Care-of Adresse und Heimadresse anzuzeigen, wird im Destination Option Header aus IPv6 die Home Address Option als neuer Typ definiert. Die Heimadresse wird dadurch im Destination Option Header, bei gesetztem Heimadresse Option Type, übertragen. Hat der Home Agent das Binding Update empfangen, aktualisiert er entsprechend seinen Binding Cache und Antwortet dem Mobile Node mit einem Binding Acknowledgement, sofern keine Fehler aufgetreten sind. Um Pakete die für den Mobile Node im Heimnetz eintreffen abzufangen und anschlies- Medienprojekt Christoffer Cruse, Marko Wilde 3 Funktionsabläufe in Mobile IPv6 16 send weiterzuleiten, führt der Home Agent bestimmte Operationen im Heimnetz aus. Dies sind zum einen die Duplicate Address Detection um sicherzustellen, dass kein anderes Endgerät im Heimnetz die Heimadresse des Mobile Node verwendet. Die zweite Operation ist die Proxy Neighbor Discovery, hier antwortet der HA auf Neighbor Solicitation Nachrichten anderer Knoten im Heimnetz, die die Heimadresse des MN als Ziel verwenden. Durch diese Mechanismen übernimmt der Home Agent die Identität des Mobile Node im Heimnetz, solang dieser abwesend ist. Hieraus folgt weiterhin, dass bei Rückkehr ins Heimnetz, der Mobile Node ebenso ein Binding Update durchführen muss. So wird gewährleistet, dass der Home Agent den zugehörigen Eintrag im Binding Cache entfernt und nicht mehr als Mobile Node agiert. Neben der Übernahme der Identität für globale IPv6 Adressen, kann der Mobile Node durch dass Link-local Address Compatibility (L-) Flag im Datenfeld, dasselbe Verhalten für seine ’Link-local Adresse’ bewirken. Zur Veranschaulichung des Aufbaus zeigt Abbildung 3.4 ein Binding Update für den Home Agent. Binding Updates mit Correspondent Nodes können auf zwei Arten umgesetzt werden. Der Mobile Node sendet entweder ein Binding Update (mit oder ohne Acknowledgement Flag) oder greift auf die in Abschnitt 3.2 erläuterte Return Routability Procedure zurück. Letztere führt einen minimalen Sicherheitsmechanismus ein. Unterstützt der CN Mobile IPv6, sendet er nach erhalt des Binding Updates alle weiteren Pakete direkt an die Care-of Adresse. Um die Transparenz für höhere Schichten aufrecht zu erhalten, hängt er dem IPv6 Header einen Type-2 Routing Header an. Dieser ist im Vergleich zum Standard IPv6 Routing Header in der Art modifiziert, dass er die Heimadresse des Mobile Node enthält. Der Mobile Node greift nach erhalt des Paketes auf den Header zurück und entnimmt hieraus seine Heimadresse für die Transportschicht. Abbildung 3.5 zeigt ein Binding Acknowledgement, welches von einem Correspondent Node gesendet wurde. Medienprojekt Christoffer Cruse, Marko Wilde 3 Funktionsabläufe in Mobile IPv6 17 Abbildung 3.4: Binding Update an Home Agent Medienprojekt Christoffer Cruse, Marko Wilde 3 Funktionsabläufe in Mobile IPv6 18 Abbildung 3.5: Binding Acknowledgement vom CN 3.2 Return Routability Procedure Durch den Return Routability Mechanismus wird in Mobile IPv6 eine Authorisierungsmethode eingeführt, die sicherstellen soll, dass die Verbindung aus Care-of Adresse und Heimadresse eines Mobile Nodes zu diesem gehört und korrekt ist. Wichtig ist diese Operation vorallem zwischen CNs und MNs, die im Vorfeld keine Informationen übereinander besitzen und somit ein Mindestmaß an Sicherheit gewährleistet werden soll. Der Ablauf des Vorgangs ist in Abbildung 3.6 dargestellt. Realisiert wird die Authentifizierung über Cookies und Keygen Token, letzterer repräsentiert einen Wert der über einen geheimen Schlüssel und weitere Daten gebildet wird. Die Cookies enthalten einen Wert, der vom MN den Nachrichten beigefügt und vom CN schlicht in seiner Antwort zurückgeschickt wird. Damit wird ein einfaches Maß ein Gewissheit integriert, dass es sich um den richtigen Kommunikationspartner handelt. Medienprojekt Christoffer Cruse, Marko Wilde 3 Funktionsabläufe in Mobile IPv6 19 HA 1: - HoA Test Init - HoA Test 2: - CoA Test Init - CoA Test CN MN 3: - Binding Update - Binding ACK Abbildung 3.6: Return Routability Procedure Soll nun zwischen dem Mobile Node und einem Correspondent Node die Routen Optimierung durchgeführt werden, startet der MN den Return Routability Mechanismus. Dazu sendet er je eine are-of Test (CoT) Init und Home Test (HoT) Init Message an den CN. Dabei gelangt die CoT Init auf direktem Weg und die HoT Init über den Home Agent zum Correspondent Node. Der komplette Inhalt der Nachrichten ist in Listing 3.1 zu sehen. 1 2 3 4 5 6 7 8 9 10 11 12 13 Home Test Init : Source Address = Home Address Destination Address = Correspondent Parameters : - Home Init Cookie Care - of Test Init : Source Address = Care - of Address Destination Address = Correspondent Parameters : - Care - of Init Cookie Listing 3.1: Inhalt der CoT und HoT Init Nachrichten [JoPA04] Nach dem der CN die Nachrichten empfangen hat, berechnet er je einen Keygen Token für die CoT und HoT. Der Keygen Token, das Cookie und ein Indexwert, der dem Medienprojekt Christoffer Cruse, Marko Wilde 3 Funktionsabläufe in Mobile IPv6 20 CN die Überprüfung des folgenden Binding Updates erleichtert, werden anschließend an den MN zurück gesendet. Listing 3.2 führt den Inhalt der CoT/HoT nochmals auf. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Home Test : Source Address = Correspondent Destination Address = Home Address Parameters : - Home Init Cookie - Home Keygen Token - Home Nonce Index Care - of Test : Source Address = Correspondent Destination Address = Care - of Address Parameters : - Care - of Init Cookie - Care - of Keygen Token - Care - of Nonce Index Listing 3.2: Inhalt der CoT und HoT Nachrichten [JoPA04] Damit die Home Test Nachricht korrekt über den Home Agent zum Mobile Node getunnelt werden kann, muss entsprechend vor dem Start der Return Routability Operation das Binding Update mit dem HA abgeschlossen sein. Nachdem die Test Nachrichten ausgetauscht sind, ist der Return Routability Prozess abgeschlossen. Daran anschließend erzeugt der Mobile Node mittels einer Hashfunktion2 über die beiden Tokens einen Binding Management Key. Mit diesem Key und weiteren Daten wird erneut ein Hashwert gebildet. Dieser dient dann schlussendlich der Authentifizierung des Binding Updates. Die exakten Berechnungsvorschriften sollen an dieser Stelle ausgespart und auf den RFC 3775 S. 22 ff [JoPA04] verweisen werden. 2 Die Abbildung einer Quellmenge auf eine kleinere Zielmenge Medienprojekt Christoffer Cruse, Marko Wilde 4 Multicast in Mobile IP 21 4 Multicast in Mobile IP 4.1 Grundlagen Die immer stärkere Vernetzung von Rechnern und das vermehrte Nutzen von InternetTV und Webradio macht es notwendig, dass Netzwerke in der Lage sind, Gruppenrufe von anderen Hosts zu empfangen. Es ist wichtig, dass sich dabei nicht die Bandbreite beim Sender mit der Anzahl der Empfänger multipliziert. Im Gegensatz zu Broadcastnachrichten, die an alle Teilnehmer eines Netzwerkes gesendet werden, muss ein Host der Multicastnachrichten empfangen möchte, sich zuerst bei einem Multicastrouter registrieren und sich in die entsprechende Multicastgruppe einschreiben. Alle Nachrichten dieser Gruppe werden dann durch den Multicastrouter an den PC weitergeleitet (siehe dafür auch Abbildung 4.1). Die Hosts, die eine bestimmte IP-Multicastadresse überwachen, werden als Hostgruppe bezeichnet. Ein Computer kann Daten auch an Multicastgruppen übermitteln in denen er kein Mitglied ist. Die Teilnahme an einer Hostgruppe ist dynamisch, das heißt die Mitgliedschaft in einer Hostgruppe kann jederzeit aufgelöst oder angetreten werden. Eine Multicastgruppe kann IP-Router in mehreren Netzwerksegmenten umfassen. Damit diese Konfiguration möglich ist, müssen auch die IP-Router Multicast unterstützen. Wenn man von Multicast spricht, meint man im üblichen IP-Multicast. Der IP- Multicastverkehr wird an eine einzige IP-Zieladresse gesendet. Dabei handelt es sich jedoch nicht um eine Adresse welche gezielt für einen Host steht, sondern um eine Gruppenadresse. Ein spezieller Adressbereich ist hierfür vorgesehen, um Konflikte bei der Adressierung von real existierenden Computern zu vermeiden. Für IPv4 ist durch die IANA der Adressbereich 224.0.0.0 bis 239.255.255.255 reserviert und bei IPv6 alle Adressen beginnend mit FF00::/8. Beim IP-Multicasting, wie es auch beim Mobile-IP angewendet wird, werden die Multicastadressen auf eine Pseudo Media Access Controll(Mac)-Adresse im Ethernet übermittelt. Diese nicht real existierende Mac-Adresse, dient den Routern Multicastnach- Medienprojekt Christoffer Cruse, Marko Wilde 4 Multicast in Mobile IP 22 Abbildung 4.1: Übersicht von IPv4 Multicast richten von Unicastnachrichten zu unterscheiden und bereits in der Netzwerkkarte, den Traffic zu filtern. Die Mac-Adresse wird bei IPv4 und IPv6 aufgrund ihrer verschiedenen Adressierungsformen unterschiedlich erstellt. Abbildung 4.2: Abbildung einer Multicast IPv4 Adresse auf eine Pseudo Mac-Adresse Abbildung 4.2 zeigt das Verfahren zur Erstellung von IPv4 Mac-Adressen. Bei IPv4 werden die untersten 23 Bit der IP-Adresse in die MAC-Adresse 01-00-5e-00-00-00 eingesetzt, wodurch sich MAC-Adressen aus dem Bereich von 01-00-5e-00-00-00 bis 01-00-5e-7f-ff-ff ergeben können. Hierbei wird bewusst in Kauf genommen, dass mehrere IPv4-Adressen auf eine MAC-Adresse abgebildet werden. IPv6-Multicast-Adressen werden abgebildet, indem die letzten vier Bytes der Adresse in die MAC 33-33-0000-00-00 eingesetzt werden. Auch hierbei werden verschiedene Multicast-Adressen auf Medienprojekt Christoffer Cruse, Marko Wilde 4 Multicast in Mobile IP 23 identische MAC-Adressen dargestellt. Abbildung 4.3: Einkapselung von IGMP Mittelungen in ein IP-Datagramm Zur Verwaltung des Multicastverkehrs wird bei IPv4 das Internet Group Message Protocoll [IGMP] verwendet. Die Abbilldung 4.3 zeigt den Aufbau und die Einkapselung einer IGMP Meldung in ein IP Datagramm. Das Internet Group Message Protocoll wurde mit der Zeit immer wieder um zusätliche Mitteilungen erweitert. Die IGMP in der Version 3 wird im RFC 3376 [CDKF+ 02] beschrieben und stellte die letzte Version dieses Protokolls dar. Sie beinhaltet drei wesentliche Mitteilungen, die zum Verwalten von Multicastmitgliedern notwendig sind: • Der Hostmitgliedschaftsbericht, der einer Multicastgruppe mitteilt, dass sich ein neues Hostmitglied in ihre Gruppe eingetragen hat. • Die Hostmitgliedschaftsabfrage, welche von Multicastroutern gesendet werden, um sicherzustellen, dass sich Mitglieder in einer Multicastgruppe befinden. Ist dies nicht der Fall, stellt der Router das Senden von Multicastnachrichten an diese Gruppe ein. Diese Nachricht wird in regelmäßigen Abständen an die Multicastadresse der Gruppe gesendet. • Leave Group Nachricht. Sie dient dazu einem Multicastrouter mitzuteilen, dass ein Host die Gruppe verlässt und er das letzte Mitglied dieser Subnetzgruppe war. Dies hat zur Folge das der Router das Senden von Multicastnachrichten an dieses Subnetz einstellt. Medienprojekt Christoffer Cruse, Marko Wilde 4 Multicast in Mobile IP 24 Abbildung 4.4: Aufbau einer MLD Nachricht Bei IPv6 regelt den Verwaltungsprozess beim Gruppenruf die Multicast Listener Detection (MLD). Die MLD ist im RFC 2710 [DeFH99] beschrieben. Diese Nachricht ist äquivalent der IGMP in IPv4 und besteht aus einer Reihe ICMPv6 Nachrichten. Im Gegensatz zu IGMP ist jedoch die MLD ein fester Bestandteil des Internet Controll Message Protokoll Version 6 (ICMPv6). Der Multicast Listener Bericht regelt die Registrierung eines Host bei einer Multicastgruppe. Die Multicast Listener Abfrage ist identisch der Hostmitgliedschaftsabfrage in IPv4 und der Multicast Listener Done Bericht dient zur Beendigung einer Multicastmitgliedschaft in IPv6. Der Aufbau einer MLD ist in Abbildung 4.4 zu sehen und enthält folgende Datenbereiche: • Type - Legt die Art der MLD Nachricht fest. Der Wert 130 steht für eine MLD Abfrage, die 131 für einen MLD Bericht und der Wert 132 steht für eine MLD Done Nachricht. • Code - Sender setzen diesen Wert auf 0 und werden vom Empfänger ignoriert. • Checksum - Standart ICMPv6 Checksum, dient zur Erkennung von Übertragungsfehlern. • Maximale Antwort Verzögerung - Feld nur für MLD-Abfrage Nachrichten wichtig. Es gibt an, wie lange nach Erhalt der MLD die Antwort darauf hinausgezögert werden kann. • Reserviert - Sender setzt diesen Wert auf 0 und wird vom Empfänger ignoriert. Medienprojekt Christoffer Cruse, Marko Wilde 4 Multicast in Mobile IP 25 • Mutlicast Adresse - Wird bei MLD-Abfrage Nachrichten mit 0 belegt. Bei Bericht und Done Nachrichten enthält das Feld die Multicast-Adresse die der Sender überwacht. Die Anzahl der eingetragenen IP Adressen legt die Größe der MPE Extension fest. 4.2 Multicast bei Mobile IP Die Multicastunterstützung für Mobile IPv4 ist im RFC 3344 [Perk02] und für Mobile IPv6 im RFC 3775 [JoPA04] beschrieben. Sie zeigen Empfehlungen zur Umsetzung von Multicastverkehr in Mobile IP Netzwerken auf. Ein Mobile Node welches sich in seinem Heimnetzwerk befindet verhält sich beim Empfangen und Senden von Multicastdatagrammen genau so, wie ein Host, welcher sich statisch in einem Netzwerk befindet. Es benutzt also die selben Multicastmechanismen, wie sie im statischen Netzwerkbetrieb Anwendung findet. Wechselt der Mobil Node in ein Fremdnetzwerk kann er diese Methoden nicht mehr verwenden. Das folgende Kapitel beschreibt einfache Umsetzungen von Multicastunterstützung in Mobile IP Netzwerken. Desweiteren wird eine Erweiterung für IGMP Nachrichten in Mobile IPv4 Netzwerken vorgestellt. 4.2.1 Multicast Preference Extension Format Die Multicast Preference Extension (MPE) erlaubt einem Mobile Node in einem Fremdnetzwerk, dass übermitteln von Optionen an den Home Agent, die das Empfangs- und Sendeverhalten für verschiedene Multicast Adressen beeinflussen. Dieses Format stellt eine Erweiterung an die IGMP Nachricht für den mobilen Multicastverkehr da. Perkins beschreibt den Aufbau dieser Nachricht in seinem Buch Mobile-IP - Design Principles ” and Practises“ [Perk98] (siehe dazu auch Abbildung 4.5). Durch die Erweiterung ist es Abbildung 4.5: Aufbau der MPEF Medienprojekt Christoffer Cruse, Marko Wilde 4 Multicast in Mobile IP 26 möglich, mehrere Multicast Adressen mit einer einzelnen Nachricht beim Home Agent zu registrieren. Die wichtigsten Flags und Felder sind wie folgt definiert: • Type - 41 • Length - 2+ (4* Anzahl der enthaltenen Multicast Adressen) • C - Wenn dieses Flag gesetzt ist, werden alle empfangenen Multicasteinstellungen durch den Home Agent entfernt. Alle zuvor gesendeten MPE’s des Mobile Nodes werden vom Home Agent ignoriert. • P - Der Permanent“ Flag teilt dem Home Agent mit, dass er alle folgenden ” Multicast Datagramme aktiv halten muss. Bis eine weitere MPE vom Mobile Node gesendet wird, in der das C“ Flag gesetzt ist. ” • A - Das Ergänzungs“ Flag verwendet die zuvor empfangenen Spezifikationen ” und erweitert sie um die Einstellungen, die in dieser MPE enthalten sind. Ist das A Flag nicht gesetzt, werden alle alten Datagramme ohne Permanent Flag zuerst gelöscht, bevor die neuen Einstellungen verwendet werden. • XH - Ist das Senden nach Hause Flag“ gesetzt, möchte das Mobile Node Multi” castpacket an das Heimnetzwerk senden. Die Zieladressen sind im Multicast IP ” Adresse“ - Feld festgelegt. • XF - Ist das Senden ins Fremdnetzwerk“ Flag gesetzt möchte das Mobile Node ” Multicastpacket an das Fremdnetzwerk senden. Die Zieladressen sind im Multi” cast IP Adresse“ - Feld festgelegt. • RH - Das Empfangen von zu Hause“ Flag teilt mit, dass der Mobile Node Data” gramme aus dem Heimnetzwerk empfangen möchte. Im Multicast IP Adresse“ ” Feld ist aufgeführt, von welchen Multicastgruppen das Mobile Node Datagramme empfangen möchte. • RF - Das Empfangen aus dem Fremdnetz“ Flag teilt mit, dass der Mobile No” de Datagramme aus dem Fremdnetzwerk empfangen möchte. Im Multicast IP ” Adresse“ - Feld ist aufgeführt von welchen Multicastgruppen das Mobile Node Datagramme empfangen möchte. • rsvd - 0 • Multicast IPv4 Adresse - In diesem Feld sind alle Adressen angegeben, für die diese Einstellungen gelten. Medienprojekt Christoffer Cruse, Marko Wilde 4 Multicast in Mobile IP 27 4.2.2 Remote Subscription Bei dieser Methode nimmt der Mobile Node Verbindung mit einem lokalen Multicastrouter im Fremdnetz auf. Diese Methode ist natürlich nur dann möglich, wenn sich in dem besuchten Fremdnetzwerk ein Multicastrouter befindet. Das Mobile Node benutzt seine Co-located Care-of Address für die IGMP Nachricht, um sich beim Multicastrouter zu registrieren. Im RFC 3344 [Perk02] wird ebenfalls vorgeschlagen, dass es möglich ist, die Heimadresse als Sendeadresse in die IGMP einzutragen. Für Mobile IPv6 wird eine identische Vorgehensweise bei der Remote Subscription vorgeschlagen. Der RFC 3775 [JoPA04] beschreibt die Registierung mittels einer MLD Nachricht an den Router. Zur Registrierung verwendet der Host seine IPv6 Care-of Adresse die er im Fremdnetzwerk besitzt. Möchte der Mobile Node in einem Fremdnetzwerk Multicastnachrichten versenden, so schickt er diese an den entsprechenden Multicastrouter unter Angabe seiner Co-located Care-of Address bzw. seiner Care-of Adresse als Absendeadresse. 4.2.3 Bidirectional Tunneling Eine weitere Methode, welche in den RFCs 3344 und 3775 festgelegt ist, um Multicastnachrichten zu erhalten, ist das Bidirectional Tunneling. Das Ablaufdiagramm in Abbildung 4.6 zeigt die Registrierungsprozedur für Multicastpakete über einen Bidirectionalen Tunnel. Ein Mobile Node, dass Multicastnachrichten aus seinem Heimnetzwerk empfangen möchte, kann mit diesem Verfahren realisiert werden. Dafür ist es jedoch notwendig, dass der Home Agent ein Multicastrouter ist. Dadurch ist es möglich, dass der Home Agent anstelle des Mobile Nodes treten kann. Das heißt, im Heimnetzwerk können alle Multicastnachrichten für den Mobil Node durch den Home Agent abgefangen werden. Der Home Agent übernimmt somit die Aufgabe eines Multicastproxy für das Mobile Node. Damit der HA die Aufgabe übernimmt, leitet das Mobil Node über einen Tunnel eine IGMP oder MLD Nachricht an den Home Agent. Dabei wird die Heimadresse des Mobile Nodes als Quelladresse in den IP-Header eingetragen. Das Mobile Node signalisiert so seine Empfangsbereitschaft für Multicastdatagramme. Alle Multicastpackete, welche für die Multicastgruppe des Mobile Node bestimmt sind, werden so vom Home Agent an den Mobilen Rechner weitergeleitet. Beim Bidirectionalen Tunnel der Multicastpakete ist, wie auch beim normalen Mobile IP, eine Kapselung von IP-Adressen notwendig. Der Router fängt die Datagramme, welche für den Mobile Node bestimmt sind ab und wandelt das Multicastpaket in Uni- Medienprojekt Christoffer Cruse, Marko Wilde 4 Multicast in Mobile IP 28 Abbildung 4.6: Ablauf des Bidirectional Tunnelings in IPv6 castpaket um. Danach tunnelt er die Pakete an die Care-of Adresse des Mobile Nodes. Das senden von Multicast-Nachrichten durch einen Mobile Node an das Heimnetzwerk kann ebenfalls auf den selben Weg zurück geschehen. Auch hier ist es wieder Notwendig das der Home Agent ein Multicast Router ist. Als Absenderadresse wird in den Nachrichten die Heimatadresse des Mobil Nodes angegeben. Das Bidirectional Tunneling ist ein sehr einfaches und schnell zu implementierendes Verfahren. Dadurch ergeben sich aber auch Probleme, die in verschiedenen anderen Internet-Drafts und RFC’s diskutiert wurden. Ein Problem des Tunneling ist die Individualisierung von Tunneln bei mehreren Mobile Nodes die sich nicht im Heimnetzwerk befinden. Das heißt, der Home Agent muss für jedes Mobile Node einen eigenen Tunnel öffnen und verwalten. Befinden sich viele Mobile Nodes, im Netzwerk des Foreign Agents bzw. Access Routers kann dieses schnell zur Überlastung und zu Verzögerungen des Multicastverkehrs kommen. Durch viele Tunnel kann es zwischen Tunnelende und Homeagent bei der Verwaltung der Datagramme zur Überlastung der Router führen. Ein Problem was besonders bei Echtzeitdiensten, wie Voice over IP zu Sprachaussetzern führen kann. Eine Möglichkeit dieses Problem zu umgehen, stellt das Optimierte Tunneling da, dass im folgenden Abschnitt beschrieben werden soll. 4.2.4 Optimiertes Tunneling Eine Verbesserung des Bidirectional Tunneling kann durch das Einführen eines Multicast Foreign Agent [MFA] oder in IPv6 eines Multicast Member Agent [MMA] umgesetzt werden. Da beide Agents nach dem selben Verfahren funktionieren, wird im folgenden Abschnitt die Realisierung eines optimierten Multicastverkehrs mittels eines Medienprojekt Christoffer Cruse, Marko Wilde 4 Multicast in Mobile IP 29 Abbildung 4.7: Ablaufdiagramm eines optimierten Tunnels mittels eines MMA MMA beschrieben. Ein Entwurf dieses MMA wird von der IETF im Internet-Draft vom 15 Januar 2009 [YaDW09] beschrieben. Der MMA arbeitet als ein Proxy für mehrere verschiedene Mobile Nodes. Er öffnet jedoch anders, als beim normalen Bidirectional Tunneling nicht für jedes Node einen Tunnel zum Homeagent. Der MMA verwendet für das Senden und Empfangen von Multicastpaketen mit dem Home Agent einen einzigen Bidirectionalen Tunnel. Er ist genau, wie ein normaler Foreign Agent der Endpunkt des Tunnels, deshalb sollte er gleichzeitig der Accesspoint für die Mobile Nodes darstellen. Abbildung 4.7 zeigt ein Ablaufdiagramm von Multicast mittels eines MMAs, wie er in im Internet-Draft Multicast tunneling optimization für Mobile IPv6“ beschrieben ” wird. • (0) Der Home Agent sendet in regelmäßigen Abständen über den bidirectional Tunnel MLD Mitgliedsabfragen zum Mobile Node. • (1) Das Mobile Node sendet seine Multicastgruppenmitgliedschaft mittels einer MLD. Diese Mitteilung wird zuerst über den Tunnel an den Homeagent und im Anschluss an die entsprechenden Multicastrouter versendet. • (2) Wenn der Home Agent ein Mobile Node gefunden hat, welches einer neuen Multicastgruppe beitreten möchte, informiert der Home Agent den MMA und übermittelt die Adresse des MN und die Multicast Adresse. Der MMA speichert diese Daten in der Multicast Serving Tabelle (MST). Der Home Agent speichert ebenfalls die Adresse des MN, MMA und die Multicastadresse im lokalen Cache. Medienprojekt Christoffer Cruse, Marko Wilde 4 Multicast in Mobile IP 30 • (3) Der Home Agent empfängt einen Multicaststream und überprüft, ob die Daten in seinem Cache, mit der Adresse des empfangenen Multicaststreams übereinstimmt. • (4) Alle Multicastdatagramme, welche für das Mobile Node bestimmt sind, werden zuerst an den dafür zuständigen MMA getunnelt. Der äußere IP Header enthält als Ziel die MMA-Adresse und im inneren das eigentliche Multicastpacket. • (5) Der Multicast Member Agent überprüft die Multicast Adresse und sucht aus dem MST die Adresse des Nodes, welche sich für diese Multicastgruppe eingeschrieben haben. Dabei wird bei mehreren Mobile Nodes, die sich in die Multicastgruppe eingeschrieben haben, dass Paket einfach so oft wie benötigt dupliziert. Der äußere Header wird durch den MMA modifiziert und mit der jeweiligen Heimadresse der einzelnen Nodes ersetzt und weitergeleitet. Verlässt der Mobile Node das Foreign Netzwerk und betritt ein neues Subnetz teilt das Node dem Home Agent den Netzwechsel mit. Der Home Agent übermittelt dem neue MMA die Multicastadresse des Nodes aus seinem Cache. Der neue MMA aktualisiert darauf hin seine MST. Der alte MMA bekommt ebenfalls eine Nachricht vom HA, um seine MST zu aktualisieren und den nun überflüssig gewordenen Multicasteintrag für das Node zu entfernen. Nach dem Handover läuft der Multicastverkehr normal, wie in Abb. 4.7 dargestellt über den neuen MMA ab. 4.2.5 Multicast in vorhandenen Mobile IP Implementierungen Multicastunterstützung in Mobile IP ist in vielen Standarts beschrieben. Trotz vielen theoretischen Ideen, zur Umsetzung eines multicastfähigen mobilen Netzwerkes, ist in den modernen Implementierungen noch keine Multicastunterstützung gegeben. Keine recherchierte Mobile IP Umsetzung enthält diese Funktion. Gründe hierfür liegen in den Schwerpunkten der einzelnen Entwicklergruppen. Das Nautilus6 Projekt zum Beispiel, welches die modernste frei verfügbare Mobile IP Implementierung besitzt, konzentriert sich zur Zeit auf andere Schwerpunkte. Besonders das Entwickeln von Verschlüsselungen des Mobile IP Datenverkehrs und das regelmäßige Update ihrer Implementierung hat einen besonders hohen Stellenwert. Andere Mobile IP Implementierungen sind nur zu Testzwecken entwickelt wurden und bieten lediglich die minimale Unterstützung für Mobile IP. Die Umsetzung der vorgeschlagenen Lösungen aus den Standards, wird vermutlich erst in späteren Implementierungen vorhanden sein. Medienprojekt Christoffer Cruse, Marko Wilde 5 Mobile IP Implementierungen 31 5 Mobile IP Implementierungen 5.1 Übersicht In diesem Kapitel sollen alle bereits vorhandenen Implementierungen von Mobile IP aufgezeigt werden. Im Rahmen unseres Medienprojektes wurde die Implementierung UMIP-0.4 auf ihre Leistungsfähigkeit hin getestet. Bei der Recherche zu vorhanden Implementierungen fiel auf, dass es für Windowsbetriebssysteme wie zum Beispiel, Windows XP oder Vista, keine Mobile IP Lösungen gibt. Jedoch arbeitet das Unternehmen Microsoft an einer Lösung, um dieses Feature nachträglich in ihre verschiedenen Betriebssysteme zu integrieren. Lediglich die Funktionalität als Correspondent Node ist mit Windows XP SP2 und Windows Server 2003 möglich. In der Linux und UNIX Gemeinschaft existieren einige Mobile IPv6 Implementierungen. Jedoch nur noch die UMIP-0.4 Implementierung wird regelmäßig aktualisiert und ist auf aktuellen Kerneln lauffähig. Der Grund für das durchsetzen von IPv6 Implementierungen ist die immer größer werdende Nachfrage von IP Adressen im Internet. Die Übersicht in Tabelle 5.1 zeigt alle vorhandenen Mobile IPv6 Umsetzungen. Die Weiterentwicklung von Mobile IPv4 ist in den Entwicklungsgruppen eingestellt. Keine der vorhandenen IPv4 Implementierungen arbeitet mit aktuelle Kernelversionen. Der Vollständigkeit halber sind sie in der Tabelle 5.2 mit aufgeführt, jedoch sind diese Versionen für moderne Netzwerksysteme nicht mehr von Relevanz. Medienprojekt Christoffer Cruse, Marko Wilde 5 Mobile IP Implementierungen Name 32 Betriebssystem - MIPl2v6 [TU H06] Linux Kernel 2.4.22 bis Kernel 2.6.29 - - - MIPv6 Lancaster [JANE09] Linux Kernel 2.6.27 Umip [WIDE09] Linux Kernel 2.4.26 bis Kernel 2.6.31 - - Homeguy [WIDE09] Linux Kernel 2.6.22 - Shisha [WIDE09] UNIX und MacOS 10 - Bemerkungen mittels Kernelpatch Kernel 2.6.29 möglich entwickelt an der TU Helsinki unterstützt die Standards aus dem RFC 3775 - Mobility Support in Ipv6 Entwicklung eingestellt und vom Nautilus Projekt aufgenommen und zu Umip weiterentwickelt entwickelt an der Universität Lancaster wird nicht weiterentwickelt Live CD mit Debian Distribution enthält die Mobile Ipv6 Implementierung der Uni Lancaster mittels Startup Scripts werden Mobile Node Daemons oder Home Agent Daemon gestartet Linux Kernel 2.6 (GPL Linzenz) 2005 entwickelt im Rahmen des Nautilus6 Projekts für Mobil Ipv6 Implementierungen wird regelmäßig weiterentwickelt Entwickelt durch das Nautlius6 Projekt arbeitet mit Umip Implementierungen Live CD mit Mobile IP Testprogrammen kann Home Agent oder Mobile Router simulieren Entwickelt durch das Nautlius6 Projekt arbeitet mit Umip Implementierungen unterstützt die Standarts: RFC 3775 - Mobility Support in Ipv6 RFC 4584 - Extensions to Sockets API for Mobile Ipv6 RFC 3963 - NEMO Basics NEMO Basic Support Protocol Unterstützt IPSEC wie er im RFC 3776 beschrieben wird Tabelle 5.1: Verfügbare Mobile IPv6 Implementierungen Medienprojekt Christoffer Cruse, Marko Wilde 5 Mobile IP Implementierungen Name 33 Betriebssystem UoB-zNOMAD Linux [Univ07] Kernel 2.0 und 2.2 - HP Mobile IP [Rodr97] Linux Kernel 2.0.30 - Bemerkungen Mobile IPv4 Entwicklung eingestellt basiert auf NOMADv4 unter Sun Public Lizenz 2003 entwickelt an der Universität Bremen verwendet RFC 2002 - IP Mobility Support und RFC 2356 - Sun’s SKIP Firewall Traversal for Mobile IP Mobile Ipv4 1997 von HP in Bristol UK entwickelt enthält die Standards welche im RFC 2002 beschrieben werden Entwicklung eingestellt Tabelle 5.2: Verfügbare Mobile IPv4 Implementierungen 5.2 UMIP Eine weitere Mobile IPv6 Software ist die vom Nautilus6-Projekt gepflegte NEPL oder auch UMIP. Das UniverSAl playGround for IPv6 (USAGI)-patched MIPv6 for ” Linux“ kurz UMIP, ist eine Weiterentwicklung der eingestellte Mobile IPv6 Implementierung MIPL2. Es arbeitet mit den in den RFC 3542 [STNJ03] und RFC 4584 [ChNo06] beschriebenen Standards. Dadurch enthält UMIP Socket-API und die im RFC 4584 [ChNo06] definierte Erweiterung für Netzwerksockets. Das UMIP-Projekt und Implementierungen für andere Betriebssysteme sind auf der Nautilus6-Projektseite zusammengefasst. Die Arbeitsgruppen entwickeln und aktualisieren neben UMIP auch die SHISHA Implementierung für MacOSX und UNIX Systeme. UMIP ist eine Userspaceanwendung, welche durch einfaches installieren in das System eingebunden wird. Die Arbeitsmodi HA, MN und CN werden durch diese Implementation unterstützt. Die Software unterstützt Binding Updates, welches ein routenoptimiertes Kommunizieren erlaubt. Die Wahl zur Implementierung von Umip in ein Testbed, lag zum einen in der Aktualität, da sie als einzige derzeitige Mobile IP Umsetzung, mit aktuellen Kernels arbeitet und zum anderen stellt sie zugleich die einzige moderne verfügbare Opensource Implementierung für Linux da. Der UMIP-Daemon ist eine parallelisierte Applikation. Je nach dem wie die Anwendung konfiguriert wurde, arbeiten bis zu sechs modulierte Threads gleichzeitig. Aufgrund der schlechten Dokumentation ist das verstehen des Quellcodes sehr schwer. Eine teilweise Beschreibung des Codes wird in der Diplomarbeit von Stephan Bärwolf [Bärw10] vorgenommen. Das Medienprojekt Medienprojekt Christoffer Cruse, Marko Wilde 5 Mobile IP Implementierungen 34 wird lediglich die für die reibungslose Installation notwendigen Dateien im Kapitel 5.2.3 beleuchten. Ein weiteres Feature dieser Implementierung ist die Unterstützung von multiplen Care-of Adressen für mobile Router. Diese Unterstützung erlaubt den mobilen Routern mehrere Care-of Adressen von einem Home Agent zu bekommen. Dadurch ist es möglich Policy Routing für die mobilen Router zu gewährleisten. 5.2.1 Konfiguration und Installation von UMIP Die derzeitige Version 0.4 arbeitet mit allen Kernelversion bis 2.6.31. Sie muss im Gegensatz zu früheren Versionen nicht mehr durch einen Kernelpatch in den Kernel integriert werden. Ab der Kernelversion 2.6.19 ist die Mobilität von IPv6 ein fester Bestandteil geworden. Obwohl im Testbed die einzelnen Systeme mit unterschiedlichen Kernelversionen laufen, ist es notwendig, dass einige wichtige Parameter im Kernel aktiviert sind, um UMIP zu kompilieren. Diese Parameter werden an dieser Stelle kurz genannt. Dabei stehen die Bezeichnungen y“ für fest in den Kernel integrierte ” Parameter und m“ für Module die später geladen werden können. ” CONFIG_TUN = m - Ein Modul welches ein virtuelles Interface erzeugt , dass später für IPv6 Tunnelsoftware verwendet werden kann . INET = y CO NFIG _IKC ONFI G = y CONFIG_IKCONFIG_PROC = y INET6_ESP = y IPV6_TUNNEL = y CONFIG_IPV6 = y - Ermöglicht IPv6 Unterstützung im Kernel . IPV6_MULTIPLE_TABLES = y IPV6_MIP6 = y - Aktiviert die MIPv6 Unterstützung , welche ab Kernelversion 2.6.19 integriert ist . XFRM = y XFRM_USER = y XF RM_S UB_P OLIC Y = y INET6_XFRM_MODE_ROUTEOPTIMIZATION = y NET = y NET_KEY = y NET_KEY \ _MIGRATE = y CONFIG_IP6_NF_IPTABLES = m CONFIG_IP6 \ _NF_MATCH = m Listing 5.1: Kernel Konfiguration 5.2.2 Kompilieren von UMIP Das Kompilieren des UMIP Daemon erfolgt auf dem Home Agent, Correspondent Node und dem Mobile Node. Dies macht es Notwendig, dass der Mobile Node mit UMIP konfiguriert werden muss, um Mobile IP im Netzwerk zu ermöglichen. Das Paket mipv6” daemon-umip-0.4.tar.gz“ beinhaltet alle Dateien die für das vollständige kompilieren Medienprojekt Christoffer Cruse, Marko Wilde 5 Mobile IP Implementierungen 35 notwendig sind. Dabei wird nach dem entpacken des Archives, mittels eines configure“” Script, dass die Software auf das Betriebssystem konfiguriert und Pfadangaben als auch weitere optionale Anweisungen für den Make-Befehl einstellt. Der Parameter –prefix“ ” erlaubt dem configure“-Scripts, dass festlegen des Zielverzeichnis für die Installation. ” Das fehlen dieses Parameter installiert den Daemon in das Standardverzeichnis /usr/local/sbin. Das virtuelle Terminal wird mittels des Parameters –enable-vt“ in der ” Übersetzung berücksichtigt. Für weitere Hilfe zum configure“-Script kann durch den ” Parameter –help“ eine ausführlich Hilfe angezeigt werden. ” Nach der erfolgreichen Konfiguration der Übersetzung, kann mittels des make“-Befehls ” der Daemon erzeugt werden. Wichtig bei dieser Erstellung ist das setzen eines CFLAG für die Übersetzung. Grund hierfür ist ein Fehler, der in Gentoo beim kompilieren des Wortes NULL“ auftritt. Dies wird beim Kompilieren als Fehler interpretiert, sodass ” der make“-Befehl abgebrochen wird. Durch setzen der Umgebungsvariable CFLAGS“ ” ” in Verbindung mit dem Makro (NULL=((void*)0)), wird dieser Fehler behoben. Der Befehl make install“ installiert die übersetzte Datei in das zuvor durch configure“ ” ” angegebene Verzeichnis. 1 2 3 4 5 6 - # cd / tmp / tmp # tar - xvf mipv6 - daemon - umip -0.4. tar . gz / tmp # cd mipv6 - daemon - umip -0.4/ / tmp / mipv6 - daemon - umip -0.4 # ./ configure -- prefix =/ -- enable - vt / tmp / mipv6 - daemon - umip -0.4 # make CFLAGS +=" - DNULL =\(\( void \*\)0\)" / tmp / mipv6 - daemon - umip -0.4 # make install Listing 5.2: Befehle für das Installerien von Umip-0.4 Daemons 5.2.3 Einstellungen für UMIP Die Konfiguration des UMIP Daemons erfolgt mit der mip6d.conf. Die Datei muss erstellt und im Ordner /etc“ abgespeichert werden. Zum besseren Verständnis der ” einzelnen Optionen, die in der mip6d.conf Verwendung finden, werden sie im folgenden Abschnitt kurz genannt und erläutert: Allgemeine Parameter: • NodeConfig - Konfiguriert durch die Werte HA, CN, MN den Arbeitsmodus des Deamons. • DebugLevel - Definiert die Menge an Debuginformationen, die auf dem Bildschirm ausgegeben werden sollen. Medienprojekt Christoffer Cruse, Marko Wilde 5 Mobile IP Implementierungen 36 • DoRouteOptimizationCN - Aktiviert optimiertes Routing mit anderen MNs. Parameter nur für den Home Agent: • HaMaxBindingLife - Bestimmt die maximale Lebensdauer der Bindings von MNs in Sekunden. Parameter für Home Agent und Mobile Node: • UseMnHalPsec - Schützt bei gesetztem enabled“ die Signalisierungnachrichten ” zwischen HA und MN mittels IPSec. • KeyMngMobCapability - Aktiviert den dynamischen Schlüsselaustausch über MIPv6 fähiges Internet Key Exchange Protokoll. • Interface - Definiert die Netzwerkschnittstelle mit der UMIP arbeiten soll. Es ist möglich mit den Parametern MnIfPreference“ und IfType“ mehrer Netz” ” werkschnittstellen festzulegen, die mittels Prioritäten, hierarchisch von UMIP verwendet werden. IfType“ legt dabei den Arbeitsmodus des Schnittstelle fest. ” Medienprojekt Christoffer Cruse, Marko Wilde 5 Mobile IP Implementierungen 37 Parameter nur für den Mobile Node: • DoRoutOptimizationMN - durch Aktivierung mittels enabled“ erlaubt dies ” den MNs optimiertes Routing zu verwenden, um mit CNs zu kommunizieren • UseCnBuAck - Aktivierung erlaubt Bestätigungen von CNs für empfangene Bindingupdates. • MnDiscardHaParamProb - Erlaubt dem MN das Auswerten der vom HA gesendeten ICMPv6 Parameterproblem Nachrichten. • MnRouterProbes - Gibte die Wiederholungsversuche zu einem Router an, wenn dieser nicht mehr erreichbar ist. Aufgrund der Einflussnahme dieser Einstellung auf den Handoff sollte der Wert auf 0“ gesetzt werden ” • MNHomeLink - Definiert die Netzwerkschnittstelle, über die das MN mit dem Heimnetz verbunden ist. Als Block enthält der Parameter HomeAdress“ die ” Heimnetzadresse mit deren Präfixbitlänge, sowie HomeAgentAdress“ zur Fest” legung der IPv6-Adresse des HA. Die einzelnen Konfigurationsdateien für die jeweiligen Arbeitsmodi sind im folgenden Abschnitt aufgelistet. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # Home Agent Configuration NodeConfig HA ; Interface " eth0 " { MnIfPreference 7; IfType HA ; } Interface " eth2 " { MnIfPreference 3; IfType HA ; } UseMnHaIPsec disabled ; K e y M n g M o b C a p a b i l i t y enabled ; B in d in g Ac l Po l ic y 2001:1 af8 : fe85 :100 c :2 c0 :9 fff : fee1 : b35e allow ; H aM a xB i nd i ng L if e 60; Listing 5.3: mip6d.conf für den Home Agent Medienprojekt Christoffer Cruse, Marko Wilde 5 Mobile IP Implementierungen 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 38 # Mobile Node Configuration NodeConfig MN ; DebugLevel 0; # Support Route Optimization with MNs D o R o u t e O p t i m i z a t i o n C N enabled ; # Use Route Optimization with CNs D o R o u t e O p t i m i z a t i o n M N enabled ; UseCnBuAck enabled ; M n D i s c a r d H a P a r a m P r o b enabled ; MnRouterProbes 1; M n M a x H a B i n d i n g L i f e 60; M n M a x C n B i n d i n g L i f e 60; Interface " eth0 " { MnIfPreference 1; IfType MN ; } Interface " eth1 " { MnIfPreference 5; IfType MN ; } MnHomeLink " eth0 " { H om e Ag e nt A dd re s s 2001:1 af8 : fe85 :100 c ::1; HomeAddress 2001:1 af8 : fe85 :100 c :2 c0 :9 fff : fee1 : b35e /64; } # IPsec Configuration UseMnHaIPsec disabled ; # Key Management Mobility Capability K e y M n g M o b C a p a b i l i t y enabled ; Listing 5.4: mip6d.conf für das Mobile Node 1 2 3 4 NodeConfig CN ; DebugLevel 0; D o R o u t e O p t i m i z a t i o n C N enabled ; K e y M n g M o b C a p a b i l i t y enabled ; Listing 5.5: mip6d.conf für das Corespondent Node Medienprojekt Christoffer Cruse, Marko Wilde 5 Mobile IP Implementierungen 39 5.2.4 Konfiguration des Radvd Daemons Für den Betrieb von UMIP ist es notwendig Router Adervertisements über das Netzwerk zu verschicken. Sie dienen der Konfiguration des Mobile Nodes durch den Router oder Access Point. Der Start des Radv Daemons erfolgt automatisch beim Systemstart. Je nach Knotentyp müssen sie jedoch einzeln Konfiguriert werden. Der Radv Daemon befindet sich in der Gentoo Portage und lässt sich mit dem Befehl emerge ” radvd“ installieren. Mittels der Konfigurationsdatei radvd.conf“ können die einzeln ” Einstellungen für die HA und Access Router vorgenommen werden. Router Advertisements sind speziele IPv6 Datagramme welche ICMPv6 Netzwerkpakete enthalten. Der übliche IPv6-Paketkopf wie er im RFC 4861 [NNSS07] beschrieben wird ist in der Abbildung 5.1 dargestellt. Sie zeigt den Bitgenauen Aufbau eines Routeradvertisements. Im folgenden sollen die einzelnen Bereiche des Paketkopfes erläutert werden. Abbildung 5.1: Datenformat eines IPv6 Router Advertisments • Type - Der Wert 134 dient neben dem Wert Code zur Signalisierung eines Router Advertisements. • Prüfsumme - Dient zur Vermeidung von Übertragungsfehlern und damit verbundenen Paketfehlern. • Aktives Hop-Limit - Der Wert gibt die empfohlen Routingschritte in IPv6 Paketen für die Netzwerkknoten an. • M,O - Dienen zur Signalisierung weiterer oder anderer Konfigurationsarten und machen ggf. bestimmte Paketfelder überflüssig. • reserviert - Für MIPv6 von Interesse, da hier die Erkennung des verwendeten Mobilitätsmanagementprotokolls angezeigt wird. Medienprojekt Christoffer Cruse, Marko Wilde 5 Mobile IP Implementierungen 40 • Router Lebensdauer - Gibt in Millisekunden die Zeit an, wie lange der angezeigte Router als Default Router verwendet werden soll. • Erreichbarkeitszeitraum - Gibt die Zeit an, in der das Advertisement gültig ist. • Pause bis Wiederholung - Gibt die Pause nach dem erlöschen des Erreichbarkeitsfensters an. Danach wird eine neue Router Advertisement gesendet. In den nachfolgenden Dateiauszügen werden die einzelnen Parameter aufgelistet, welche in der radvd.conf vorgenommen werden müssen. Sie sind notwendig um den jeweiligen Arbeitsmodi zu ermöglichen. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 interface eth2 { AdvSendAdvert on ; AdvIntervalOpt off ; A dv H om e Ag e nt F la g on ; AdvLinkMTU 1280; Ig nore IfMi ssin g on ; H o m e A g e n t L i f e t i m e 10000; H o m e A g e n t P r e f e r e n c e 20; A dv H om e Ag e nt I nf o on ; M a x R t r A d v I n t e r v a l 0.1; M i n R t r A d v I n t e r v a l 0.03; M i n D e l a y B e t w e e n R A s 0.03; prefix 2001:1 af8 : fe85 :100 c ::1/64 { AdvRouterAddr on ; AdvOnLink on ; AdvAutonomous on ; A d v P r e f e r r e d L i f e t i m e 10000; A dv V al i dL i fe t im e 12000; }; }; Listing 5.6: radvd.conf für den Home Agent Medienprojekt Christoffer Cruse, Marko Wilde 5 Mobile IP Implementierungen 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 41 # AP1 interface wlan0 { AdvSendAdvert on ; AdvIntervalOpt off ; AdvLinkMTU 1280; M i n R t r A d v I n t e r v a l 0.03; M a x R t r A d v I n t e r v a l 0.1; M i n D e l a y B e t w e e n R A s 0.03; prefix 2001:1 af8 : fe85 :100 a ::1/64 { AdvOnLink on ; AdvAutonomous on ; AdvRouterAddr on ; A d v P r e f e r r e d L i f e t i m e 60; }; }; Listing 5.7: mip6d.conf für den Foreign Access Point 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # AP2 interface wlan3 { AdvSendAdvert on ; AdvIntervalOpt off ; AdvLinkMTU 1280; M i n R t r A d v I n t e r v a l 0.03; M a x R t r A d v I n t e r v a l 0.1; M i n D e l a y B e t w e e n R A s 0.03; prefix 2001:1 af8 : fe85 :100 b ::1/64 { AdvOnLink on ; AdvAutonomous on ; AdvRouterAddr on ; A d v P r e f e r r e d L i f e t i m e 60; }; }; Listing 5.8: mip6d.conf für den Foreign Access Point 2 5.2.5 Starten von UMIP Um die UMIP Implementierung im Testbed zu betreiben, ist eine feste Reihenfolge beim Starten der einzelnen Komponenten zu befolgen. Sie stellt sicher, dass alle Komponenten reibungslos funktionieren und der UMIP Daemon erfolgreich startet. An allen Systemen muss sich zu erst erfolgreich angemeldet werden. Dafür werden die Login Daten des Mobile IP Medienprojektes verwendet. Dieser Login ist zu gleich mit Root Rechten ausgestattet, sodass jede Anwendung ohne Probleme gestartet werden kann. Die einzelnen Befehle zum Starten der benötigten Software an den einzelnen Terminals, ist in den folgenden Abschnitten beschrieben. Medienprojekt Christoffer Cruse, Marko Wilde 5 Mobile IP Implementierungen 42 Access Points Zuerst werden die Access Points, die später die Fremdnetze simulieren, gestartet. Dazu muss lediglich der Radv Daemon gestartet werden. Mittels der Anweisung /etc/i” nit.d/radvd -c /etc/radvd.conf“ wird der Daemon angewiesen mit einer Config“- Datei ” zu starten die sich im Ordner /etc“ befindet. ” 1 # - / etc / init . d / radvd -c / etc / radvd . conf Listing 5.9: Befehle zum starten Radvd Daemons in den Access Points Mobile Node Beim Mobile Node muss lediglich der MIP6 Daemon gestartet werden. Ähnlich wie beim Radv Daemon kann mittels des Parameters -c“ eine Config“- Datei beim Star” ” ten angegeben werden. Der Parameter -d“ kann optional verwendet werden. Er gibt ” an wieviel Debug Informationen auf dem Terminal ausgeben werden sollen. Der d“ ” Parameter kann einen Wert von 1 bis 10 annehmen. 1 # - / etc / init . d / mipd6d -d 10 -c / etc / mip6d . conf Listing 5.10: Startbefehle für die UMIP Implementierung beim Mobile Node Home Agent Der Home Agent ist das Bindeglied in der UMIP Implementierung. Hier ist es wichtig das dass Mobile Node mit dem Home Agent verbunden ist. Nur so ist es möglich das der Radv Daemon erfolgreich startet. Der Grund dafür ist, dass der Daemon beim starten überprüft ob ein Host mit dem LAN-Interface verbunden ist. Wenn der Radv Daemon keine verbunden Netzwerkhosts finden kann, werden auch nach späterem Anschluss von Hosts, keine Advertisements versendet. Nachdem Radvd erfolgreich gestartet ist, kann mit dem Befehl etc/init.d/mip6d -c ” /etc/mip6d.conf“ der MIP6 Daemon initialisiert werden. Auch hier kann wieder der Debug Parameter -d“ gesetzt werden um zusätzliche Informationen zu erhalten. ” Medienprojekt Christoffer Cruse, Marko Wilde 5 Mobile IP Implementierungen 1 2 43 # - / etc / init . d / radvd -c / etc / radvd . conf # - / etc / init . d / mipd6d -d 10 -c / etc / mip6d . conf Listing 5.11: Startbefehle für die UMIP Implementierung und Radvd beim Home Agent Correspondent Node Der Correspondent Node braucht zum ordnungsgemäßen Arbeiten in der UMIP Implementierung, nur das starten des MIP6 Daemons. Auch hier wird wie im Abschnitt Mobile Node“ mittels Parameter -c“ und des genauen Config-Pfads der MIP6 Daemon ” ” gestartet. 1 # - / etc / init . d / mipd6d -c / etc / mip6d . conf Listing 5.12: Startbefehle für die UMIP Implementierung beim Correspondent Node Medienprojekt Christoffer Cruse, Marko Wilde 6 Testumgebung 44 6 Testumgebung In diesem Abschnitt wird als erstes der Aufbau der Testumgebung mit den verwendeten Komponenten und Einstellungen behandelt. Anschließend folgt eine Beschreibung der durchgeführten Testszenarien deren Ergebnisse im Kapitel 7. dargestellt werden. 6.1 Aufbau Die Testumgebung, die im Rahmen des Medienprojektes eingerichtet wurde, besteht aus sechs IPv6-fähigen Netzwerkknoten. Die verwendete Hardware kommt bis auf den CN und MN aus dem Bestand der TU Ilmenau. Das verwendete “/48 IPv6-Subnetz“ wurde beim Tunnelbroker “sixxs“ (http://www. sixxs.net/) registriert und stellt global eindeutige IPv6 Adressen und IPv6 Subnetze bereit. Über einen IPv6-in-IPv4 Tunnel ist der Zugang zum Internet v6 gewährleistet. Die sechs Knoten sind nun konkret ein IPv6-Gateway, ein Home Agent, zwei Access Router, ein Correspondent Node und Mobile Node. Alle Geräte verfügen über zwei Netzwerkinterfaces, im Falle der AR, CN und des MN je ein Ethernet und WLAN Interface. Die Verbindung zwischen IPv6-Gateway, AR, HA und CN erfolgt über einen D-Link 10/100Mbit Ethernet Switch. Der Abbildung 6.1 ist der Testaufbau zu entnehmen. Der Gateway bildet in diesem Aufbau den Backbone-Router und stellt das Subnetz 2001:1af8:fe85:1000::/64 zur Verfügung. An dieses Subnetz sind die statischen Knoten (HA, AR, CN) über das erste Interface angeschlossen. Der Mobile Node verbindet sich über ein IEEE 802.11g Interface mit den beiden Access Routern und über ein 10/100Mbit Ethernet Interface mit dem Home Agent. Als Betriebssystem wurde auf allen eingesetzen Rechnern die Linux Distribution Gentoo in der Kernelversion 2.6.31-r8 bzw. 2.6.30-r8 verwendet. Medienprojekt Christoffer Cruse, Marko Wilde 6 Testumgebung 45 Correspondent Node Internet eth0: 2001:1af8:fe85:1000::20/64 sixxs: 2001:1af8:fe00:1f7::2/64 Gateway Switch HA eth2: 2001:1af8:fe85:1000::1/64 eth2: 2001:1af8:fe85:100c::1/64 eth0: 2001:1af8:fe85:1000::100a/64 eth0: 2001:1af8:fe85:1000::100b/64 AR 1 AR 2 wlan0: 2001:1af8:fe85:100a::1/64 MN eth0: 2001:1af8:fe85:1000::100c/64 wlan3: 2001:1af8:fe85:100b::1/64 Movement HoA: 2001:1af8:fe85:100c:2c0:9fff:fee1:b35e/64 Abbildung 6.1: MIPv6 Testaufbau WLAN Konfiguration Die verwendeten WLAN Karten der Access Router basieren auf dem Atheros-Chipsatz. Dementsprechend wurde im Linux Kernel der ath5k Treiber als Modul compiliert. Um die Karten im Access Point Modus zu betreiben, wird der hostap Deamon benötigt. Über emerge hostapd lässt sich dieser installieren. Im Testbed wurde die Version 0.6.9 verwendet. Voraussetzung für die Verwendung von hostapd ist die Verfügbarkeit des nl80211-Treiber, dieser ist Teil der Linux mac80211-Treiber die ebenfalls als Modul im Kernel integriert sind. Die Konfiguration des hostap Deamon für den AR1 ist in Listing 6.1 dargestellt. Die AR stellen nur ein IEEE 802.11b WLAN bereit, da das Interface im Access Router 1 den 802.11g Standard nicht unterstüzt. Unterschieden werden beide WLAN-Subnetze über die SSID, für den AR1 lautet diese AP1“ und für den AR2 AP2“. Über ein Script, welches nach Ablauf einer Zeit tx die ” ” SSID wechselt, wird die Bewegung zwischen den Netzen simuliert. Medienprojekt Christoffer Cruse, Marko Wilde 6 Testumgebung 1 2 3 4 5 6 7 8 9 10 11 12 13 46 interface = wlan0 driver = nl80211 loggersyslog = -1 l o g g e r s y s l o g l e v e l =2 loggerstdout = -1 l o g g e r s t d o u t l e v e l =2 dump_file =/ tmp / hostapd / dump ctrl_interface =/ var / run / hostapd c t r l _ i n t e r f a c e _ g r o u p =0 channel =7 ssid = AP1 country_code = DE hw_mode = b Listing 6.1: hostapd Konfiguration für AR1 Probleme der WLAN Konfiguration Zu erwähnen ist, dass bei Änderungen an der Konfigurationsdatei des hostapd ein einfacher Neustart nicht funktioniert. Bevor der hostap Deamon neugestartet werden kann, müssen zuvor das mac80211 und jeweilige WLAN-Treiber Modul de-/reaktiviert werden. Andernfalls kommt es zu einer Fehlermeldung, wonach der nl80211-Treiber nicht initialisiert werden konnte. Weitere Probleme mit den WLAN Karten ergaben sich aus der Tatsache, dass nicht alle Chipsätze bzw. deren Treiber den Master / Access Point Modus unterstützen. Neben den verbauten Atheros Karten wurden zwei Karten mit Hermes (Orinoco/Prism2)Chipsatz sowie ein WLAN Stick mit ZyDAS ZD1211 Chipsatz getestet. Diese ließen sich nicht in dem Master / Access Point Modus betreiben. Das Problem war zum einen die fehlende Unterstützung durch den hostap Deamon (Hermes Chipsatz ) beziehungsweise der verfügbaren Firmware (ZyDAS Chipsatz ). IPv6 Routing Wie bereits erwähnt, stellt der Gateway neben dem Zugang zum Internet ebenfalls den Backbone Router des Netzes dar. Er verfügt als einziger Netzwerkknoten über die Kenntnis aller verwendeter Subnetze. Damit das Routing korrekt funktioniert muss in den Netzknoten AR1, AR2, HA und Gateway die Funktion IP Forwarding aktiviert sein. Um dies zu überprüfen und die Einstellung vorzunehmen, sind die Befehle entsprechend Listing 6.2 auszuführen. 1 2 3 4 5 6 <--- Überprüfung ob IP Forwarding aktiviert ist --> <--- Ausgabe : 1 - Ja , 0 - Nein --> ~ # cat / proc / sys / net / ipv6 / conf / all / forwarding <--- Aktivieren des IP Forwarding --> ~ # echo 1 > / proc / sys / net / ipv6 / conf / all / forwarding Listing 6.2: Einstellen des IP Forwarding Medienprojekt Christoffer Cruse, Marko Wilde 6 Testumgebung 47 Damit das Routing durch die Access Router bzw. den Home Agent zu den angeschlossenen Subnetzen funktioniert, sind am Backbone Router diese 3 Knoten jeweils als Gateways zu den Subnetzen einzutragen. Die dazu korrespondierende Routingtabelle zeigt Abbildung 6.3. 1 2 3 4 5 6 7 8 9 bootes ~ # route -A inet6 Kernel IPv6 routing table Destination 2001:1 af8 : fe00 :1 f7 ::/64 2001:1 af8 : fe85 :1000::/64 2001:1 af8 : fe85 :100 a ::/64 2001:1 af8 : fe85 :100 b ::/64 2001:1 af8 : fe85 :100 c ::/64 2000::/3 Next Hop Flag Met :: Un 256 :: U 256 2001:1 af8 : fe85 :1000::100 a UG 1 2001:1 af8 : fe85 :1000::100 b UG 1 2001:1 af8 : fe85 :1000::100 c UG 1 2001:1 af8 : fe00 :1 f7 ::1 UG 1 IF sixxs eth2 eth2 eth2 eth2 sixxs Listing 6.3: Routingtabelle des Backbone-Router Medienprojekt Christoffer Cruse, Marko Wilde 6 Testumgebung 48 6.2 Testszenarien 6.2.1 Handoff Verhalten und simulierte Datenströme Handoff Latenz Um die Dauer eines Handovers zu bestimmen, werden sowohl in Richtung Correspondent Node - Mobile Node als auch in Richtung Mobile Node Correspondent Node ICMPv6 Echo Requests gesendet. Dazu wird der ping6 Befehl verwendet, das Intervall zwischen zwei ICMPv6 Requests entspricht dem Standardwert von einer Sekunde. Als Handoff wird die Zeit zwischen dem letzten ICMPv6 Echo Reply und dem Binding Acknowledgement des Home Agent respektive Correspondent Node definiert. Der Wechsel zwischen den Subnetzen wird automatisiert durchgeführt, dass dazu verwendete Script zeigt Listing 6.4. 1 2 3 4 5 6 7 8 9 10 11 #!/ bin / bash # N Wechsel zwischen N =1 while [ $N - le 10]; sleep 10 iwconfig eth1 essid sleep 10 iwconfig eth1 essid N = $ [ $N +1] done # EOF APs alle 10 s do " AP1 " " AP2 " Listing 6.4: Script zum Wechseln der Subnetze alle 10s Der Wechsel zwischen den Subnetzen wird dabei alle 2s, 5s und 10s durchgeführt, um die Leistungsfähigkeit hinsichtlich der Geschwindigkeit zu testen. Zusätzlich wird der Test mit unterschiedlichen Intervallen der Router Advertisements durchlaufen. Die dafür gewählten Werte unterscheiden sich um den Faktor 10 und belaufen sich auf: • MinAdvInterval: 0,03s bzw. 0,3s • MaxAdvInterval: 0,1s bzw. 1s Zu erwarten wäre eine entsprechende Änderung der Latenz um einen ähnlichen hohen Faktor. Handoff Paket Verlust Die Bestimmung des Paketverlustes erfolgt ebenfalls über die ICMPv6 Echo Request / Reply Nachrichten. Dabei zählt jedes Paket als Verlust, welches während der Handoffdauer nicht gesendet bzw. empfangen werden kann. Da Medienprojekt Christoffer Cruse, Marko Wilde 6 Testumgebung 49 der Test im Verbund mit der Messung der Handoff Latenz durchgeführt wird, gelten die selben Randbedingungen wie im vorhergehenden Abschnitt. Auf der Seite des Mobile Nodes sind höhere Verlustraten im Downlink zu erwarten. Begründet liegt dies in der Dauer des Registrierungsprozesses mit dem Correspondent Node für die Routen Optimierung, da sie sich negativ auf die erfolgreiche Paketvermittlung auswirkt. TCP/UDP Datenstrom Neben der Messung der Latenz zwischen letztem ICMPv6 Request und erhaltenem Binding Acknowledgement, soll die Verzögerung für die Fortsetzung von Datenströmen ermittelt werden. Dazu werden jeweils ein TCP und UDP Datenstrom über ein Simulationstool künstlich erzeugt. Dabei sollen die Datenströme eine konstante Paketrate über die Messung besitzen. Der Fremdnetzwechsel wird wieder unter Verwendung des in Listing 6.4 gezeigten Scripts durchgeführt. Zu erwarten sind hier niedrigere Verzögerungen bei UDP Verkehr, da der Dienst verbindungslos und nicht zuverlässig modelliert ist. Dadurch wird die Übertragung nur von der Dauer des Handoffs beeinträchtigt. Ohne zusätzliche Mechanismen gehen allerdings alle Pakete, die während des Handovers gesendet werden, verloren. Im Gegensatz stellt TCP eine zuverlässige Übertragung bereit, es sind dadurch höhere Latenzen zu erwarten. Ursache sind Wartezeiten für Acknowledgements sowie die Fluss- und Staukontrolle, die durch Paketverluste während der Handover negativ in Erscheinung treten wird. 6.2.2 Verhalten von Anwendungssoftware FTP und HTTP An dieser Stelle soll das Verhalten von FTP und HTTP bei Netzwechseln betrachtet werden. Es soll überprüft werden wie FTP und HTTP durch Mobile IP beeinflusst werden, sofern überhaupt eine Wechselwirkung stattfindet. Interessant ist hierbei vorallem der Umgang mit dem Routing Header im Hinblick auf die korrekte Verarbeitung der Heimadresse. Erwartet wird hier, dass die Care-of Adresse für FTP und HTTP Anwendungen unsichtbar bleibt und keine negativen Auswirkungen durch Mobile IP zu beobachten sind. Um das Verhalten zu testen wird jeweils ein IPv6 fähgier FTP Server und ein Webserver auf dem Correspondent Node aufgesetzt. Anschließend wird ein Download bzw. HTTP Anfragen vom Mobile Node gestartet und mehrer Handover durchlaufen. Der Download sollte nach erfolgreichem Binding Update wieder aufgenommen und die Da- Medienprojekt Christoffer Cruse, Marko Wilde 6 Testumgebung 50 tei unbeschädigt übertragen werden. HTTP Anfragen / Antworten die in den Handoff fallen, sollten entsprechend nach erfolgreichem Verbindungsaufbau neu gesendet werden. Voice over IP (VoIP) Mit diesem Test soll untersucht werden, ob Sprachkommunikation mittels ’Voice over IP’ während des Bewegungsszenarios möglich ist. Dazu muss IPv6-fähige VoIP Software installiert und eine Sprachverbindung aufgebaut werden. Da VoIP auf UDP basiert ist allerdings zu erwarten, dass durch die Handover hohe Paketverluste auftreten und damit eine akzeptable Sprachverbindung zu bezweifeln ist. Medienprojekt Christoffer Cruse, Marko Wilde 7 Auswertung der Testszenarien 51 7 Auswertung der Testszenarien 7.1 Handoff Verhalten und simulierte Datenströme Handoff Latenz Das Messen der Handofflatenz, wurde mittels eines einfachen ICMPv6 Echo Request realisiert. Der Handoff wurde zwischen zwei Fremdnetzen und dem Wechsel vom Heimnetz ins Fremdnetz betrachtet. Da Aufgrund des Aufbaues des Testbeds ein Heimnetzwechsel nur manuell durch Interfacewechsel möglich ist, wurde der Heimnetzhandoff in der Auswertung nicht berücksichtigt. Bei der Durchführung der Messungen wurde durch ein Script der Handoff automatisiert. Die Zeiten zwischen den Wechseln betrugen dabei 10, 5 und 2 Sekunden. Dabei stellte sich heraus, dass ein kompletter Handoff durchschnittlich 6448 Millisekunden dauerte, sodass die Wechsel unter 10 Sekunden für korrekte Messungen unbrauchbar waren. Als Messpunkte für das bestimmen der einzelnen Handoffs, wurde der Empfang des letzten ICMPv6 Reply vor dem Handoff als Startwert genommen. Die Endpunkte waren die jeweiligen Binding Acknowledgements des Mobile Nodes bzw. des Correspondent Node. Abbildung 7.1 zeigt die durchschnittlichen Handofflatenzen zwischen zwei Fremdnetzen. Dabei wurden die ICMPv6 Nachrichten einmal über den Correspondent Node an den Mobile Node geschickt und im zweiten Durchlauf in umgedrehte Richtung gesendet. Bei den Messungen fiel auf, dass die Handoffs zwischen Mobile Node und Correspondent Node fast fünfmal so lange dauerten, wie die Handoffs zwischen dem Mobile Node und dem Home Agent. Dieses ausbremsen“ beruht auf einem enor” men Registrierungsprozess zwischen CN und HA. Da verschiedene Test Nachrichten, Home-Test Mitteilung und Care-of Test Mitteilungen, vor dem Binding Acknowledgement gesendet werden müssen. Ein Versuch den Handoff zu manipulieren sollte durch verringern der Zeitspanne zwischen den Routeradvertisements getestet werden. Dabei wurde die Zeitspanne von 0.3 auf 0.03 Sekunden hinabgesetzt. Dies sollte die Handofflatenzen zwischen MN und HA um 270 Millisekunden verringern. Jedoch wider erwarten, veränderten sich die Zeiten unmerklich. Grund hierfür ist, dass die Adver- Medienprojekt Christoffer Cruse, Marko Wilde 7 Auswertung der Testszenarien 52 tisements zwar früher beim Mobile Node eintreffen aber die Binding Updates durch UMIP nicht schneller versendet werden. Obwohl die Wechsel vom Heimnetz ins Fremdnetz für die Messung der Latenzen nicht hilfreich waren, sind die Ergebnisse dieser Messung, der Vollständigkeit halber, in der Abbildung 7.2 dargestellt. Auffällig ist hierbei der schnelle Handoff zwischen CN und HA wenn der Mobile Node das Heimnetz betritt. Dies ist in der Abbildung 7.2 an allen ungeraden Handoffs zu erkennen. Grund für den schnelleren Handoff ist das wegfallen der Testmitteilungen. Dies hat zur Folge das der Handoff von CN und HA unter 4 Millisekunden absinkt und somit schneller als im Wechsel zwischen zwei Fremdnetzen erfolgt. Abbildung 7.1: Durchschnittliche Handofflatenzen beim Wechel zwischen zwei Fremdnetzwerken Handoff Paket Verlust Der Handoff Paket Verlust wurde ebenfalls mit dem ICMPv6 Echo Request Signal durchgeführt. Dabei wurde jedes Paket welches zwischen dem Handoff nicht empfangen oder durch ein ICMPv6 Reply bestätigt wurde, bei der Messung als Verlust gewertet. Der Handoff wurde ebenfalls wie im Abschnitt Handoff Latenz“ von letzten ICMPv6 ” Reply bis zum jeweiligen Binding Acknowledgement gemessen. Auch hier wurde das Medienprojekt Christoffer Cruse, Marko Wilde 7 Auswertung der Testszenarien 53 Abbildung 7.2: Handoffs zwischen Heimnetz und Fremdnetz Senden von Pings“ in beide Richtungen durchgeführt. Ebenfalls wurden das verändern ” der Router Advertisementzeiten auf den Paketverlust getestet. Die Messergebnisse in Abbildung 7.3 zeigen beim Senden des Echo Requests vom Mobile Node an den Correspondent Node sehr niedrige Verluste, einhergehend mit einer hohen Standardabweichung. Dieses Phänomen erklärt sich indem man sich das Senden des Pings“ durch den MN betrachtet. Während des Handoffs zum Access Point 1 setzt ” das Senden von ICMPv6 Mitteilungen durch den MN aus. Fehlermeldung wie Ope” ration not permitted“ erschienen anstelle eines Pings“. Dieser Fehler wird vermutlich ” durch den Quellcode des MIP6 Daemons erzeugt und ist in der Nautilus Community bereits häufiger aufgetreten. Die Router Advertisements verändern die Paketverluste nicht, da wie zu erwarten war, die Handoffzeiten durch andere Test- und Bindingnachrichten ausschlaggebender sind. Abbildung 7.3: Paketverluste beim Wechseln zwischen zwei Fremdnetzen mit unterschiedlichen Routeradvertisementzeiten Medienprojekt Christoffer Cruse, Marko Wilde 7 Auswertung der Testszenarien 54 UDP Latenzen Der UDP Datenstrom wurde mit dem Streaming Tool D-ITG der Universität Napoli [Univ09] generiert. Das Tool generierte jede Millisekunde ein 512 Byte großes UDP Paket und schickt es vom Correspondent Node an den Mobile Node. So ist es möglich Internettraffic, wie er zum Beispiel bei VoIP entsteht, zu simulieren. Das Senden der UDP Pakete geschah vom Correspondent Node zum Mobile Node und wurde mit einem Script für den Handoff gesteuert, sodass die ganze Messung automatisiert werden konnte. Als Messpunkte dienten das letzte empfangene UDP Paket bis zum ersten UDP Paket nach dem Handoff. Bei den Messungen wie sie in Abbildung 7.4 dargestellt sind, wurde mit und ohne Route Optimization getestet. Durch die kurzen Wege, von nur zwei Sprüngen eines Paketes zu seinem Ziel, stellte sich die Deaktivierung der Routen Optimierung als das schnellere Verfahren heraus. Im Vergleich zu Routen optimiertem Mobile IP, bei dem der durchschnittliche Handoff 6800 Millisekunden betrug, war das nicht optimierte Routen über den Home Agent mit 1670 Millisekunden 4 mal schneller. Dies ist jedoch nur der Fall bei sehr kurzen Routen wie in unserem aufgebauten Testbed. Im Alltag würde dieser Vorteil aufgrund der Komplexität moderner Netzwerke hinfällig werden und sich sogar Nachteilig auswirken. Aufgrund der hohen Latenzzeiten ist das betreiben des zeitkritischen Internetdienst VoIP unter Mobile IP nicht möglich. Aufgrund der durschnittlichen Latenzen, ist der Paketverlust bei einem normalen Handoff mit durchschnittlich 7 Paketen anzurechnen. TCP Latenzen Der TCP Datenstrom wurden ebenfalls mit D-ITG Tool der Napoli Universität durchgeführt. Dabei wurden eine Paketgröße von 1180 Byte gewählt. Auch hier wurden wieder zwischen dem letzten empfangen TCP Paket und dem erst Paket nach dem Handoff gemessen. Die Paketrate betrug 2 Pakete pro Sekunde. Bei den Messungen stellte sich heraus das die Latenzen 4 Sekunden länger waren, als beim normalen Echo Request. Ein Grund dafür ist sicherlich die Fluss- und Staukontrolle in TCP. Wurde die Route Optimization jedoch ausgeschaltet und alle Pakete über den Home Agent geleitet, führt der erweiterte Header zu einer Too BIG“ Ant” wort des Home Agent an den Correspondent Node. Die Paketzerlegung ist somit in der nicht Routen optimierten Weiterleitung nicht gegeben. Bei einer durchschnittlichen Latenz von 10453 ms liegt der Paketverlust bei durchschnittlich 20 Paketen, die nach dem Handoff neu gesendet werden müssen. Medienprojekt Christoffer Cruse, Marko Wilde 7 Auswertung der Testszenarien 55 Abbildung 7.4: UDP Latenzen mit und ohne Route Optimization Abbildung 7.5: TCP Handoff Latenzen Medienprojekt Christoffer Cruse, Marko Wilde 7 Auswertung der Testszenarien 56 Abbildung 7.6: Darstellung der unterschiedlichen Latenzen der einzelnen Protokolle 7.2 Verhalten von Anwendungssoftware FTP Download Zum testen des Verhaltens eines FTP-Servers unter Mobile IP, wurde das Programm PureFTP verwendet. Dieser Server arbeitet mit allen gängigen Linux und BSD Distributionen zusammen. PureFTP ist ein sehr anpassungsfähiger Server. Diese Anpassungsfähigkeit erlaubt es dem Server auch das IPv6 Protokoll zu unterstützen. Neben dem FTP-Daemon welcher den FTP-Server startet, wurde zusätzlich eine graphische GUI mit dem Namen Pureadmin“ installiert. Diese Oberfläche erlaubt eine schnellere ” und einfachere Wartung des Servers. Alle benötigten Pakete sind in der Gentoo Portage enthalten und sind mit dem emerge“ Befehl auf dem Correspondent Node installiert ” worden. 1 2 3 # - emerge pureftpd # - emerge pureadmin # - pureadmin Listing 7.1: Befehle zum installieren und starten des PureFTP Servers Nach der Installation befand sich im /home“ Verzeichnis ein FTP“ Ordner. In ihm ” ” wurde ein 139 MB großes ISO-Image einer Kernel-CD hinterlegt. Sie diente als Traffic für den FTP-Server und wurde während der Messung vom Mobile Node heruntergela- Medienprojekt Christoffer Cruse, Marko Wilde 7 Auswertung der Testszenarien 57 den. Abbildung 7.7 zeigt die Ergebnisse der Messungen. Die Latenzen sind im Vergleich zu den zuvor gemachten Handoffs mittels des Ping6“ Befehls wesentlich länger. Wäh” rend des Handoffs unterbrach der FTP-Server den Datentransfer und führte ihn danach ohne Probleme fort. Nach Abschluss der Messung war die Kernel-CD vollständig auf dem Mobile Node und enthielt keine Fehler. Abbildung 7.7: FTP Latenzen beim Handoff Webserver Das Verhalten eines Webserver mit Mobile IP wurde mit dem Programm Lighttp getestet. Es handelt sich um einen kleinen und einfach zu konfigurierenden Webserver. Er ist in der Gentoo Portage enthalten und kann mittels des emerge“ Befehls in das System ” integriert werden. Die Konfiguration erfolgt über die Datei lighttp.conf“ im Verzeich” nis /etc/lighttp/lighttp.conf“. Es wurde mit einer minimalen Konfigurationsdatei ge” arbeitet, die schnell und einfach einen Webserver realisiert. In der Konfigurationsdatei wurde neben der IPv6 Adresse, Port und Stammverzeichnis auch das Quellverzeichnis der Webseite angegeben. Der genaue Inhalt der Config-Datei ist im Listing 7.2 dargestellt. Für den Traffic wurde eine Webseite erstellt. Der Inhalt bestand aus vier 3.5 MB großen Bildern, über 70000 Zeilen Text und einigen Hyperlinks. Beim herunterladen der Webseite während eines Handoffs, verhielt sich der Webserver genau wie der FTP- Medienprojekt Christoffer Cruse, Marko Wilde 7 Auswertung der Testszenarien 58 Server - der Aufbau wurde während des Netzwechsel gestoppt und danach fortgesetzt. Aufgrund der Verwendung von TCP Paketen unter HTTP können nicht empfangene Pakete einfach erneut gesendet werden. Dies hat zur Folge das keine Datenverluste auftreten. Dieser Aspekt bestätigte sich, da sogar nach mehreren Netzwechseln während eines Ladevorgangs die Webseite Fehlerfrei aufgebaut wurde. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 var . basedir = "/ var / www / localhost " var . logdir = "/ var / log / lighttpd " var . statedir = "/ var / lib / lighttpd " server . document - root = "/ var / www /" server . use - ipv6 = " enable " server . port = 3000 $SERVER [" socket "] == "[2001:1 af8 : fe85 :1000::20]:80" { server . document - root = "/ var / www /" } mimetype . assign = ( ". html " = > " text / html " , ". txt " = > " text / plain " , ". jpg " = > " image / jpeg " , ". png " = > " image / png " ) Listing 7.2: Serverkonfigurationsdatei des Lighttp Webservers VoIP Das Testszenario Voice over IP konnte leider im Rahmen unseres Medienprojektes nicht getestet werden. Grund hierfür war das fehlen einer IPv6 Unterstützung in den gängigen VoIP Clienten. Es wurden die Clienten KPhone 4.2-r1, Ekiga 3.2.6 und twinkle1.4.2 getestet. Es war zwar möglich unter IPv4 eine IP to IP Kommunikation mittels Ekiga herzustellen, jedoch scheitert dies bei IPv6. Auch die Anmeldung an einen SIPServer war nur über IPv4 möglich. Dies liegt daran das die derzeitigen SIP-Server der einzelnen Anwendungen nur das IPv4 Protokoll unterstützen. Medienprojekt Christoffer Cruse, Marko Wilde 8 Zusammenfassung 59 8 Zusammenfassung 8.1 Ergebnisse Mit diesem Medienprojekt ist es gelungen eine Testumgebung für Mobile IPv6 funktionsfähig aufzubauen. Durch verschiedene Testszenarien und Anwendungsbezogene Kompatibilitätsprüfungen, war es möglich das Verhalten von Mobile IPv6 zu überprüfen. Dabei kristallisierte sich schnell heraus, dass die Handofflatenzen für zeitkritische Anwendungen, wie zum Beispiel Streaming Dienste, zu hoch sind und dadurch die Anwendungenen schwer beeinträchtigt wären. Ferner zeigten die Tests auch, dass sich nicht zeitkritische Anwendung von Mobile IPv6 in ihrer Stabilität und Funktionsfähigkeit nicht beeinflussen lassen. Ein weiterer Aspekt den diese Arbeit darstellt, sind die theoretischen Lösungsansätze von Multicastimplementierungen in Mobile IP. Aufgrund der nicht vorhandenen praktischen Umsetzung, zu diesem Zeitpunkt, ist das Testen dieser Ansätze ein Ziel für spätere Arbeiten. 8.2 Ausblick Die Verbreitung von Mobile IP ist zu diesem Zeitpunkt noch sehr spärlich. Jedoch ist diese langsame Verbreitung kein Scheitern der Idee von Mobilität über Internetprotokoll. Viel mehr ist die geringe Nachfrage auf die Durchsetzung von IPv6 im Internet zu beziehen. Dies wird sich jedoch ändern, da die Umstellung immer mehr vorangetrieben wird. So ist besonders das verbessern der Latenzen, durch schnellere Handoffverfahren ein interessanter Aspekt, der in Zukunft die Leistungsfähigkeit von Mobile IP erhöhen wird. Lösungsansatz ist hier zum Beispiel die Mobile IP Fast Authentification. Eine Interessante Möglichkeit auch zeitkritische Anwendungen über Mobile IP zu betreiben. Auch die Sicherheit in Mobile IP ist für großen Netzwerke besonders wichtig. Da zur Zeit in der UMIP Implementierung keine Kryptographien oder Sicherheitszertifika- Medienprojekt Christoffer Cruse, Marko Wilde 8 Zusammenfassung 60 te vorhanden sind, stellen diese Lücken eine weitere Baustelle für spätere Versionen dieser Implementierung da. Ebenfalls erlaubt der offene Quellcode von UMIP Verbesserungen. So ist die Stabilität immer noch ein Problem und könnten durch Patches oder zusätzliche Erweiterungen behoben werden. Medienprojekt Christoffer Cruse, Marko Wilde 61 Anhang Medienprojekt Christoffer Cruse, Marko Wilde A Messungen 62 A Messungen Abbildung A.1: TCP Datenstrom Messungen - Correspondent Node sendet an Mobile Node Medienprojekt Christoffer Cruse, Marko Wilde A Messungen 63 Abbildung A.2: UDP Datenstrom - Correspondent Node sendet an das Mobile Node Medienprojekt Christoffer Cruse, Marko Wilde A Messungen 64 Abbildung A.3: Fremdnetz ins Fremdnetz - Correspondent Node sendet ICMPv6 Pakete an Mobile Node mit Router Advertisements von 0,3 Sekunden Medienprojekt Christoffer Cruse, Marko Wilde A Messungen 65 Abbildung A.4: Fremdnetz ins Fremdnetz - Correspondent Node sendet ICMPv6 Pakete an Mobile Node mit Router Advertisements von 0,03 Sekunden Medienprojekt Christoffer Cruse, Marko Wilde A Messungen 66 Abbildung A.5: Fremdnetz ins Fremdnetz - Mobile Node sendet ICMPv6 Pakete an Correspondent Node mit Router Advertisements 0,3 Sekunden Medienprojekt Christoffer Cruse, Marko Wilde A Messungen 67 Abbildung A.6: Fremdnetz ins Fremdnetz - Mobile Node sendet ICMPv6 Pakete an Correspondent Node mit Router Advertisements von 0,03 Sekunden Medienprojekt Christoffer Cruse, Marko Wilde A Messungen 68 Abbildung A.7: Heimnetz ins Fremdnetz - Correspondent Node sendet ICMPv6 Paket an das Mobile Node Abbildung A.8: FTP Datenstrom - Correspondent Node sendet an das Mobile Node Medienprojekt Christoffer Cruse, Marko Wilde Literaturverzeichnis 69 Literaturverzeichnis [6NET05] The 6NET Consortium, http://www.6net.org/book/ deployment-guide.pdf. An IPv6 Deployment Guide, September 2005. [ArDD04] J. Arkko, V. Devarapalli und F. Dupont. Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents. RFC 3776, http://tools.ietf.org/html/rfc3776, Juni 2004. [Bärw10] S. Bärwolf. Aufbau eines IPv6-basierten Testbeds zur Implementierung des Mobilitätsmanagementprotokolls MIFAv6. Diplomarbeit, TU Ilmenau, Januar 2010. [CDKF+ 02] B. Cain, S. Deering, I. Kouvelas, B. Fenner und A. Thyagarajan. Internet Group Management Protocol, Version 3. RFC 3376, http://tools.ietf. org/html/rfc3376, October 2002. [ChCh03] Hyun-Ho Choi und Dong-Ho Cho. Mobility Management Based on Mobile IP in Mixed IPv4/IPv6 Networks. IEEE, 2003, S. 2048–2052. [ChNo06] S. Chakrabarti und E. Nordmark. Extension to Sockets API for Mobile IPv6. RFC 4584, http://tools.ietf.org/html/rfc4584, 2006. [Corp04] Microsoft Corporation. Understanding Mobile IPv6, April 2004. Updated Januar 2007. [Corp06] Microsoft Corporation. TCP/IP-Grundlagen für Microsoft Windows - Anhang A: IP-Multicast. Technischer Bericht, Microsoft, http://www.microsoft.com/germany/technet/itsolutions/ network/evaluate/technol/tcpipfund/tcpipfund_appa.mspx, März 2006. [Online Check 08.02.2010 21:25 Uhr]. [Deer89] S. Deering. Host Extensions for IP Multicasting. RFC 1112, http:// tools.ietf.org/html/rfc1112, August 1989. Medienprojekt Christoffer Cruse, Marko Wilde Literaturverzeichnis 70 [DeFH99] S. Deering, W. Fenner und B. Haberman. Multicast Listener Discovery (MLD) for IPv6. RFC 2710, http://tools.ietf.org/html/rfc2710, October 1999. [DeHi98] S. Deering und R. Hinden. Internet Protocol, Version 6 (IPv6) Specification. RFC 2460, http://tools.ietf.org/html/rfc2460, Dezember 1998. [Deng08] H. Deng. Multicast tunneling optimization for Mobile IPv4. Internet Draft, December 2008. [DeWP05] V. Devarapalli, R. Wakikawa und A. Petrescu. Network Mobility (NEMO) Basic Support Protocol. RFC 3963, http://tools.ietf.org/html/ rfc3963, Januar 2005. [FeSe00] P. Ferguson und D. Senie. Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing. RFC 2827, http://tools.ietf.org/html/rfc2827, Mai 2000. [GiNH93] R. Gilligan, E. Nordmark und B. Hinden. IPAE: The SIPP Interoperability and Transition Mechanism. Internet Draft, http://tools.ietf.org/ html/draft-ietf-sip-ipae-transition-00, November 1993. [Gren03] Lars Grenzdörfer. Untersuchung existierender Implementierungen von Mobile IP. Studienarbeit, Technische Universität Ilmenau Fakultät Elektrotechnik und Informationstechnik, Februar 2003. Fachgebiet Kommunikationsnetze. [GuSh09] R. Gunasundari und S. Shanmugavel. Performance Comparison of Mobile IPv4 and Mobile IPv6 Protocols in Wireless Systems. IEEE COMSNETS 2009, 2009. [HiDe06] R. Hinden und S. Deering. IP Version 6 Addressing Architecture. RFC 4291, http://tools.ietf.org/html/rfc4291, Februar 2006. [JANE09] JANET (UK), http://www.ja.net/development/network-access/ mobile-ip/. Lancaster Mobile IP, 2009. [JoPA04] D. Johnson, C. Perkins und J. Arkko. Mobility Support for IPv6. RFC 3775, http://tools.ietf.org/html/rfc3775, Juni 2004. Medienprojekt Christoffer Cruse, Marko Wilde Literaturverzeichnis 71 [Kunt09] Romain Kuntz. nautilus6 Projekt. nautilus6.org, 2009. Nautilus6 Working Group, www. [Ligh10] Lighttp Projekt, http://www.lighttpd.net/. Lighttp, Februar 2010. [NNSS07] T. Narten, E. Nordmark, W. Simpson und H. Soliman. Neighbor Discovery for IP Version 6 (IPv6). RFC 4861, http://tools.ietf.org/html/ rfc4861, September 2007. [Perk98] Charles E. Perkins. Mobile IPv6 - Design Principles and Practices. Addison-Wesley Wireless Communications Series. Addison-Wesley. 2. Auflage, 1998. [Perk02] C. Perkins. Mobility Support for IPv4. RFC 3344, http://tools.ietf. org/html/rfc3344, August 2002. [Rodr97] Manuel Rodriguez. HP Mobile IP. Hewlett-Packard, http://www. hpl.hp.com/personal/Jean_Tourrilhes/MobileIP/index.html, August 1997. [STNJ03] W. Stevens, M. Thomas, E. Nordmark und T. Jinmei. Advanced Sockets Application Program Interface (API) for IPv6. RFC 3542, http://tools. ietf.org/html/rfc3542, Mai 2003. [ThNJ07] S. Thomson, T. Narten und T. Jinmei. IPv6 Stateless Address Autoconfiguration. RFC 4862, http://tools.ietf.org/html/rfc4862, September 2007. [TU H06] TU Helsinki, http://web.archive.org/web/20070929071348/http:// www.mobile-ipv6.org/. www.mobile-ipv6.org, März 2006. Webseite nur noch über http://web.archive.org erreichbar. [Univ07] Universität Bremen, http://www.mobileip.org. Mobileip.org, November 2007. [Univ09] Universita’ degli Studi di Napoli ”Federico II”, http://www.hpl.hp.com/ personal/Jean_Tourrilhes/MobileIP/index.html. Distributed Internet Traffic Generator, 2009. [Vogt06] C. Vogt. A Comprehensive and Efficient Handoff Procedure for IPv6 Mobility Support. IEEE International Symposium WoWMoM, 2006. Medienprojekt Christoffer Cruse, Marko Wilde Literaturverzeichnis 72 [WIDE09] WIDE organization, http://www.nautilus6.org/implementation/ index.php. Nautilus Project für Mobil IPv6, Februar 2009. [XiNa09] Jiang Xie und Uday Narayanan. Performance Analysis of Mobility Support in IPv4/IPv6 Mixed Wireless Networks. IEEE, 2009. [YaDW09] P. Yang, H. Deng und Q. Wu. Multicast tunneling optimization for Mobile IPv6. Internet-Draft, http://tools.ietf.org/html/ draft-yang-multimob-mip6-mc-tunnel-opt-02, Januar 2009. Medienprojekt Christoffer Cruse, Marko Wilde Abbildungsverzeichnis 73 Abbildungsverzeichnis 2.1 2.2 2.3 Aufbau einer IPv4 Adresse . . . . . . . . . . . . . . . . . . . . . . . . . MIPv4 Topologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MIPv6 Topologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 3.2 3.3 3.4 3.5 3.6 Blockdiagramm Handoff Prozess . . . Beispiel für ein Router Advertisement Aufbau Mobility Header . . . . . . . Binding Update an Home Agent . . . Binding Acknowledgement vom CN . Return Routability Procedure . . . . . . . . . . . . . . . . 11 13 15 17 18 19 4.1 4.2 4.3 4.4 4.5 4.6 4.7 Übersicht von IPv4 Multicast . . . . . . . . . . . . . . . . . . . . . . Abbildung einer Multicast IPv4 Adresse auf eine Pseudo Mac-Adresse Einkapselung von IGMP Mittelungen in ein IP-Datagramm . . . . . . Aufbau einer MLD Nachricht . . . . . . . . . . . . . . . . . . . . . . Aufbau der MPEF . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ablauf des Bidirectional Tunnelings in IPv6 . . . . . . . . . . . . . . Ablaufdiagramm eines optimierten Tunnels mittels eines MMA . . . . . . . . . . . 22 22 23 24 25 28 29 5.1 Datenformat eines IPv6 Router Advertisments . . . . . . . . . . . . . . 39 6.1 MIPv6 Testaufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 7.1 Durchschnittliche Handofflatenzen beim Wechel zwischen zwei Fremdnetzwerken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Handoffs zwischen Heimnetz und Fremdnetz . . . . . . . . . . . . . . . Paketverluste beim Wechseln zwischen zwei Fremdnetzen mit unterschiedlichen Routeradvertisementzeiten . . . . . . . . . . . . . . . . . . UDP Latenzen mit und ohne Route Optimization . . . . . . . . . . . . TCP Handoff Latenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . Darstellung der unterschiedlichen Latenzen der einzelnen Protokolle . . 7.2 7.3 7.4 7.5 7.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 6 7 52 53 53 55 55 56 Medienprojekt Christoffer Cruse, Marko Wilde Abbildungsverzeichnis 7.7 74 FTP Latenzen beim Handoff . . . . . . . . . . . . . . . . . . . . . . . . A.1 TCP Datenstrom Messungen - Correspondent Node sendet an Mobile Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2 UDP Datenstrom - Correspondent Node sendet an das Mobile Node . . A.3 Fremdnetz ins Fremdnetz - Correspondent Node sendet ICMPv6 Pakete an Mobile Node mit Router Advertisements von 0,3 Sekunden . . . . . A.4 Fremdnetz ins Fremdnetz - Correspondent Node sendet ICMPv6 Pakete an Mobile Node mit Router Advertisements von 0,03 Sekunden . . . . A.5 Fremdnetz ins Fremdnetz - Mobile Node sendet ICMPv6 Pakete an Correspondent Node mit Router Advertisements 0,3 Sekunden . . . . . . . A.6 Fremdnetz ins Fremdnetz - Mobile Node sendet ICMPv6 Pakete an Correspondent Node mit Router Advertisements von 0,03 Sekunden . . . . A.7 Heimnetz ins Fremdnetz - Correspondent Node sendet ICMPv6 Paket an das Mobile Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.8 FTP Datenstrom - Correspondent Node sendet an das Mobile Node . . 57 62 63 64 65 66 67 68 68 Medienprojekt Christoffer Cruse, Marko Wilde Abbildungsverzeichnis 75 Listingverzeichnis 3.1 3.2 Inhalt der CoT und HoT Init Nachrichten [JoPA04] . . . . . . . . . . . Inhalt der CoT und HoT Nachrichten [JoPA04] . . . . . . . . . . . . . 19 20 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 Kernel Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . Befehle für das Installerien von Umip-0.4 Daemons . . . . . . . . . . . mip6d.conf für den Home Agent . . . . . . . . . . . . . . . . . . . . . . mip6d.conf für das Mobile Node . . . . . . . . . . . . . . . . . . . . . . mip6d.conf für das Corespondent Node . . . . . . . . . . . . . . . . . . radvd.conf für den Home Agent . . . . . . . . . . . . . . . . . . . . . . mip6d.conf für den Foreign Access Point 1 . . . . . . . . . . . . . . . . mip6d.conf für den Foreign Access Point 2 . . . . . . . . . . . . . . . . Befehle zum starten Radvd Daemons in den Access Points . . . . . . . Startbefehle für die UMIP Implementierung beim Mobile Node . . . . . Startbefehle für die UMIP Implementierung und Radvd beim Home Agent Startbefehle für die UMIP Implementierung beim Correspondent Node 34 35 37 38 38 40 41 41 42 42 43 43 6.1 6.2 6.3 6.4 hostapd Konfiguration für AR1 . . . . . . Einstellen des IP Forwarding . . . . . . . . Routingtabelle des Backbone-Router . . . Script zum Wechseln der Subnetze alle 10s . . . . 46 46 47 48 7.1 7.2 Befehle zum installieren und starten des PureFTP Servers . . . . . . . Serverkonfigurationsdatei des Lighttp Webservers . . . . . . . . . . . . 56 58 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Medienprojekt Christoffer Cruse, Marko Wilde Tabellenverzeichnis 76 Tabellenverzeichnis 5.1 5.2 Verfügbare Mobile IPv6 Implementierungen . . . . . . . . . . . . . . . Verfügbare Mobile IPv4 Implementierungen . . . . . . . . . . . . . . . 32 33 Medienprojekt Christoffer Cruse, Marko Wilde Abkürzungsverzeichnis 77 Abkürzungsverzeichnis AR . . . . . . . . . . . . . . . . . ARP . . . . . . . . . . . . . . . CN . . . . . . . . . . . . . . . . . CoA . . . . . . . . . . . . . . . . CoT . . . . . . . . . . . . . . . . FA . . . . . . . . . . . . . . . . . FTP . . . . . . . . . . . . . . . HA . . . . . . . . . . . . . . . . . HoA . . . . . . . . . . . . . . . HoT . . . . . . . . . . . . . . . . HTTP . . . . . . . . . . . . . IANA . . . . . . . . . . . . . . ICMP . . . . . . . . . . . . . . ICMPv4 . . . . . . . . . . . . ICMPv6 . . . . . . . . . . . . IETF . . . . . . . . . . . . . . . IGMP . . . . . . . . . . . . . . IP . . . . . . . . . . . . . . . . . . ISO/OSI . . . . . . . . . . . MAC . . . . . . . . . . . . . . . MFA . . . . . . . . . . . . . . . MIPv4 . . . . . . . . . . . . . MIPv6 . . . . . . . . . . . . . MLD . . . . . . . . . . . . . . . MLR . . . . . . . . . . . . . . . MMA . . . . . . . . . . . . . . MN . . . . . . . . . . . . . . . . MPE . . . . . . . . . . . . . . . Access Router Adress Resolution Protokoll Correspondent Node Care-of Address Care-of Test Foreign Agent File Transfer Protocol Home Agent Home Address Home Test Hyper Text Transfer Protocol Internet Assigned Numbers Authority Internet Controll Message Protokoll Internet Controll Message Protokoll version 4 Internet Controll Message Protokoll version 6 Internet Engineering Task Force Internet Group Message Protokoll Internet Protokoll International Organization for Standardization / Open System Interconnection Reference Model Media Access Controll Adresse Multicast Foreign Agent Mobile Internet Protocol version 4 Mobile Internet Protocol version 6 Multicast Listener Detection Multicast Listener Report Multicast Membership Agent Mobile Node Multicast Preference Extension Medienprojekt Christoffer Cruse, Marko Wilde Abkürzungsverzeichnis 78 MST . . . . . . . . . . . . . . . MTU . . . . . . . . . . . . . . . NEPL . . . . . . . . . . . . . . RA . . . . . . . . . . . . . . . . . RFC . . . . . . . . . . . . . . . TCP . . . . . . . . . . . . . . . TTL . . . . . . . . . . . . . . . UDP . . . . . . . . . . . . . . . UMIP . . . . . . . . . . . . . . Multicast Service Tabelle Maximum Transmission Unit NEmo Platform for Linux Router Advertisements Requests For Comments Transmission Control Protocol Time To Life User Datagram Protocol UniverSAl playGround for IPv6 (USAGI)-patched MIPv6 for Linux VoIP . . . . . . . . . . . . . . . Voice over Internet Protocol Medienprojekt Christoffer Cruse, Marko Wilde Erklärung 79 Erklärung Die vorliegende Arbeit ist eine Kollektivarbeit. Von Herrn Christoffer Cruse wurden folgende Abschnitte bearbeitet: • 1. Einleitung • 2. Mobile IP • 3. Funktionsabläufe in Mobile IPv6 • 6. Testumgebung Von Herrn Marko Wilde wurden die Abschnitte • 4. Mulitcast in Mobile IP • 5. Mobile IP Implementierungen • 7. Auswertung der Testszenarien • 8. Zusammenfassung bearbeitet. Wir erklären, dass wir diese Arbeit selbständig durchgeführt und abgefasst haben. Quellen, Literatur und Hilfsmittel, die von uns benutzt wurden, sind als solche gekennzeichnet. Ilmenau, den 28. 02. 2010 Christoffer Cruse, Marko Wilde Medienprojekt Christoffer Cruse, Marko Wilde