Key–based Overlay Routing in Mobilen Ad–Hoc Netzen
Transcription
Key–based Overlay Routing in Mobilen Ad–Hoc Netzen
Key–based Overlay Routing in Mobilen Ad–Hoc Netzen Matthias Wählisch [email protected] 8. Mai 2006 Zusammenfassung Mobile Ad–Hoc Netze (MANETs) sind ein Feld aktueller Untersuchungen und Entwicklungen. Verteilte Hash–Tabellen (DHTs), schlüsselbasiertes Overlay Routing, gilt als Durchbruch in der effizienten Lokalisierung von Ressourcen. Obwohl DHTs als auch MANETs frei von Infrastruktur sind, können DHTs nicht unmittelbar in MANETs angewendet werden. Probleme und Chancen des Zusammenspiels wollen wir nachfolgend betrachten. 1 Einleitung Funkbasierte Netze stimulieren nicht mehr nur länger die Idee allgegenwärtiger Konnektivität, sondern sind im Alltag realisiert. Kabelfreie Campusnetze verbinden Studenten mit ihren Hochschulen, Stadtnetze ihre Bewohner mühelos untereinander. Dennoch bedürfen diese einer dedizierten Infrastruktur, damit die Endgeräte durch die Luft kommunizieren können. Mobile Ad–Hoc Netze (MANETs) brechen hingegen mit den Konzepten der Infrastrukturnetzwerke. Frei von zusätzlichen Komponenten auf der Verbindungsschicht gestatten sie die Bildung spontaner, funkbasierender Netze. Die Infrastrukturlosigkeit auf der Schicht 2 findet ihr Pendant auf der Applikationsschicht in Peer–to–Peer (P2P) Netzen. Stellten diese bisher eine Anwendung vor allem für Netze mit zugehörigen Vermittlungskomponenten dar, erweitern sie nun, dem Paradigma fehlender Infrastruktur folgend, MANETs. Teilnehmer in MANET–Netzen sind sowohl veränderlich bezüglich ihrer genauen Position in der Topologie als auch ihrer tatsächlichen Netzteilnahme. Der Aufbau von Client–Server–Strukturen ist für Anwendungen auf MANETs folglich ungünstig. In ihrer Funktion ausgezeichnete Rechner müssen in MANETs stärker denn je als Single Point of Failure betrachtet werden. Jedem Teilnehmer eines MANETs steht es per Definition frei, das selbige zu verlassen, so daß eine Sicherstellung der angebotenen Dienste nur aus einer möglichst vollständigen und effizient selbstheilenden Verteilung der Daten folgt. Der Ersatz serverbasierter Strukturen durch geeignete infrastrukturunabhängige Kommunikationsmodelle erweitert im Umkehrschluss den Anwendungshorizont von mobilen Ad–Hoc Netzen. Trotz ihrer konzeptuellen Ähnlichkeit müssen die technologieimmanenten Eigenschaften von MANETs und P2P–Netzen aufeinander abgestimmt werden. Das prinzipielle Problem der effizienten Lokalisierung von Ressourcen in P2P–Netzen scheint zwar durch Distributed Hash Tables (DHTs) gelöst, dennoch können eben jene nicht unmittelbar auf MANETs übertragen werden: 1 Geringe Bandbreiten, unzuverlässigere Verbindungen und die Forderung nach Energieeffizienz stehen dem im Wege. Verteilte Hash–Tabellen und MANETs verbindet aber nicht nur ein Kommunikationsparadigma. Beide treffen sich ebenfalls im Kontext der Mobilität. Es existieren zwei unterschiedliche Arten der ’Bewegung’, eine Veränderung der Anwendungsinformation zum einen, Mobilität im realen Raum zum anderen. Muss bei dem Ein- oder Austritt eines Teilnehmers der DHT das logische Netz (Overlay) neu strukturiert werden, bedingt die Bewegung eines Knotens im MANET die Reorganisation des physikalischen Netzwerks. Hierbei ist es von praktischer wie konzeptioneller Bedeutung, wie sichtbar Veränderungen auf der einen für die jeweils andere Schicht werden. Zwar sind DHTs entworfen worden, um robust gegen Teilnehmerfluktuation des Overlay–Netzes zu bleiben, doch ist keinesfalls evident, ob und wie gut sie Bewegungshäufigkeiten hervorgerufen durch Mobile Ad–Hoc Netze verkraften. Fragile und schwache Verbindungen zwischen MANET–Knoten sowie schnelle und grundlegende Wechsel der Topologie lassen Ursachen für inkonsistente DHT–Strukturen leicht vorstellbar werden. Umgekehrt ist die Frage zu beantworten, inwieweit MANETs eine zusätzlich durch DHTs erzeugte Verkehrslast bewältigen. Die vorliegende Arbeit orientiert sich also an dem dualen Problem, inwieweit MANETs DHT–basierte P2P–Strukturen unterstützen bzw. schlüsselbasiertes Overlay Routing auf MANETs sinnvoll zum Einsatz gelangen kann. Nachfolgend werden hierzu in Abschnitt 2 zwei Ansätze der Verteilten Hash–Tabellen mit ihren charakteristischen Eigenschaften erläutert. Abschnitt 3 verknüpft die gewonnen Erkenntnisse mit Untersuchungen aus dem Bereich der mobilen Ad–Hoc Netze und stellt aktuelle Ansätze, die auf bestehende DHTs rekurrieren und diese erweitern, vor. Schließlich wird in Abschnitt 4 eine Zusammenfassung und ein Ausblick gegeben. 2 Distributed Hash Tables in klassischen P2P–Netzen Das Auffinden von Ressourcen stellt in Rechnernetzen einen üblichen Vorgang dar. Es können dabei nicht nur die Ressourcen selbst, d.h. Dateien, Informationen u.ä. zentral oder dezentral abgelegt werden, sondern auch die Daten, um ihre Lokalisierung zu realisieren. Ziel ist es, zu einem ’Suchkriterium’, etwa dem Identifikationsschlüssel einer Ressource, den zugehörigen Speicherort, etwa einen Rechner zu finden. Hierzu muß die Zuordnung zwischen Rechner und Schlüssel den anderen Knoten an geeigneter anderer Stelle bereitgestellt werden. Dies geschieht in seiner einfachsten Form entweder durch Fluten der Informationen im gesamten Netz oder durch die Hinterlegung des Tupels auf einem zentralen Server. Beide Ansätze skalieren aber nicht mit der Anzahl der Teilnehmer, also etwa der Netzknoten. Das Fluten erlaubt zwar einen optimalen Speicheraufwand, da Knoten selbst über ihre Ressourcen informieren und folglich keine weiteren gespeichert werden müssen, steigt aber asymptotisch linear im Kommunikationsaufwand. Eine serverbasierte Vorgehensweise verhält sich genau entgegengesetzt. Ein üblicher Lösungsansatz in verteilten Informationssystemen liegt deshalb darin, die benötigten Informationen vorzustrukturieren und so zu verteilen, daß sie in logarithmischer Zeit aufgefunden werden können. Der DNS ist wohl das bekannteste Beispiel hierfür. Verteilte Hash Tabellen (Distributed Hash Tables, DHTs) erlauben ganz analog das effiziente Auffinden einer Ressource bei gleichermaßen günstiger Datenverteilung über mehrere Knoten. Der Aufwand beträgt bei n Knoten i. d. R. O(log n). Jeder Knoten innerhalb einer DHT verwaltet eine Menge an Zuordnungspaaren (Schlüssel, Rechner) und kann auf Anfrage effizient herausfinden, welche Knoten die restlichen Schlüsseln besitzen. Dazu wird mittels einer Hash– Funktion hash() sowohl der Ressourcenschlüssel (k ∈ K) als auch eine eindeutige Kennung, z.B. die IP–Adresse, der DNS–Eintrag oder der öffentliche Schlüssel des Rechners (v ∈ V ) auf 2 eine geordnete Menge (M ) abgebildet. Der Bildraum ist dabei für beide Datenquellen derselbe: hash : V, K → M . Knoten aus einem Rechnernetz sind demnach innerhalb der DHT mittels hash(v), einer applikationsspezifischen Adresse, identifizierbar. Verteilte Hash Tabellen zeichnet das effiziente Auffinden eines Schlüssels aus. Da die Schlüssel verteilt abgelegt werden, erstellt eine DHT zur Wegewahl eine vom darunterliegenden Rechnernetz abstrakte und unabhängige Struktur. Die Basis für eine Verteilte Hash–Tabelle entsteht, ähnlich zum physikalischen Verbinden von Rechnern, durch das Verknüpfen mindestens zweier Knoten anhand ihres DHT–Identifizierers. Die erzeugte Topologie hängt von der konkreten DHT ab [1]. Ein Netz entsteht über den darunterliegenden Schichten, ein Overlay–Netz. Darauf aufsetzend werden Routing–Tabellen für das logische Netz berechnet. Knoten eines DHT Overlay–Netzes besitzen somit entweder nur Informationen zur Weiterleitung eines Schlüssels an andere DHT–Knoten oder zusätzlich eine konkrete Zuordnung eines ihm übertragenen Schlüssels zu einem Rechner. Die Zuweisung eines Schlüssel zu einem Knoten des Overlay–Netzes nutzt die Ordnung des Bildraumes aus und basiert auf folgender Idee: Ein Schlüssel k und die zugehörige Rechneradresse wird dem Knoten v zugeordnet, der bezüglich seiner Overlay-ID den numerisch kleinsten Abstand zum Hash–Wert von k hat. Formal muß für v und k also gelten: hash(k) ≤ hash(v) und hash(v) ≤ hash(v 0 ), ∀ v 0 ∈ {v 0 |v 0 ∈ V, hash(k) ≤ hash(v 0 ) und Mitglied der DHT}. (1) Unter einer DHT wird also eine Datenstruktur verstanden, die einen Schlüssel verteilt speichert, einschließlich eines Algorithmus’, der das Routing zwischen den Knoten der DHT beschreibt, um die Auflösung zwischen Schlüssel und Referenz zu gewährleisten. Eine DHT wird ergänzt von einem Kommunikationsprotokoll, welches die Datenstruktur unterhält und die notwendigen Routing–Informationen austauscht. Im Folgenden werden die Routing–Ideen von zwei konkreten Implementierungen einer Verteilten Hash Tabelle, Chord [2] und Pastry [3], exemplarisch vorgestellt. 2.1 Chord Chord [2] verknüpft die Knoten innerhalb der DHT zu einem Ring. Für drei unterschiedliche Knoten u, v, w, des Overlay–Netzes gilt somit u < v < w. Auf diese Weise besitzt jeder Overlay–Knoten einen Vorgänger und Nachfolger, zu welchen er sich die (Vermittlungs–) Adressen der physikalischen Rechner merkt1 . Erhält nun ein Knoten eine Anfrage nach einem Schlüssel, könnte er diese entsprechend der Größe des Hash–Wertes links oder rechts entlang des Kreises schicken, falls er ihn nicht selbst auflöst. Da ein solches Vorgehen aufgrund des linearen Suchaufwandes ineffizient ist, pflegt ein Knoten in Chord zusätzlich eine Routing–Tabelle fester Länge m bestehend aus zwei Spalten, die so genannte Finger Table. Die erste Spalte enthält Werte, die folgender Vorschrift für die i−te Zeile entsprechen: hash(v) + 2i−1 (1 ≤ i ≤ m). Sie repräsentieren das Ziel einer Anfrage. Die zweite Spalte enthält folglich die Adresse des Knotens, der die Gleichung (1) für den jeweiligen Wert der ersten Spalte erfüllt. In der ersten Zeile wäre das der unmittelbare Nachfolger des Knotens im Ring. Bei einer Anfrage wird die Zeile ausgewählt, die analog zu (1) dem Wert der ersten Spalte entspricht oder dem nächst größeren zugeordnet werden kann. Da die Abstände der Hash–Schlüsselwerte in der Routing–Tabelle exponentiell größer werden, gelingt es einem 1 Im Internet also z.B. die IP–Adresse. 3 Chord–Knoten bei Anfragen zu besonders weit entfernten Schlüsseln im Ring besonders viele Overlay–Zwischenknoten zu überspringen und nahe Anfragen möglichst direkt zuzustellen. Augenscheinlich nimmt das Overlay Routing aber keinen Bezug auf die darunterliegende Schicht 2 oder 3 Topologie2 . 2.2 Pastry Im Gegensatz zu Chord wird in Pastry [3] beim Aufbau der Routing–Tabelle per se eine Metrik berücksichtigt, die die Entfernung zweier Knoten u und v (distvu ) in der physikalischen Topologie widerspiegelt, z.B. die RTT. Ein Knoten im aufgebauten Ring leitet eine Schlüsselanfrage also nicht mehr nur an einen numerisch dichteren Knoten im logischen Netz weiter, sondern auch an einen mit geringster Verzögerungszeit bezüglich des physikalischen Netzwerkes. Dazu besitzt ein Pastry–Knoten eine auf Präfixen basierende Routing–Tabelle. Kann es bei Chord per Definition pro Zieleintrag nur genau eine Möglichkeit zur Wegewahl geben, stehen in Pastry potentiell mehrere zur Verfügung. Hierzu verdeutlichen wir uns als erstes den Aufbau der Routing–Tabelle: Sei b die Basis des Zahlensystems, auf das die Hash–Funktion abbildet, und n die Anzahl an Ziffern der größt möglichen Zahl aus dem Bildraum. Sei ferner pref ix(m, ∗) eine Funktion, die auf die ersten m Zeichen eines Wertes abbildet mit pref ix(0, ∗) := kein Zeichen. Dann besitzt eine Routing–Tabelle n Zeilen und b Spalten, wobei jede Zelle in der i-ten Zeile und j-ten Spalte (1 ≤ i ≤ n, 1 ≤ j ≤ b) des Knoten v ∈ V und Mitglied der DHT folgende Semantik hat: Der Index approximiert mittels einer Transformation T (i, j) den Pastry–Schlüssel im Overlay, der Tabelleneintrag beinhaltet die korrespondierende Adresse im Rechnernetz. Die Indextransformation bildet die möglichen Präfixlängen des lokalen Knotenschlüssels und ist gegeben durch: T (i, j) = pref ix(i − 1, (hash(v)) · jb , mit z · jb =: z konkateniert mit j zur Zahlenbasis b. (2) Damit korrespondiert jede Spalte einer Zeile i mit den ersten i − 1 Zeichen des Hash–Wertes des Knotens. Weiterhin gibt es für jede Zeile eine Spalte l, die dem Wert des Knotens unter der Hash–Funktion in den ersten i Zeichen entspricht (T (i, l) = pref ix(i, hash(v))). Diese kann ignoriert werden, da sie auf den Knoten selbst referenziert. Auch wenn die Definition der Routing–Tabelle kompliziert erscheint, erlaubt sie durch die Rechenvorschrift den Zugriff auf die Einträge in konstanter Zeit3 . Die Einträge werden nun wie folgt erzeugt: Für ein Präfix P der Länge |P | stehen alle Knoten w aus der Menge M der bekannten Overlay–Teilnehmer zur Verfügung, für die gilt: pref ix(|P |, hash(w)) = P, mit w ∈ M. Gewählt wird der Pastry–Knoten w, welcher die geringste Latenz zu v hat, d.h. distvw < distvw0 , ∀ w0 . Dieses Verfahren zur Berücksichtigung der unterliegenden Topologie wird auch Proximity Neighbor Selection (PNS) genannt. Der eigentliche Routing–Algorithmus wählt nun auf Basis von (2) die Zelle aus der Tabelle, deren Präfix eine um eine Ziffer größere Übereinstimmung mit dem angefragten Schlüssel besitzt als der Hash–Wert des Knoten selbst. Einen solchen Eintrag muß es entsprechend der Definition 2 3 Eine direkte Erweiterung des Chord–Algorithmus’, der dies ermöglicht, wird am Rande in [1] vorgestellt. Damit beträgt die Größe der Routing–Tabelle O(b · log n). 4 geben und die Anfrage kann weitergereicht werden4 . Der Schlüssel wird also mit jedem Schritt um eine Präfixstelle näher an das tatsächliche Ziel geleitet. Um die Effizienz des Routing–Verfahrens zu erhöhen, besitzt jeder Knoten in Pastry zusätzlich eine Blattmenge (Leaf Set). In dieser speichert er eine feste Anzahl unmittelbarer links und rechts von ihm liegender Nachbarn im Ring. Tatsächlich konsultiert ein Knoten also seine Routing–Tabelle erst dann, wenn kein Knoten aus der Blattmenge die analog zu sehende Bedingung (1) für den Hash–Wert des gesuchten Schlüssels erfüllt, da dieser sonst direkt erfragt werden könnte. Typischerweise besteht die Blattmenge aus 16 oder 32 Knoten abhängig von der Größe des Bildraumes der Hash–Funktion [3]. Es ist augenscheinlich, daß je größer das Verhältnis zwischen der Anzahl abgespeicherter Knoten in der Blattmenge und Größe des Bildraumes der Hash–Funktion ist, desto mehr Anfragen können ihr Ziel unmittelbar erreichen. Pastry nutzt für seine Routing–Entscheidungen Informationen der Vermittlungsschicht. Wichtig ist dabei, daß die Einbeziehung des unterliegenden Netzes ausschließlich bezüglich der Wegewahl geschieht, aber die Struktur des Overlay–Netzes oder die Position eines Knotens innerhalb derselben unberührt bleibt. Abhängig von der benutzten Hash–Funktion und des Funktionswertes, also eines eindeutigen Identifizierers des Knotens im physikalischen Netz, können zwei im Ring benachbarte Knoten im ’realen Netz’ weit voneinander entfernt sein. Wir wollen nachfolgend erst einmal einige Eigenschaften der vorgestellten DHTs mit Blick auf das Verhältnis zwischen Overlay– und realer Pfadlänge betrachten. 2.3 Eigenschaften von Chord und Pastry Die Routing–Effizienz einer Verteilten Hash Tabelle wird von der Anzahl an nötigen Zwischenknoten im Overlay–Netz bis zum Ziel bestimmt. Dennoch fließt zusätzlich in die Gesamtverzögerungszeit die Dauer der Paketzustellung zwischen zwei Geräten im physikalischen Netz ein. Zählt man die zu traversierenden Knoten, ist deren Anzahl für das physikalische Netz immer größer oder gleich der Anzahl im logischen Netz. Selbst wenn eine ’numerische’ Korrespondenz zwischen der Vermittlungsadresse, bsp. der IP-Adresse und ihrer Abbildung über eine monotone Hash–Funktion herstellbar wäre, würde dies im Allgemeinen losgelöst von der physikalischen Geometrie sein. Zwei numerisch nahe IP–Adressen können in der Realität ’genauso weit’ auseinander liegen wie die Knoten eines Overlay–Netzes. Faktisch müßten z.B. topologische Metriken bei der Abbildung der Hash–Werte einbezogen werden. Weder Pastry noch Chord berücksichtigen in ihrer ursprünglichen Gestaltung bei der Konstruktion des Overlay–Netzes die Topologie der zugrundeliegenden IP–Infrastruktur. Ein Knoten im Chord–Netzwerk mit insgesamt n Teilnehmern benötigt O(log2 n) Routing– Informationen, um asymptotisch eine Anfrage in ebenso vielen Schritten aufzulösen [2]. Stoica et al. zeigen weiterhin, daß die mittlere Pfadlänge sogar bei (1/2) log2 n liegt. In einem Netz bestehend aus insgesamt 212 Overlay–Knoten müssen folglich im Durchschnitt 6 Chord–Knoten passiert werden, um denjenigen Knoten zu finden, der Kenntnis über die Zuordnung einer Ressource zum tatsächlichen Rechner hat. Die Verteilung der Pfadlängen im Overlay approximiert bei einer hinreichend großen Anzahl an Knoten eine Gaussfunktion. Gemäß [4] ist sie durch eine Binomialverteilung gegeben mit der Varianz log2 (n)/4. Diese Verteilung hängt nur logarithmisch von der Größe des P2P Netzes ab und ist scharf um den Mittelwert mit einer Streuung von p log2 (n)/4 konzentriert. Entsprechend bleibt das Routing–Verhalten weitgehend unbeeinflußt von der Overlay–Netzgröße und dem individuellen Sender–Empfänger Paar. Das Maß, welches die durch das Overlay–Routing hervorgerufene, zusätzliche Verzögerung 4 Es ist natürlich möglich, daß der mit dem Ziel verknüpfte Overlay–Knoten nicht erreichbar ist oder es aufgrund von Inkonsistenzen keine Verknüpfung gibt. Für die Behandlung solcher Sonderfälle sei auf [3] verwiesen. 5 beschreibt, wird als Delay Stretch bezeichnet [5, 6], [7]. Der Delay Stretch d ist das Verhältnis zwischen der aus den Routing–Schritten im Overlay resultierenden (physikalischen) Pfadlänge zweier Knoten (u, v) und der Distanz zwischen ihnen bei ’direkter’ Kommunikation im Rechnernetz: P distxy d := , mit ∀ x, y : Zwischenknoten im Overlay auf dem Weg von u nach v. distuv Die Chord–Topologie und das Routing nach [2] werden vollständig unabhängig von dem zugrunde liegenden Rechnernetz entwickelt. Aufgrund dieser Unabhängigkeit ergibt sich die mittlere Pfadlänge im Overlay zu d. Setzen wir voraus, daß der Adressraum im Rechnernetz gleichmäßig gefüllt wird, so erhält die in Chord benutzte Hash–Funktion diese Gleichverteilung. Entsprechend werden auch zwei benachbarte Overlay–Knoten als zufällig gewählte Teilnehmer im physikalischen Netz gefunden. Ihre mittlere Distanz entspricht der mittleren Distanz im Rechnernetz. Für Ad–Hoc Netze mit N Knoten, deren Topologie einem Random Graph entspricht, beträgt die mittlere Pfadlänge nach [8] O(ln N/ ln deg), wo deg den durchschnittlichen Grad der Knoten bezeichnet. Sind die √ Knoten des Ad–Hoc Netzes in einem rechteckigen Gitter angeordnet, erhöht sie sich auf O( N ) [8]. Diese beiden Geometrien stellen Extremfälle bezüglich der Topologiewahl dar. Für eine Gitterstruktur ergibt √ sich dadurch die mittlere Pfadlänge im Chord als Funktion der Ad–Hoc Netzknoten zu O( N (1/2) log2 n). Die logarithmisch gedämpfte Abhängigkeit von der Netzgröße geht damit verloren. Analog zu Chord ist in Pastry die erwartete Anzahl an Zwischenknoten im Overlay–Netz für eine Suchanfrage O(log n) [3]. Gemäß den tabellarischen Werten aus [4] ähneln sich die geometrischen Eigenschaften des Chord– und des Pastry–Graphen. Im Gegensatz zu Chord bezieht Pastry aber die physikalische Topologie beim Aufbau seiner Routing–Tabellen ein (vgl. Abschnitt 2.2). In [9] und [5] wird mittels Simulationen5 gezeigt, daß der Delay Stretch abhängig von der gewählten Topologie im Mittel zwischen 1, 37 und 2, 2 liegt. Auf der Basis realer Internetdaten ist d = 2, 2 mit einem Maximalwert von 6, 5 [9]. Pastry gelingt es hierbei, unabhängig von der Anzahl an Overlay–Knoten zu werden [5]. Die optimierenden Effekte der Proximity Neighbor Selection in Pastry wirken sich vorwiegend bei im Pastry Ring weit voneinander entfernten Knoten positiv aus (vgl. [9]). Nahe Knoten teilen ein längeres Präfix. Je länger aber das Präfix wird, desto weniger Overlay–Teilnehmer stehen prinzipiell für einen Routing–Eintrag zur Verfügung. Entsprechend sinkt die Wahrscheinlichkeit, einen physikalisch dichten Knoten auswählen zu können. Es ergeben sich also zwei Situationen: In Pastry ist zwar der Delay Stretch konstant und entkoppelt von der Größe des logischen Netzes, verändert sich aber mit der darunterliegenden Topologie. In Chord hingegen wächst d logarithmisch mit der Anzahl an DHT–Teilnehmern, bleibt aber unabhängig von der physikalischen Topologie. Ein günstiges Verhältnis von logischer und realer Pfadlänge ist nicht nur bei konkreten Suchanfragen relevant. Treten Teilnehmer einer DHT bei oder verlassen sie diese, müssen die Informationen über sie auf den anderen Knoten des Overlays aktualisiert werden. Schlüsselzuordnungen und Routen invalidieren. Den kontinuierlichen Prozess des An- und Abmeldens von Teilnehmern bezeichnet man als Churn [10], [11], [12]. Der Terminus bleibt aber ohne eine konkrete Metrik vage. Die Sitzungszeit, d.h. die Zeit zwischen einem Bei- und Austritt, oder die gesamte Lebenszeit, also die Zeit zwischen dem ersten An- und dem letzten Abmelden, stellen dafür nur zwei Beispiele dar (vgl. [10]). Im Allgemeinen umfasst der Ausdruck weiterhin auch solche Knoten, die gezwungen durch Abstürze, Überlast, u.ä. ausscheiden. Eine Unterscheidung 5 Die Autoren verwenden bis zu 60.000 Pastry–Knoten. 6 dazwischen ist wichtig, denn geschieht das Verlassen der DHT, wenn auch nur zeitweilig ungewollt, halten Nachbarn zumindest für diese Dauer falsche Informationen der verzeichneten Wege. Um Fehlerzustände zu korrigieren, teilen sich die Knoten einer DHT regelmäßig ihren Status mit. Basierend auf Simulationen haben Li et al. einen Kompromiss zwischen den Kosten zur Aufrechterhaltung einer adäquaten Suchantwort und dem dafür nötigen Kommunikationsaufwand sowie die dafür nötigen DHT–Einstellungen ermittelt [11]. Die gesamtheitlichen Faktoren, also die das logische sowie das physikalische Netz betreffen und zum Einbruch der Effizienz führen, wurden in [10] untersucht. Die Autoren haben das Verhalten der DHT in einem Netzwerk vollständig emuliert, so daß Auswirkungen von z.B. hoher Verkehrslast auf das Verhalten der DHT und damit das Zusammenspiel beider Netze zu erkennen sind. Es wurden drei charakteristische Eigenschaften identifiziert: Timeouts, die Reaktion im Fehlerfall (reaktiv vs. periodisch) und das Einbeziehen der physikalischen Topologie in das Overlay Routing Verhalten. Hiervon wollen wir die ersten beiden genauer betrachten. Sind Zeitmesser (Timeouts) zu kurz eingestellt, folgert ein Knoten fälschlich auf einen Fehlerfall und initiiert unnötig einen neuen Weg. Dieser Weg ist vor allem bei der Verknüpfung des Overlay Routings mit Eigenschaften der physikalischen Topologie mit hoher Wahrscheinlichkeit schlechter und damit die Pfadlänge größer. Unabhängig davon führt es zu einem höheren Verkehrsaufkommen, welches insbesondere dann zu vermeiden ist, wenn die Antwort aufgrund von Stauphänomenen nicht angekommen ist. Der Knoten ist eigentlich noch Teilnehmer des Netzes, die Nachricht womöglich schon auf dem Weg, wird aber nicht innerhalb der konfigurierten Zeit zugestellt. Sind diese aber zu lang, wartet der Anfragende, obgleich das Ziel unfreiwillig nicht mehr im Overlay teilnimmt. Bei Chord wächst die mittlere Verzögerungszeit deutlich superlinear als Funktion abnehmender mittlerer Sitzungszeit [10]. Ein weiteres Charakteristikum ist das Vorgehen zur Aktualisierung der Knoteninformationen. Sendet ein Teilnehmer reaktiv seine Informationen, führt das gerade bei Staus zu ungewollten Zyklen: Ein Teilnehmer erfährt über seine Nachbarn nichts, führt eine Wiederherstellung seiner Tabellen durch und löst somit einen Verkehrskollaps auf seiner Netzschnittstelle aus, wodurch er noch weniger Informationen erhält. Dies kann zu einem Einbruch der Erfolgsquote von bis zu 80% beim Auflösen von Anfragen führen [10]. Im Gegensatz dazu verringert der reaktive Mechanismus das Verkehrsaufkommen bei einem geringen Churn um die Hälfte (vgl. [10]) im Vergleich zu einem periodischen Algorithmus, da Daten nur bei einer wirklichen Veränderung ausgetauscht werden. Die Untersuchungen [10] und [11] zeigen, daß verteilte Hash–Tabellen unter einem hohen Teilnehmerwechsel prinzipiell benutzbar sind. Ihr Funktionieren bedingt jedoch eine geeignete Einstellung der Funktionsparameter. Diese sind zum Teil deutlich von der zugrunde liegenden Infrastruktur abhängig. Keineswegs zu vernachlässigen sind also die durch die unterliegenden Schichten hervorgerufenen Effekte, genauso wie das Verhältnis von Kosten und Nutzen. 3 Mobilitätstaugliche Distributed Hash Tables Die Sitzung eines Teilnehmer klassischer P2P–Netze dauert zwischen 20 Sekunden und einer Stunde [10]. Knoten in DHT–Netzen sind gleichsam ähnlich flüchtig wie sich bewegende Geräte eines MANETs. Wird dies auf der einen Seite durch die Applikation bedingt, ist es auf der anderen Seite physikalischer Natur und wirkt unmittelbar auf darüberliegende Schichten. Sowohl DHTs als auch MANETs müssen robust gegen die (unvorhersagbare) Mobilität ihrer Anwender sein. Berücksichtigt das eine Netz für seine Kommunikation, z.B. Interferenzen, versteckte oder ausgelieferte Endgeräte, handelt es sich bei dem anderen um die ungewollte Terminierung der 7 Anwendung. Ferner repräsentieren sie eine ähnliche Kategorie an Ausstattung und Aufgaben: Es handelt sich um Endgeräte, die in ihrer Leistung als nicht spezialisiert betrachtet werden dürfen, aber zusätzlich ’gemeinnützige’ Aufgaben wahrnehmen, wie das Vermitteln von Anfragen. Hierzu benötigt ein Knoten des Overlay–Netzes ein gleichermaßen günstiges Verständnis der Topologie wie sein Pendant im MANET. 3.1 Probleme Funkbasierende Ad–Hoc Netzwerke (Multihop Networks) bringen eine Beschränkung des Ende zu Ende Durchsatz abhängig von ihrer Knotenanzahl mit sich. Nach Gupta und Kumar läßt sich der Durchsatz zwischen zwei Knoten, in dem jeder√auch die Funktion eines Router übernimmt, für ein Netzwerk mit n Teilnehmer mittels O(1/ n) abschätzen [13]. Demnach approximiert die Vermittlungskapazität langsam die Null in wachsenden MANETs. MANETs sind per se also nicht beliebig skalierbar. Der Grund hierfür liegt darin, daß die Teilnehmer mehr mit dem Weiterleiten der Pakete anderer Knoten beschäftigt sind, als daß sie eigene Daten auf den Weg schicken können. Diese Analyse setzt voraus, daß die Kommunikation innerhalb des MANETs in der Regel zwischen zwei entsprechend dem Durchmesser des Netzes entfernten Knoten stattfindet, so daß das Verkehrsaufkommen aus Sicht eines Knotens tatsächlich von seiner Umgebung statt von ihm selbst stammt. Bleibt aber die zurückgelegte Kommunikationsdistanz klein, ’zerfällt’ das MANET also in Teile, in denen weitestgehend lokaler Datenaustausch stattfindet, sinkt der administrative Verkehr für jeden einzelnen Knoten und die Annahme muß relativiert betrachtet werden [14], [15]. Gleichwohl muß bei der Betrachtung die zusätzliche, durch Routing–Aufgaben hervorgerufene Last Berücksichtigung finden. Darüber hinaus ist die Frage relevant, wie sich die DHT–Struktur in die MANET–Topologie einbettet. Da nun MANETs und Overlay–Netze beide Mobilität und Instabilität von Knoten unabhängig voneinander hervorrufen, gilt es die Frage der Aufschaukelung bzw. des Ausgleichs zueinander ebenfalls zu beantworten. Sei etwa die Lebenszeit der MANET–Knoten Tα exponentialverteilt mit Mittelwert 1/α und TDHT die Lebenszeit der DHT–Knoten. Dann ermittelt sich die Verteilung der Gesamtlebenszeit zu Pr(min(Tα , TDHT ) > t) = Pr(Tα > t) · Pr(TDHT > t) = e−α·t · Pr(TDHT > t), (3) d.h. die Überlebenswahrscheinlichkeit sinkt mit dem Exponentialfaktor e−α·t . 3.2 Lösungsansätze 3.2.1 Back–Up Chord Backup–Up Chord [16] und das hybride Chord Protokoll [17] behandeln ihren Ideen nach von MANETs losgelöste Probleme. Ziel von Back–Up Chord ist es, sowohl das ungewollte Austreten eines Knotens aus dem Chord–Ring zu registrieren, als auch seine gespeicherte Schlüsselmenge unmittelbar an den entsprechend Gleichung (1) existierenden neuen Knoten zu übermitteln. Hierzu wird für jeden Knoten v genau ein Stützknoten w (Backup–Knoten) definiert, derart daß hash(w) den numerisch kleinsten Abstand zu hash(hash(v)) besitzt. Der Knoten v teilt w sowohl seine gesamte Schlüsselmenge, als auch seine Vorgänger und Nachfolger im Ring mit. Folglich kennt w denjenigen Knoten, der nach dem Ausscheiden für die Schlüssel verantwortlich ist, den Vorgänger von v. Durch ein regelmäßiges Funkfeuer (Beacon) wissen v und w um ihre gegenseitige Existenz im Ring. Die auf einer wenig komplexen Simulation beruhende Evaluation von maximal 16 bzw. 100 Knoten zeigt eine Verbesserung gegenüber dem in Abschnitt 2.1 8 behandelten Chord von maximal 38% bei einem mittleren Ausscheiden von 1000 Knoten pro Sekunde [16]. Es ist also davon auszugehen, daß ein physikalischer Knoten mehreren logischen entspricht6 . Generell schlagen die Autoren einen reaktiven Widerherstellungsmechanismus vor. Aus [10] wissen wir aber, daß ein unmittelbares Reagieren auf einen Fehler in realen Netzen zu nachteiligen Effekten führt. Für MANETs mit ihren schwankenden Netzparametern gilt das im Besonderen. Ferner lassen die Autoren ungeklärt, wie die Chord–Konfigurationsgrößen eingestellt wurden. Nach [11] läßt sich damit alleine schon eine Verbesserung des Suchverhaltens um mehrere Größenordnungen erreichen. Schlussendlich stellt sich die Frage nach dem Chord Back–Up spezifischen Beacon–Intervall. Offensichtlich entscheidet dieses maßgeblich über die Güte des Algorithmus und ist nicht trivial zu beantworten mit Blick auf Verkehrslast und einem in MANETs per se fluktuierenden Antwortverhalten. Der in [16] vorgeschlagene Ansatz mag zwar die Trefferhäufigkeit bei volatilen Benutzern erhöhen, bleibt aber für MANETs ungeeignet. 3.2.2 Das Hybrid Chord Protocol Das Hybride Chord Protokoll (HCP) verfolgt zwei andere Ansätze: die semantische Erweiterung der hinterlegten Schlüssel und damit eine kostengünstigere Suche sowie die Fixierung der Objektreferenzen [17]. Dafür führen die Autoren Informationsprofile (Info Profiles) ein und kategorisieren die Knoten des Overlay–Netzes als statisch oder temporär. Ein Informationsprofil entspricht einem klassischen (Schlüssel, Rechner) Tupel, erweitert um die Möglichkeit, mehrere Schlüsselwörter aufzunehmen, einen Objektnamen u.a. Attribute zu halten. Den bekannten Prinzipien folgend (vgl. Abschnitt 2) verwaltet jeder Overlay–Knoten die Objekte, zu denen er bezüglich des Schlüsselwortes unter der Hash–Funktion den numerisch kleinsten Abstand hat. Da in HCP einem Objekt mehrere Schlüsselwörter zugeordnet sein können, existieren Knoten, die das gleiche Informationsprofil besitzen. Zöls et al. gehen nun davon aus, daß eine Suche nicht mehr nur der Lokalisierung einer einzelnen Entität dient, sondern sich die Anfrage auf einen Kontext bezieht, hergestellt z.B. durch die Verbindung der Schlüsselwörter. Bei einer herkömmlichen DHT müßten alle zu einem Desiderat gehörenden Knoten angefragt werden. HCP minimiert hingegen (ausschließlich) für die boolesche AN D Verknüpfung die Anzahl der zu kontaktierenden Overlay–Teilnehmer auf eins, da für sie per Definition gilt: Gibt es auf einen Knoten Informationsprofile mit dem Schlüsselwort k, sind auch darunter diejenigen mit k ∧ k 07 . Informationsprofile werden nicht auf alle Knoten des Overlays verteilt. Ausgehend von der Überlegung, daß das Verschieben von Objektreferenzen Netzwerklast erzeugt und in MANETs die Mobilität besonders häufig dazu führt, unterteilen Zöls et al. die Knoten in temporäre und statische. Als statisch werden Knoten mit hoher Anwesenheit im HCP–Ring bezeichnet, als temporär alle anderen [17]. Demnach müssen im besten Fall nach der Trennung eines (temporären) Teilnehmers vom Ring nur die Routing–Tabellen eine Aktualisierung erfahren. Allen temporären Knoten ordnet der Algorithmus über die reguläre Nachfolgerbedingung jeweils eine feste Anzahl an statischen Knoten zu, so daß bei einer Anfrage lediglich auf die statischen HCP–Knoten weiter verwiesen werden muß. Zöls et al. evaluieren ihr Protokoll analytisch, indem sie die durch Verschiebung der Informationsprofile erzeugte durchschnittliche Verkehrslast (λ) für einen Knoten in Chord und HCP berechnen. Die Reduzierung ist für λHCP proportional zu dem Verhältnis (β) zwischen mittlerer Sitzungslänge eines Knotens und der eines statischen [17]. Anders ausgedrückt: Gibt es (statische) Knoten, die um einen Faktor β seltener wechseln und die Objektreferenzen halten, sinkt die betriebene Kommunikation um diesen Faktor. Arithmetisch ist dies zwar richtig, bedarf aber dennoch eines Kommentars. Jeder Knoten in 6 7 Eine genauere Beschreibung der Simulation liegt nicht vor. Es ist klar, daß bei der OR Verknüpfung wiederum alle Knoten befragt werden müssen. 9 Chord besitzt im Mittel O(m/n) Informationsprofile m und O(m/x · n) in HCP mit 0 < x < 1, dem Anteil der statischen Knoten an der Gesamtknotenmenge n [17]. Generell hält damit ein statischer Teilnehmer in HCP mehr Schlüssel. Wechselt dieser, sind die maximalen Kosten pro Knoten natürlich höher als beim herkömmlichen Chord. Da temporäre Knoten als Vermittler im MANET dienen, werden sie mit O(m/x · n) stärker belastet als gewöhnlich. Unklar bleibt, wie genau und woran ein Overlay–Teilnehmer als statisch ausgezeichnet wird. In [18] ist dies etwas präziser ausgeführt. Neben der Einbeziehung konkreter Hardware–Ressourcen ist es eine auf realer P2P–Daten gründende Beobachtung in [19], die besagt: Je länger ein Knoten Mitglied des Overlay für x Minuten ist, desto wahrscheinlicher bleibt er das für x + 60 Minuten. Das gilt zwar für kabelgebundene Netze, aber nicht für MANETs. Interferenzen u.ä. (vgl. auch [20]) lassen diese Gewissheit nicht vermuten und führen in jedem Fall zu einem unfreiwilligen Ausscheiden zusätzlich zum Churn (vgl. Gleichung (3)). Das Verschieben der Objektreferenzen mag zwar für einen temporären Knoten entfallen, wird aber zugunsten einer größeren Fehlerwahrscheinlichkeit beim Suchen aufgegeben, da die Schlüssel nicht mehr homogen, sondern nur noch auf die (potentiell ebenfalls ausfallenden) statischen Knoten verteilt. Insofern ist die von Zöls et al. vorgenommene Analyse irreführend, da sie statisch argumentieren. Unberücksichtigt bleiben insbesondere alle Aufwendungen, welche sich aus einer fehlerhaften Kategorisierung der Knoten ergeben. HCP muß, wie andere DHTs auch, unter zwei Perspektiven betrachtet werden: der Schicht 2 und 7 Mobilität. Die daraus resultierenden und jeweils überwiegenden Kosten sind ohne weitere Annahmen nicht entscheidbar. Sie hängen von der Anwendung ab. So läßt sich als Applikation für eine DHT ein Infrastrukturdienst überlegen, wie z.B. das DNS, der bezüglich des Churn wenig volatil ist, aber in einem hoch mobilen MANET betrieben wird. Dem entgegengesetzt wären z.B. Stadtnetze, bei denen die Zugehörigkeit zum Overlay durch die Benutzung von etwa File Sharing Diensten bestimmt und die Teilnahme am MANET vom angeschalteten Rechner festgelegt wird. 3.2.3 Ekta In MANETs fungiert jeder Knoten als Router und besitzt somit umfangreichere Routing– Einträge des Ad–Hoc Netzes. Diese sind mit zunehmender Bewegung der Endgeräte weniger persistent: einzelne Einträge verändern ihre Güte oder verfallen ganz. Pakete der Applikationsschicht können dementsprechend entweder gar nicht oder nur verzögert zugestellt werden, da erst eine neue Unicast Route ermittelt werden muß. Ekta [21], eine für MANETs konzipierte Erweiterung von Pastry, steuert deshalb den Aufbau seiner Overlay Routing–Tabelle über die Vermittlungsschicht unter der Voraussetzung, daß alle Knoten des Rechnernetzes auch Teil des logischen Netzes sind und der Hash–Wert ihrer IP–Adressen8 als Identifizierer dient. Jede Zelle der Overlay Routing Tabelle speichert nicht mehr nur einen Eintrag, sondern alle für den Präfix bekannten. Die Ekta–Teilnehmer verwenden als Ad–Hoc Routing Protokoll Dynamic Source Routing [22], demgemäß für eine (physikalische) Route alle Knoten zwischen Sender und Ziel gespeichert werden. Gibt es eine Anfrage an die Ekta Routing Tabelle, werden alle gefundenen Einträge an die Ad–Hoc Routing Tabelle weitergereicht. Diese wählt unter den kürzesten Pfaden den aktuellsten Weg auf der Grundlage ihrer Daten aus. Neue Source und damit Ekta Routen werden u.a. über das Mithören von Paketen gelernt. Das im Pastry verwendete aktive Messen der RTT entfällt und vermindert die administrative Verkehrslast. Der Vorteil von Ekta liegt in der späteren Ermittlung der zu verwendenden Unicast Route 8 Wir gehen hier von der IP–Adresse aus. Im Allgemeinen ist es die zur Vermittlung benutzte Adresse, also z.B. auch die MAC–Adresse. 10 für einen Overlay–Schlüssel, auch als Late Binding bezeichnet. Der physikalische Knoten wird genau dann bestimmt, wenn er benötigt wird. Das ist in Ekta möglich, weil eine stärkere Interaktion der Schichten untereinander stattfindet und Ekta als Knotenidentifizierer im Overlay die IP–Adresse unter der Hash–Funktion benutzt. In einem klassischen schichtenbasierten Ansatz bezieht die DHT ihre Routing–Informationen durch das Overlay. Die Knoten des Overlays tauschen Routen aus, d.h. Hash–Werte und dazugehörige IP–Adressen. Das Aufweichen der Schichten hingegen bedeutet, daß ein logischer Knoten das ’reale’ Rechnernetz wahrnimmt. Er verwertet Informationen darunterliegender Protokolle, in diesem Fall der Schicht 2 bzw. 3 unmittelbar. Ekta profitiert somit von Paketen, die nicht von der DHT erzeugt wurden. Das wiederum ist nur dann möglich, wenn es ein Bindeglied zwischen den Schichten gibt, das Overlay also anhand der IP–Adresse auf einen logischen Knoten folgern kann. Folglich müssen aber auch alle Geräte des physikalischen Netzes Bestandteil des Overlays sein, da auf Basis der Pakete und der damit erhaltenen Information keine Unterscheidung zwischen beiden Netzen gemacht werden kann. Ekta gewinnt also Informationen von allen, eine Source Route beinhaltenden Paketen. Die Routing–Tabelle der Applikationsschicht ist dementsprechend genauso aktuell wie die der Vermittlungsschicht. Obgleich in Ekta die Schichten transparenter werden, bleiben sie sichtbar. Ekta verwaltet weiterhin die DHT–Logik und damit das Routing im Overlay. Abstrahiert erhält die DHT mittels eines Push–Mechanismus’ alle eintreffenden Source Routen. Diese ordnet sie den jeweiligen Zellen zu, da sie und nicht die Vermittlungsschicht um die Abbildung zwischen Rechner– und Overlay–Netz weiss. Um die Kosten, d.h. die Menge der auszutauschenden Daten zwischen den Schichten gering und aktuell zu halten, ist es erforderlich, daß sich Ekta mehr als einen Eintrag pro Zelle vermerkt. Invalidiert eine Source Route nutzt Ekta einfach die verbleibenden Zelleinträge. Wäre die Anzahl an Einträgen wie im herkömmlichen Pastry auf eins beschränkt, müßte Ekta mittels Pull im Fehlerfall die gesamte Ad–Hoc Routing Tabelle erfragen. Ein solches Verhalten würde mit der Menge an Abfragen und der Routing–Tabelle des Ad–Hoc Netzes skalieren statt mit konstanter Zeit. Umgekehrt ist es möglich, die Logik der DHT auch der Vermittlungsschicht bekannt zu machen. Damit entfallen aber modularisierte Kombinationen zwischen Ad–Hoc Routing Protokollen und Verteilten Hash Tabellen. Das wäre insofern ungünstig, als daß gerade bei MANETs mit ihrer starken Anwendungsbezogenheit situativ Vermittlungsprotokolle auszusuchen sind. Abhängig von der Aufgabe und der daraus folgenden Mobilität, kann z.B. das Ad hoc On-Demand Distance Vector Routing oder Dynamic Source Routing besser geeignet sein, wobei die DHT beiderseitig implementiert werden müßte, statt nur Primitive zur Verfügung zu stellen. Pucha et al. evaluieren Ekta im Vergleich zu einem modifizierten Pastry9 . Die initiale Phase des Anschließens an den DHT–Ring wird angepaßt und die Proximity–Metrik wird durch die Länge der Source Route Vektoren via DSR bereitgestellt [21], um grundlegende Eigenschaften von MANETs zu berücksichtigen. Das Dynamic Source Routing Protokoll wird unter der Verwendung eines Path Caches 10 und eines Link Caches 11 betrieben. Welchen Modus Ekta benutzt, beschreiben die Autoren nicht. Die Erfolgswahrscheinlichkeit einer Schlüsselanfrage schwankt bei Ekta zwischen 98% und 100% und ist damit im Prinzip unabhängig von dem Bewegungsverhalten der Geräte in einem von Yoon et al. erweiterten Random Waypoint Modell für MANETs. In dem von den Autoren verwendeten Pastry hingegen verringert sich die Erfolgswahrscheinlichkeit bei sehr hoher Mobilität auf bis zu 35%, wobei dies unabhängig vom 9 Ferner untersuchen die Autoren das Verhalten für eine spezielle Anwendung der DHT, Resource Discovery. Hierfür sei auf [21] verwiesen. 10 Die Wege werden sich pfadweise gemerkt. 11 Ein (Teil–)Graph des Ad Hoc Netzes wird gespeichert. 11 verwendeten DSR–Modus ist. Ekta profitiert demnach vom Erfolg des Routing–Protokolls, Pastry hingegen ist auf das Ausaltern vorhandener Overlay–Einträge angewiesen. Als weitere Größen betrachten Pucha et al. die durch das Overlay–Routing entstandenen Unkosten (Overhead ) und die mittlere Verzögerungszeit bei der Beantwortung einer Anfrage. Diese sind mit höherer Mobilität für alle drei Ansätze steigend. Die Werte unterscheiden sich bei größter Mobilität um ca. den Faktor fünf zwischen Ekta/DSR Link Cache und DSR Path Cache [21]. Mit Blick auf [23] ist also davon auszugehen, daß ein Ekta–Knoten auf der Grundlage einer linkbasierten Cache–Strategie für DSR operiert. Die Ergebnisse bedürfen einer Erklärung. Tatsächlich läßt sich mit ihnen nicht nur die Frage beantworten, ob ein schichtenorientierter Ansatz besser geeignet ist oder nicht, sondern auch, wie stark das Ad–Hoc Routing–Protokoll Einfluß auf die Güte der DHT hat. Das Verhältnis von erfolgreicher zu misserfolgter Schlüsselanfrage wird demnach maßgeblich von der eingesetzten Architektur dominiert. Partizipiert Ekta an den per se vorhandenen Paketen im Netz, um sie für den Aufbau seiner Routing–Tabelle zu verwenden, bleibt es robust gegenüber einer hohen Bewegung. Passiert dies nicht, unterliegt es analog zu den in statischen Netzen auftretenden Problemen bei hohem Churn im Internet. Das folgt unmittelbar aus [10] und [21]. Augenscheinlich verändern sich aber auch nicht die Kosten zur Aufrechterhaltung der DHT–Tabellen. Diese bleiben, bei Akzeptierung entsprechender Qualität, gleich und werden vom Ad–Hoc Routing Protokoll bestimmt (vgl. [21] mit [23]). Ekta kann als einfachste Anpassung von Pastry an MANETs verstanden werden. Die DHT nimmt Rücksicht auf eine angemessene Metrik zur PNS und nutzt die in MANETs verfügbaren Daten, um Mobilität auf Schicht 2 und 7 gleichermaßen zu kompensieren, um den Preis, daß alle Teilnehmer des MANETs auch Knoten des Overlay sein müssen. 3.3 Anmerkungen Die vorgestellten Konzepte zur Verwendung von DHTs in MANETs nutzen verschiedene Ansätze aus, um Key–based Overlay Routing für MANETs zu optimieren. Back–Up Chord legt die Schlüssel redundant ab, so daß trotz Ausfall eines Knotens die Objektreferenzen abrufbar bleiben. Die Autoren wirken damit nur fehlender Verfügbarkeit entgegen, die DHTs selbst bei stark volatilen Benutzern originär überwinden. Im Kontext von MANETs ist der von Jeong et al. vorgeschlagene Ansatz damit sogar kontraproduktiv, da er eine doppelte Verkehrslast erzeugt, die es in Ad–Hoc Netzen zu reduzieren gilt. Die Effizienz der verfolgten Lösung skaliert bei fehlenden Voraussetzungen zudem nur mit der Anzahl an Back–Up Knoten. HCP versucht hingegen, das Problem fluktuierender Benutzer zu reduzieren, indem es die Schlüssel der Ressourcen nur auf Knoten mit einer hohen Lebenszeit verteilt. Dies setzt voraus, daß Knoten mit höherer Lebenszeit mit einem geeignet Grad an Zuverlässigkeit identifizierbar sind. Die Begründung der Autoren hierfür ist nicht korrekt. Die Voraussetzungen sind falsch. Die Analyse läßt dynamische Prozesse und Fehlvorhersagen in der Zuverlässigkeit außer Acht. Sie suggeriert, daß ein Ergebnis äquivalent zu einer generellen Verlangsamung aller Knoten erreicht werden kann, was offensichtlich nicht stimmig ist. Insbesondere muß das Zusammenwirken von Churn und MANET bedingtem Wechsel untersucht werden. Kann man aus der Lebenszeit im Overlay auf die Lebenszeit im MANET schlußfolgern? Solche eine bedingte Persistenzwahrscheinlichkeit gilt es zu untersuchen. Eine ernsthafte Analyse des von Zöls et al. angebotenen Algorithmus’ läßt sich aber erst nach einer Analyse der Voraussetzungen durchführen. Problematisch bleibt aber generell die Konzentrierung des Datenvolumens auf weniger Teilnehmer des MANETs. Selbst wenn Knoten als statisch angenommen werden können, sind sie nicht als Infrastrukturkomponenten zu verstehen. Das (gewollte) Ausscheiden aus dem Overlay bleibt ihnen 12 freigestellt. Folglich müssen sie die verwalteten Objektreferenzen an einen Nachfolger übermitteln. Das kann, analog zu Back–Up Chord, zu einem ungewollt ’explosionsartigen’ Verkehrsaufkommen führen. Hiernach käme es unter Umständen zur Überlast im Netz, wodurch auch die Robustheit der Ad–Hoc Routing–Protokolle gefordert wird. Eine sorgfältige dynamische Analyse der gegenläufigen Prozesse mag ein Optimum zwischen Verteilung und Konzentration auf statische Knoten als Funktion der Topologie und der Veränderungsparameter ergeben. Das Konzept bleibt dann jedoch mit dem Problem behaftet, daß die Routing–Optimierung von den (ebenfalls veränderlichen) Gegebenheiten der individuellen Overlay/MANET–Instanz abhängt. Ekta durchbricht den klassischen, Schichten trennenden Ansatz und greift die vom MANET gegebenen Chancen aktiv auf. Sämtliche Pakete im Netz, die Vermittlungsinformationen beinhalten, dienen auch der DHT. Somit können die bekannten Eigenschaften der Verteilten Hash Tabellen erst einmal erhalten werden. Gleichzeitig wirft aber ein derartiger Ansatz architekturelle Fragen bezüglich der Entwicklung von Protokoll–Stacks sowie deren Flexibilität auf12 und muß noch viel stärker für die Konzipierung des Netzes beantwortet werden. Tatsächlich setzt solch ein Vorgehen voraus, daß als Identifizierer im Overlay der Hash–Wert der Vermittlungsadresse genommen wird. Zusätzlich müssen alle Teilnehmer des physikalischen Netzes auch Teil des Overlays sein. Eine schwergewichtige Bedingung, die realistisch nur dann eingehalten werden kann, wenn entweder alle Knoten im MANET die gleiche Applikation benutzen oder die DHT Bestandteil der Infrastruktur ist. Eine DHT kann nicht aus der Menge aller ’gewöhnlichen’ Pakete zwischen den für sie nützlichen und unnützlichen unterscheiden. Konsequenterweise darf es auch nur eine DHT–Anwendung im MANET geben. Gibt es mindestens zwei Applikationen mit disjunkten Teilnehmern, fällt es ebenso schwer, die unmarkierten Informationen an die richtige Stelle weiterzuleiten. Ein unmittelbares Verwerten simpel aufgefangener Pakete ließe sich für DHTs durch ihre vollständige Einbeziehung in die unteren Schichten verwirklichen. Gewöhnliche Pakete müßten für jede Applikation einer DHT spezifisch gekennzeichnet werden. Letztlich bedeutet das, daß sich die Subnetzwerkschicht verändert, sobald eine Overlay–Applikation gestartet wird. Offensichtlich benötigt das einen weiten Konsens in der Verwendung von DHTs in MANETs. Es gibt zwei weitere Gruppen von Lösungsansätzen, die aber nicht weiter ausgeführt wurden. Zum einen sind dies Geographic Based Hash Tables (GHTs) [24], [25], zum anderen clusterbildende DHTs [7], [26]. GHTs setzen voraus, daß der Knoten geographisch, z.B. mittels GPS lokalisierbar ist. Die Struktur einer DHT wird bezüglich der Geographie optimiert und ist damit nicht invariant zur räumlichen Bewegung. Demgegenüber versuchen clusterbasierte Protokolle entsprechend eines günstigen Durchmessers, das MANET zu partitionieren, so daß administrativer Verkehr weitestgehend lokal bezüglich eines Clusters bleibt. Für GHTs ist zu beachten, daß das Ausmessen von räumlichen Distanzen rechenaufwändig und damit nicht energieschonend ist [27], [20]. Dem gleichen Problem sehen sich aber auch Ansätze ausgesetzt, die von ’zufällig’ im promiscuous Modus mitgehörten Paketen profitieren, wie z.B. Ekta. Erschwerend kommt für GHTs hinzu, daß die kürzeste geographische Distanz weiterhin nicht die kürzeste Routing–Distanz darstellen muß. Sowohl GHTs als auch clusterbasierende Vorschläge koppeln die Effizienz der Hash Tabellen an Ad–Hoc Routing Mechanismen. Sie umgehen damit die Frage nach Kosten und Nutzen für zusätzlich aufgebrachte Rechenleistung oder Pakete ganz analog zu Ekta, sind aber gleichermaßen architekturellen Zwängen unterworfen – der stärkeren Vermischung von Schichten. 12 Dieses Problem könnte mit einer bidirektionalen Schnittstelle (Interface) zwischen den Schichten gelöst werden. 13 4 Zusammenfassung und Ausblick Mobile Ad–Hoc Netzwerke und Key–based Overlay Routing sind grundsätzlich zum Zusammenspiel geeignet. Ausgehend von der Überlegung, daß DHTs für mobiles Teilnehmerverhalten entworfen wurden, lassen sie sich mit einfachen Veränderungen auf MANETs übertragen. Verteilte Hash Tabellen sehen sich seit ihrem initialen Einsatz im Internet mit volatilen Benutzern konfrontiert. Wegbrechende Verbindungen auf der Applikationsschicht verringern dabei die Qualität beim Auffinden eines Schlüssels, können aber mit zusätzlichen Maßnahmen kompensiert werden. Dies ist zum einen mit einer höheren Austauschrate der Routing–Informationen möglich, zum anderen aber auch mittels an typische Staueffekte angepasste Mechanismen. Ein angemessenes Verhältnis zwischen der Overlay– und realen Netzwerkdistanz stellte ebenso den Fokus frühzeitiger Untersuchungen dar. MANETs werden als wenig beständig in ihrer Struktur angesehen. Aufgrund der physikalischen Beweglichkeit der Geräte oder Interferenzen zwischen ihnen wird jeder weitere Zwischenknoten in der Paketvermittlung als Gefahr für die Kommunikation wahrgenommen. DHTs sind solche wegfallenden Verbindungen erst einmal bekannt. Sie können mit hohem Churn, speziell dem unverhofften Bei– und Austritt der Overlay–Teilnehmer umgehen. Benutzermobilität ist ihnen immanent. Die daraus resultierenden, traditionellen Wiederherstellungsprozeduren zur Gewährleistung einer konsistenten DHT würden MANETs aber schaden, da ihre Kapazität im Gegensatz zu festverdrahteten Netzen merklich beschränkt ist. Der für DHTs nötige administrative Overlay–Verkehr kann aber, die Eigenschaften der MANET–Teilnehmer nutzend, verringert werden. Ein Gerät im MANET ist ebenso Endgerät wie Router. Dadurch besitzt es deutlich mehr Informationen über die Netztopologie. Diese, im Internet in der Regel nicht vorhandenen Daten können unter der Berücksichtigung einer geeigneten Metrik für den Aufbau der Overlay Routing Tabelle benutzt werden. Die Effizienz einer DHT wird dadurch auf das für die jeweilige Anwendung des MANETs auszuwählende Ad–Hoc Routing Protokoll verlagert. Insofern darf das Verhältnis von DHT und MANET als potentiell symbiotisch bezeichnet werden. Eine (Churn gerüstete) DHT verhilft einem MANET zum effizienten schlüsselbasierten Routing und Teilnehmer in MANETs befördern durch ihr zusätzliches Wissen um die Topologie die Robustheit von Verteilten Hash Tabellen. Untersuchungen von DHTs, die nicht mehr nur unmittelbar auf darunterliegende Schichten aufsetzen und damit für MANETs tauglich werden, reduzieren sich somit auf die Güte der Mobilen Ad–Hoc Routing Mechanismen sowie auf das Verhalten von Verteilten Hash Tabellen bei stark fluktuierenden Benutzern im Allgemeinen. Die vorliegende Arbeit hat Ansätze vorgestellt, die den Einsatz von DHTs in MANETs näher bringen. Dennoch haben sie signifikante konzeptionelle Probleme. Benötigt wird ein Mechanimus, der leichtgewichtig bleibt und sich dennoch selbsttätig an die unterschiedlichen Eigenschaften von MANETs anpaßt, etwa wie der Nagle–Algorithmus von TCP an die Netzwerklast und die Transportkosten gleichzeitig. Das ist derzeit nicht in Sicht. Literatur [1] K. Gummadi, R. Gummadi, S. Gribble, S. Ratnasamy, S. Shenker, and I. Stoica, “The Impact of DHT Routing Geometry on Resilience and Proximity,” in SIGCOMM ’03: Proceedings of the 2003 conference on Applications, technologies, architectures, and protocols for computer communications. New York, NY, USA: ACM Press, 2003, pp. 381–394. 14 [2] I. Stoica, R. Morris, D. Liben-Nowell, D. R. Karger, M. F. Kaashoek, F. Dabek, and H. Balakrishnan, “Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications,” IEEE/ACM Trans. Netw., vol. 11, no. 1, pp. 17–32, 2003. [3] A. Rowstron and P. Druschel, “Pastry: Scalable, distributed object location and routing for large-scale peer-to-peer systems,” in IFIP/ACM International Conference on Distributed Systems Platforms (Middleware), Nov. 2001, pp. 329–350. [4] D. Loguinov, J. Casas, and X. Wang, “Graph-Theoretic Analysis of Structured Peer-toPeer Systems: Routing Distances and Fault Resilience,” IEEE/ACM Trans. Netw., vol. 13, no. 5, pp. 1107–1120, 2005. [5] M. Castro, P. Druschel, Y. C. Hu, and A. Rowstron, “Proximity neighbor selection in tree– based structured peer-to-peer overlays,” Microsoft Research, Tech. Rep. MSR-TR-2003-52, 2003. [6] ——, “Topology-aware routing in structured peer-to-peer overlay networks,” in FuDiCo 2002: International Workshop on Future Directions in Distributed Computing, Bertinoro, Italy, June 2002. [7] T. Zahn and J. Schiller, “MADPastry: A DHT Substrate for Practicably Sized MANETs,” in Proc. of 5th Workshop on Applications and Services in Wireless Networks (ASWN 2005), Paris, France, June 2005. [8] R. Hekmat and P. V. Mieghem, “Degree distribution and Hopcount in Wireless Ad–hoc Networks,” in ICON 2003 Eleventh IEEE international conference on networks. Piscataway: IEEE, 2003, pp. 603–609. [9] M. Castro, P. Druschel, Y. C. Hu, and A. Rowstron, “Exploiting network proximity in peer–to–peer overlay networks,” Microsoft Research, Tech. Rep. MSR-TR-2002-82, 2002. [10] S. Rhea, D. Geels, T. Roscoe, and J. Kubiatowicz, “Handling Churn in a DHT,” in Proceedings of the 2004 USENIX Annual Technical Conference. Boston, MA, USA: USENIX Association, June 2004, pp. 127–140. [11] J. Li, J. Stribling, T. M. Gil, R. Morris, and M. F. Kaashoek, “Comparing the performance of distributed hash tables under churn,” in Peer–to–Peer Systems III. Third International Workshop, IPTPS 2004, Revised Selected Papers, ser. LNCS, G. M. Voelker and S. Shenker, Eds., vol. 3279. Berlin Heidelberg: Springer-Verlag, 2005, pp. 87–99. [12] H.-C. Hsiao and C.-T. King, “Mobility Churn in DHTs,” in Proceedings of the First International Workshop on Mobility in Peer-to-Peer Systems (MPPS) (ICDCSW’05), vol. 8. Washington, DC, USA: IEEE Computer Society, June 2005, pp. 799–805. [13] P. Gupta and P. R. Kumar, “The capacity of wireless networks,” IEEE Transactions on Information Theory, vol. 46, no. 2, pp. 388–404, 2000. [14] M. Grossglauer and D. N. C. Tse, “Mobility Increases the Capacity of Ad Hoc Wireless Networks,” IEEE/ACM Trans. Netw., vol. 10, no. 4, pp. 477–486, 2002. [15] J. Li, C. Blake, D. S. D. Couto, H. I. Lee, and R. Morris, “Capacity of Ad Hoc wireless networks,” in MobiCom ’01: Proceedings of the 7th annual international conference on Mobile computing and networking. New York, NY, USA: ACM Press, 2001, pp. 61–69. 15 [16] H.-J. Jeong, D. Kim, J. Song, B. Kim, and J.-S. Park, “Back-Up Chord: Chord Ring Recovery Protocol for P2P File Sharing over MANETs,” in International Conference on Computational Science (2), ser. LNCS, V. S. Sunderam, G. D. van Albada, P. M. A. Sloot, and J. Dongarra, Eds., vol. 3515. Berlin Heidelberg: Springer-Verlag, 2005, pp. 477–484. [17] S. Zöls, R. Schollmeier, W. Kellerer, and A. Tarlano, “The Hybrid Chord Protocol: A Peer-to-Peer Lookup Service for Context-Aware Mobile Applications,” in Networking – ICN 2005. 4th International Conference on Networking, Proceedings, Part II, ser. Lecture Notes in Computer Science, P. Lorenz and P. Dini, Eds., vol. 3421. Berlin Heidelberg: Springer-Verlag, April 2005, pp. 781–792. [18] S. Zöls, R. Schollmeier, and W. Kellerer, “Making chord go mobile,” in Kommunikation in Verteilten Systemen (KiVS), Kurzbeiträge und Workshop der 14. GI/ITG-Fachtagung Kommunikation in Verteilten Systemen (KiVS 2005) Kaiserslautern, 28. Februar - 3. März 2005, ser. LNI, P. Müller, R. Gotzhein, and J. B. Schmitt, Eds., vol. 61. Bonn: GI, 2005, pp. 215–218. [19] P. Maymounkov and D. Maziéres, “Kademlia: A Peer-to-Peer Information System Based on the XOR Metric,” in Peer-to-Peer Systems: First International Workshop, IPTPS 2002, ser. LNCS, P. Druschel, F. Kaashoek, and A. Rowstron, Eds., vol. 2429. Berlin Heidelberg: Springer-Verlag, 2002, pp. 53–65. [20] C. S. R. Murthy and B. S. Manoj, Ad Hoc Wirless Networks. Architectures and Protocols, ser. Prentice Hall Communications Engineering and Emerging Technologies, T. S. Rappaport, Ed. Upper Saddle River, NJ, USA: Prentice Hall PTR, 2004. [21] H. Pucha, S. M. Das, and Y. C. Hu, “Ekta: An Efficient DHT Substrate for Distributed Applications in Mobile Ad Hoc Networks,” in Proceedings of the 6th IEEE Workshop on Mobile Computing Systems and Applications (WMCSA 2004). Washington, DC, USA: IEEE Computer Society, December 2004, pp. 163–173. [22] D. B. Johnson, D. A. Maltz, and Y.-C. Hu, “The Dynamic Source Routing Protocol for Mobile Ad Hoc Networks (DSR),” IETF MANET Working Group, IETF Internet Draft – work in progress 10, July 2004. [23] Y.-C. Hu and D. B. Johnson, “Caching strategies in on-demand routing protocols for wireless ad hoc networks,” in MobiCom ’00: Proceedings of the 6th annual international conference on Mobile computing and networking. New York, NY, USA: ACM Press, 2000, pp. 231–242. [24] L. Fang and R. Ruonan, “Analysis of GHT in Mobile Ad Hoc Networks,” in Parallel and Distributed Processing and Applications - ISPA 2005 Workshops: ISPA 2005 International Workshops, AEPP, ASTD, BIOS, GCIC, IADS, MASN, SGCA, and WISA, Nanjing, China, November 2-5, 2005. Proceedings, ser. LNCS, G. Chen, Y. Pan, M. Guo, and J. Lu, Eds., vol. 3759. Berlin Heidelberg: Springer-Verlag, October 2005, pp. 35–44. [25] J. B. Tchakarov and N. H. Vaidya, “Efficient Content Location in Wireless Ad Hoc Networks,” in Proc. of 5th IEEE International Conference on Mobile Data Management (MDM 2004). IEEE Computer Society, 2004, pp. 74–86. 16 [26] F. Araújo, L. Rodrigues, J. Kaiser, C. Liu, and C. Mitidieri, “CHR: A Distributed Hash Table for Wireless Ad Hoc Networks,” in Proc. of 25th International Conference on Distributed Computing Systems Workshops (ICDCS 2005 Workshops). IEEE Computer Society, 2005, pp. 407–413. [27] C.-K. Toh and V. Vassiliou, “The Effects of Beaconing on the Battery Life of Ad Hoc Mobile Computers,” in Ad Hoc Networking, C. E. Perkins, Ed. Upper Saddle River, NJ, USA: Addison Wesley, 2000, ch. 9, pp. 299–321. 17