it 5/2007 MHT: Eine mobilitätsbewusste verteilte Hash-Tabelle MHT: A mobilitity-aware Distributed Hash Table Olaf Landsiedel, Tobias Heer, Klaus Wehrle, RWTH Aachen University Zusammenfassung Mobile Ad-hoc-Netzwerke und verteilte Hash-Tabellen (DHT) besitzen ähnliche Eigenschaften in Bezug auf Selbstorganisation, Dezentralisierung, mangelnde Infrastruktur und die Notwendigkeit von Redundanz. Die hohe Knotenmobilität und die Dynamik des Netzwerks sind jedoch eine besondere Herausforderung für das Design und insbesondere für die Skalierbarkeit einer verteilten Hash-Tabelle in mobilen Ad-hoc-Netzwerken. In diesem Beitrag wird das Design einer mobilitätsbewussten verteilten Hash-Tabelle (MHT) vorgestellt. MHT ist ein mobiles, skalierbares und strukturiertes Peer-to-Peer-System, das nur wenig Informationen über die Umgebung eines Knotens im Netzwerk benötigt. Weiterhin werden Herausforderungen diskutiert, wie Churn, Lastverteilung und Sicherheit, die sich für den Einsatz einer MHT ergeben. Der besondere Schwerpunkt sind hierbei die Unterschiede, die sich zu Internet-basierten Systemen ergeben. Summary Mobile ad-hoc networks and distributed hash tables (DHT) share key characteristics in terms of self organization, decentralization, redundancy requirements, and limited infrastructure. However, node mobility and the continually changing physical topology pose a special challenge to scalability and the design of a DHT for mobile ad-hoc networks. In this paper, we show that with some local knowledge we can build a scalable and mobile structured peer-to-peer network, called Mobile Hash Table (MHT). Furthermore, we discuss practical challenges such as Churn, load balancing and security of MHT. A special focus is put on the differences and new challenges that the use of a DHT in a mobile environment poses. KEYWORDS C.2.4 [Computer Systems Organization: Computer-Communication Networks: Distributed Systems] distributed applications, peer-to-peer, distributed hash table, mobility, ad-hoc network, DHT 1 Einleitung Durch den technologischen Fortschritt im Bereich der drahtlosen Kommunikation im Nahbereich eröffnet sich mit mobilen Ad-hocNetzwerken ein neues Anwendungsfeld in der Informations- und Kommunikationstechnologie. Unabhängig von jeglicher technischer Infrastruktur können nun spontan drahtlose Kommunikationsnetze gebildet werden. Dabei wird die klassische Aufteilung in End- und Weiterleitungssysteme aufgegeben und die beteiligten Systeme übernehmen beide Aufgaben jeweils selbst. Bei einer ausreichenden Überlappung der Funkbereiche einzelner Geräte kön- 298 it – Information Technology nen durch Multi-Hop-Routing auch größere Gebiete erschlossen werden. Jedoch ist dabei zu berücksichtigen, dass diese Netze meist mobile Geräte verbinden, und sich deshalb die Struktur des mobilen Ad-hoc-Netzwerks jederzeit ändern kann. Eine besondere Herausforderung stellt hierbei die spontane Vernetzung von vielen hoch-mobilen Knoten, wie z. B. Fahrzeugen innerhalb städtischer Gebiete, dar. Aufgrund des hohen Grades an Mobilität verändert sich die Topologie eines solchen Netzwerkes und damit die Multi-Hop-Pfade zwischen den einzelnen Knoten ununterbrochen. Eine spontane Realisierung 49 (2007) 5/ DOI 10.1524/itit.2007.49.5.298 von Kommunikations- und Informationsdiensten würde in vielen Bereichen, in denen der Aufbau einer Infrastruktur aus zeitlichen, baulichen oder ökonomischen Gründen nicht vertretbar oder gar unmöglich ist, neue Möglichkeiten eröffnen. Als Beispiele seien hier u. a. Katastropheneinsätze, spontane Lerngruppen, Besprechungen oder Großveranstaltungen zu nennen. Im Internet wurde durch das Peer-to-Peer-Paradigma (P2P) [20] eine neue Art und Weise der dezentralen Datenspeicherung eingeführt. Daten werden ohne eine zentral organisierte Infrastruktur, wie Server oder andere dedizierte Rechner, Oldenbourg Wissenschaftsverlag This article is protected by German copyright law. You may copy and distribute this article for your personal use only. Other use is only allowed with written permission by the copyright holder. Schwerpunktthema verteilt auf den am P2P-Netzwerk teilnehmenden End-Systemen gespeichert. Entsprechende Algorithmen sorgen für eine Selbstorganisation der logischen Netzwerktopologie und der Daten in Bezug auf Speicherung, Verteilung und Ausfallsicherheit. Strukturierte Peer-toPeer Systeme, insbesondere verteilte Hash-Tabellen (DHTs), erreichen ein hohes Maß an Skalierbarkeit und Robustheit. Allerdings eignen sich bisherige DHT-Ansätze nur bedingt für den Einsatz in mobilen Ad-Hoc-Netzen. Mobilität und P2P Strukturierte Peer-to-Peer-Systeme weisen verschiedene Charakteristika auf, die in mobilen Ad-hoc-Netzwerken von besonderem Vorteil sind und einen effizienten und skalierbaren Datenzugriff ermöglichen: (1) Üblicherweise verfügen Ad-hoc-Netzwerke über eine beschränkte oder gar keine zusätzliche Infrastruktur, die Dienste zur Verfügung stellen kann. Somit benötigen sie ein verteiltes und hierarchieloses Datenzugriffsverfahren, wie es verteilte Hash-Tabellen (DHTs) bieten. (2) Die Skalierbarkeit einer DHT erlaubt darüber hinaus die Unterstützung von vielen tausend mobilen Knoten. (3) Abschließend kann das dynamische Ad-hoc-Netzwerk sehr von der Redundanz und Ausfallsicherheit einer verteilten Hash-Tabelle profitieren. Dieser Beitrag gibt eine Übersicht, inwiefern hoch-mobile Adhoc-Netzwerke von der Skalierbarkeit eines strukturierten Peer-toPeer Systems profitieren können (siehe Abschnitt 2). Weiterhin werden Fragestellungen adressiert, die sich beim Einsatz von Peer-toPeer Systemen in mobilen Ad-HocNetzen ergeben. Insbesondere wird Churn und die Lastverteilung (siehe Abschnitt 3) sowie die Sicherheit (siehe Abschnitt 4) in einem solchen System betrachtet. Ein besonderer Schwerpunkt liegt dabei auf den Unterschieden, die sich durch den Einsatz in mobilen Szenarien ergeben. Abschließend gibt Abschnitt 5 eine Zusammenfassung. 2 Skalierbarkeit In diesem Abschnitt stellen wir nach einer kurzen Motivation das Konzept der mobilitätsbewussten HashTabelle dar. Die ständige Bewegung der mobilen Knoten eines hoch-dynamischen Ad-Hoc-Netzwerks und die damit verbundene Änderung der Netzwerktopologie stellt eine besondere Herausforderung für die Nutzung einer DHT dar. Topologieänderungen im Ad-Hoc-Netzwerk erfordern reaktive Maßnahmen, die meist mit hohem Kommunikationsaufwand verbunden sind. Die mobilitätsbewusste verteilte Hash-Tabelle (MHT) [9] löst dieses Problem und bietet somit eine Grundlage für skalierbare und mobile P2P-Systeme. In einer DHT werden Datenobjekte als Schlüssel-Wert Tupel abgelegt, die über den Schlüssel identifiziert und adressiert werden. Der Wert des Schlüssels bestimmt zusätzlich die Kennung (ID) des Knotens im P2P-System, auf welchem das Datenobjekt abgelegt wird. Üblicherweise wird dieser Schlüssel mit Hilfe einer Hash-Funktion aus der Beschreibung des Datenobjektes berechnet. Die ID eines Knotens wird in der Regel durch seinen Hostnamen [16; 19] oder seine geografische Position [17] festgelegt. Im Gegensatz dazu führt MHT semantische Schlüssel ein: Die geografische Position, Bewegungsrichtung und Geschwindigkeit eines Datums werden aus dessen Schlüssel abgeleitet. Das Datenobjekt wird auf dem Knoten gespeichert, dessen Bewegung am ähnlichsten zu den Bewegungsvorgaben des Datums ist. Der Schlüssel eines Objekts beschreibt deshalb einen Pfad anstatt eine explizite geografische Position vorzugeben. Dies bietet in hoch-mobilen Szenarien Vorteile, da die Mobilität der Datenobjekte mit der Mobilität der Knoten im Netzwerk harmoniert. Neben der mobilitätsbewussten DHT wird ein skalierbares RoutingProtokoll benötigt, um Kommunikation zwischen entfernten Knoten zu ermöglichen. Aufgrund ihrer geringen Skalierbarkeit sind klassi- sche proaktive und reaktive Ad-hocRouting-Verfahren nicht für den Einsatz in großen Systemen geeignet. MHT nutzt daher geografisches Routing, wozu ausschließlich lokal verfügbare Informationen benötigt werden. Da MHT ebenfalls geografische Informationen zur Lokalisierung und Speicherung von Datenobjekten verwendet, und damit deren Verfügbarkeit eine Grundannahme für MHT darstellt, ist deren Verwendung für die Paketweiterleitung naheliegend. 2.1 Verwandte Arbeiten Peer-to-Peer basierte Kommunikation hat das Internet von heute stark verändert. Zahlreiche unstrukturierte (zumeist Filesharing-Systeme) und strukturierte Peer-toPeer-Systeme [2; 16; 19] sind bereits im Einsatz. Obwohl ihre Vorteile (gute Skalierbarkeit, Ausfallsicherheit und eine flache Hierarchie) verteilte Hash-Tabellen zu einem interessanten Adressierungsschema für mobile Netzwerke machen, nutzt nur eine geringe Anzahl der Systeme diese Technologie. In diesem Abschnitt werden mobile Peer-to-PeerSysteme vorgestellt und die Unterschiede zu MHTs herausgearbeitet. Verschiedene Ansätze [5; 12] platzieren ein unstrukturiertes Peerto-Peer-Protokoll oberhalb eines Ad-hoc-Routing-Protokolls, wie z. B. AODV [15] oder DSR [7]. Die Skalierbarkeit dieses Ansatzes ist sowohl durch die begrenzte Skalierbarkeit des Ad-hoc-RoutingProtokolls als auch durch die des unstrukturierten Peer-to-Peer-Protokolls beschränkt. Strukturierte Peer-to-Peer-Systeme wurden ebenfalls für den Einsatz in mobilen Szenarien angepasst [6; 14; 21]. Diese nutzen jedoch weiterhin traditionelle Adhoc-Routing-Protokolle und sind somit inhärent nicht skalierbar. Im Vergleich dazu verwendet MHT ein geografisches Routingprotokoll. Obwohl die geografische Hash-Tabelle (GHT) [17] nicht für mobile Szenarien entwickelt wurde, ist ihr Konzept dem von MHT jedoch, 299 This article is protected by German copyright law. You may copy and distribute this article for your personal use only. Other use is only allowed with written permission by the copyright holder. MHT: Eine mobilitätsbewusste verteilte Hash-Tabelle verglichen mit anderen Ansätzen, am ähnlichsten. In GHT werden Schlüssel-Werte-Paare mit Hilfe einer Hash-Funktion auf geografische Positionen abgebildet. Geografisches Routing wird genutzt, um Datenobjekte zu ihren Speicherplätzen zu leiten. In MHT werden diese Ideen verallgemeinert und um den Aspekt mobiler Datenobjekte erweitert, was den Einsatz in hochgradig mobilen Netzwerken ermöglicht. Kürzlich wurde Virtual Ring Routing (VRR) [1] vorgestellt. VRR ermöglicht skalierbares Routing in Ad-hoc-Netzwerken und stellt gleichzeitig die Dienste einer DHT bereit. Im Unterschied zu MHT nutzt Virtual Ring Routing keine Positionsinformationen. Jedoch müssen auch in VRR, wie in den meisten in diesem Abschnitt vorgestellten Verfahren, Multi-HopPfade zwischen logisch benachbarten Knoten aufrecht erhalten werden. Dies macht VRR ungeeignet für den Einsatz in hoch mobilen Szenarien. 2.2 Mobile Hash-Tabellen In diesem Abschnitt wird das Konzept der mobilen Hash-Tabelle kurz eingeführt, für eine tiefere Einführung sei auf [9] verwiesen. Die technische Herausforderung für den Einsatz von strukturierten HashTabellen in mobilen Peer-to-PeerSystemen ist es, die unstrukturierte und prinzipiell zufällige Bewegung der Knoten zu ordnen und zu strukturieren. Basierend auf der Annahme, dass jedem Knoten seine Position, Geschwindigkeit und Bewegungsrichtung bekannt ist, wird in diesem Abschnitt gezeigt, wie mit Hilfe dieses Wissens eine effiziente strukturierte Hash-Tabelle aufgebaut werden kann. Die Abbildung von Daten auf sich bewegende Knoten wird folgendermaßen realisiert: Für jedes Datenobjekt wird ein Pfad aus dem Schlüssel des Objektes abgeleitet. Der Pfad stellt eine Sollbewegung des Datenobjekts in der realen Umgebung der MHT Knoten dar. Ein Objekt wird jeweils auf dem Knoten 300 gespeichert, dessen Bewegung dieser Sollbewegung des Datenobjektes am ähnlichsten ist. Die Skalierbarkeit des vorgestellten Konzepts basiert auf der folgenden Beobachtung: Je mehr Knoten am Peerto-Peer Netz teilnehmen, desto höher ist die Wahrscheinlichkeit, dass ein Knoten mit einer Bewegungsrichtung und Geschwindigkeit ähnlich zu dem Pfad des Datenobjekts existiert. Demnach müssen die Daten seltener von Knoten zu Knoten transferiert werden. Ein- und Austritt von Knoten In MHT wird die Routing-Tabelle eines Knotens aus direkt benachbarten Knoten im mobilen Ad-HocNetzwerk gebildet. Somit muss die Routing-Tabelle nicht durch eine Suche in der DHT gefüllt werden, wie es in Internet-basierten DHTs normalerweise üblich ist. Für den Eintritt eines Knoten in die MHT ist es ausreichend, wenn dieser Knoten regelmäßige Broadcasts seiner Position, Geschwindigkeit und Bewegungsrichtung sendet. Die Nachbarn empfangen diese Daten und können an den Knoten Daten weiterleiten oder darauf speichern. Um das System zu verlassen, beendet ein Knoten seine regelmäßigen Broadcasts. Zusätzlich leitet er beim Verlassen des Systems gespeicherte Daten an den jeweils besten Nachbarn (siehe Abschnitt 2.2.2) weiter. Datenspeicherung Ein Datum wird auf dem Knoten gespeichert, dessen Geschwindigkeit, Position und Bewegungsrichtung dem Pfad des Datenobjektes am ähnlichsten ist. Überschreitet die Abweichung dieser Werte eine gewisse Schranke – normalerweise die Hälfte des Kommunikationsradius eines mobilen Knotens – so wird das Datenobjekt zu einem anderen Knoten transferiert (siehe Bild. 1). Somit müssen Anfragen nach einem Datenobjekt auf eine Entfernung des halben Kommunikationsradiuses an die Position des Datenobjektes geleitet werden und können dann mit einer lokalen Broadcastnachricht den Bild 1 Ein Datenobjekt wird von Knoten zu Knoten transferiert, sobald der Sollpfad des Datenobjekts zu stark von der Bewegung des Trägerknotens abweicht. aktuellen Träger des gewünschten Datenobjektes und somit das Datenobjekt selbst erreichen. Neue Datenobjekte werden in die MHT eingefügt, indem sie zu einem Knoten nicht weiter als den halben Kommunikationsradius entfernt von deren Position geleitet werden. Dieser Knoten wählt dann, analog zu dem oben beschriebenen Verfahren, einen Knoten zur Speicherung aus. Befindet sich innerhalb des halben Kommunikationsradiuses kein Knoten, so wird das Datenobjekt temporär zwischengespeichert bis ein entsprechender Knoten zur Speicherung des Datenobjektes gefunden wurde. Suche nach Datenobjekten Anfragen (Queries) nach Daten basieren auf demselben Konzept wie die zuvor beschriebene Speicherung von Datenobjekten. Ist die Beschreibung eines Objektes bekannt, so kann mit Hilfe der Hash-Funktion ein Schlüssel hergeleitet werden. Aus dem Schlüssel wird die aktuelle Position und die Bewegung des Datenobjekts bestimmt. Anfragen nach einem Objekt werden schließlich zu einem Knoten nicht weiter als den halben Kommunikationsradius entfernt von der aktuellen Position des gesuchten Objekts geleitet. Mit Hilfe This article is protected by German copyright law. You may copy and distribute this article for your personal use only. Other use is only allowed with written permission by the copyright holder. Schwerpunktthema eines lokalen Broadcasts kann der Knoten gefunden werden, der dieses Objekt speichert. Um die Position eines beweglichen Datenobjekts zu bestimmen, ist eine grobe Zeitsynchronisation der Knoten in der MHT notwendig. Diese ergibt sich aus dem Positionssignal, das alle Knoten empfangen. 2.3 Zusammenfassung MHT In diesem Kapitel wurde nach einer kurzen Motivation das Grundkonzept der Mobilen Hash-Tabellen dargestellt. Mobile Hash-Tabellen stellen sich in der Evaluation als hoch-skalierbar in Bezug auf große Teilnehmerzahlen dar (siehe Bild 2). 3 Churn und Lastverteilung Für den praktischen Einsatz ergeben sich neben der Sicherheit des Systems zwei besondere Herausforderungen: (1) Churn und (2) Lastverteilung. Diese erfuhren jedoch in mobilen Peer-to-Peer-basierten Szenarien bisher nur wenig Aufmerksamkeit. In Infrastruktur-basierten Netzen wurden beide Themen sehr aktiv betrachtet. So evaluieren die Autoren von [4; 11; 13] u. v. m. die Stabilität von DHTs unter Churn und präsentieren Möglichkeiten zur Verbesserung der Stabilität. Diese Arbeiten beziehen sich jedoch auf die Wahl der Einträge in der DHTRouting-Tabelle, welche jedoch für MHT ohne Bedeutung ist, da sich bei MHT diese Tabelle nur aus den lokalen Nachbarn zusammensetzt. Die Verfügbarkeit von Datenobjekten leidet jedoch erheblich unter Churn. Deshalb wird in diesem Kapitel diskutiert, inwiefern Techniken aus der Internet-Welt zur Stabilisierung von DHTs auf das Konzept der MHT übertragen werden können. Wenn ein Knoten das Netzwerk unerwartet verlässt, gehen alle Datenobjekte, die auf diesem Knoten gespeichert sind, für das Netzwerk verloren. Üblicherweise wird diesem Problem begegnet, indem mehrere Kopien eines Datenobjekts auf verschiedenen Knoten im Netzwerk platziert werden. Zwischen diesen Objekten werden regelmäßig Nachrichten ausgetauscht, um ihre Verfügbarkeit zu prüfen und bei Bedarf Kopien wiederherzustellen. Ein solcher Ansatz scheint auch für mobile Ad-hoc-Systeme vielversprechend zu sein. Dabei eröffnet die Tatsache, dass die MHT auf einem Funknetzwerk basiert, zwei interessante Optionen: (1) Replikation auf nahe liegenden Knoten (lokale Replikation) oder (2) Replikation verteilt im gesamten Netzwerk (globale Replikation). MHT nutzt lokale Replikation [8], um den Einfluss von Churn auf die Verfügbarkeit von Daten zu minimieren. Des Weiteren wird globale Replikation genutzt, um eine Lastverteilung im Netzwerk zu ermöglichen. 3.1 Churn und lokale Replikation Bei lokaler Replikation werden Kopien eines Datenobjekts mit einer zeitlichen oder räumlichen Verschiebung auf dem Pfad des origi- Bild 2 Performance von MHT im offenen Gelände, innerhalb eines Manhattan-Netzes und bei Verkehrsanpassung. Als Vergleichswert ist die Performance von GHT abgebildet. nalen Objekts platziert. Somit bewegen sich das Original und die Kopien mit derselben Geschwindigkeit und Richtung, jedoch um einen Offset verschoben. Geht ein Datenobjekt aufgrund von Churn verloren, wird mit Hilfe einer Kopie ein Duplikat erstellt, mit entsprechenden Pfadinformationen versehen und in der mobilen HashTabelle gespeichert. Da alle Kopien eine geringe Entfernung zueinander aufweisen, belasten die regelmäßigen Nachrichten, die zum Test der Verfügbarkeit ausgetauscht werden, das Netzwerk nur geringfügig und im lokalen Rahmen. Aus dem selben Grund ist auch das Verändern von Objekten und ihrer Kopie ohne großen Aufwand möglich. Zusammenfassend lässt sich sagen, dass lokale Replikation den Einfluss von Churn in MHTs effizient reduziert. 3.2 Lastverteilung und globale Replikation Obwohl lokale Replikation den Einfluss von Churn stark reduzieren kann, hat diese Art der Replikation jedoch einige Einschränkungen bzgl. der Lastverteilung. Wird ein Datenobjekt häufig angefragt, können die Anfragen eine hohe Last auf den Pfaden zum Datenobjekt verursachen. Globale Replikation erlaubt es, Kopien eines Objektes an dedizierten Stellen im Netzwerk zu platzieren und so die Last auf mehrere Pfade zu verteilen. Ebenso kann bei einer Suchanfrage berechnet werden, welche Kopie am nächsten zum Anfragenden liegt. Die Anfrage erreicht somit ihr Ziel in wenigen Hops. Das Netzwerk wird entlastet und die Anfrage schneller bearbeitet. Als Folge müssen jedoch Änderungen an Datenobjekten und die regelmäßigen Nachrichten zum Test der Verfügbarkeit über eine große Anzahl an Hops geleitet werden. Somit hängt die Wahl und die Kombination der beiden vorgestellten Replikationstechniken stark vom Einsatzszenario der Hash-Tabelle ab. 301 This article is protected by German copyright law. You may copy and distribute this article for your personal use only. Other use is only allowed with written permission by the copyright holder. MHT: Eine mobilitätsbewusste verteilte Hash-Tabelle 3.3 Zusammenfassung In diesem Abschnitt wurde diskutiert, welche Besonderheiten sich in mobilen Peer-to-Peer Systemen in Bezug auf Churn und Lastverteilung ergeben. Insbesondere zeigt sich, dass durch lokale und globale Replikation dem System mehr Möglichkeiten der Replikation zur Verfügung stehen als in Internet-basierten Systemen. 4 Sicherheit in MHT MHT ist wie alle Peer-to-Peerund Ad-hoc-Routing-Systeme auf die Kooperation der Teilnehmer angewiesen. Auf Techniken für die Erkennung von nicht kooperativen Teilnehmern sowie deren Entfernung aus dem Netz kann aufgrund der Platzbeschränkungen nicht eingegangen werden. Wir betrachten in diesem Kapitel drei weit verbreitete Angriffe auf P2P Systeme und diskutieren ihre Bedeutung für mobile Peer-to-Peer Systeme, insbesondere Mobile Hash-Tabellen. 4.1 Sybillen Angriffe Bei einem Sybillen Angriff [3] versucht ein Angreifer, eine Vielzahl an Knoten, die von ihm kontrolliert werden, in die DHT einzufügen und somit großen Einfluss auf das Netzwerk zu erlangen. Es ist jedoch interessant festzustellen, dass die Platzierung von mehreren Identitäten im MHTNetzwerk weitaus schwieriger ist als in Internet-basierten Systemen. Durch die Kopplung von Knotenidentitäten an deren Positionen im P2P Netzwerk kann sich ein Knoten nur an seiner tatsächlichen aktuellen Position im Netz platzieren. Das Vorspiegeln von falschen Positionsinformationen kann durch die Abweichung zu den Positionen der Nachbarn eines Knoten leicht entdeckt werden. Die Platzierung von vielen Identitäten an der tatsächlichen Position eines Angreifers bringt diesem jedoch keinen Vorteil. Einzig die Nutzung eines Funksystems mit hoher Reichweite erlaubt es, Identitäten an verschiedenen Stellen zu platzieren und 302 dort zu unterhalten. Diesem Angriff kann aber durch Messungen der Signallaufzeit begegnet werden. Zusammenfassend lässt sich feststellen, dass die Platzierung von verschiedenen Identitäten in MHT Netzwerk mit hohem Aufwand verbunden ist und es effiziente Möglichkeiten zur Erkennung dieser Manipulation gibt. Damit verliert dieser im Internet sehr bedeutsame Angriff in MHTs an Stärke. 4.2 Eclipse Angriffe Der Eclipse Angriff [18] kann als eine Spezialisierung des Sybillen Angriffs (siehe Abschnitt 4.1) betrachtet werden. Bei diesem Angriff werden Identitäten an ausgewählten Stellen im Netzwerk platziert, z. B. den Pfaden zu einem Angriffziel, und somit das Angriffziel aus dem Peer-to-Peer Netzwerk ausgeschlossen. Für diesen Angriff sind meistens weniger Teilnehmer erforderlich als für den Sybillen Angriff, die Platzierung der Teilnehmer ist jedoch weitaus komplexer. Auch im Bezug auf die Resistenz gegen Eclipse Angriffe profitiert die Mobile Hash-Tabelle von der Tatsache, dass der Kommunikationseinfluss auf das Netzwerk von der physikalischen Position eines Knotens abhängt. Um einen Teilnehmer aus dem Netzwerk auszuschließen, müsste der Angreifer alle Routen zu dem Angriffsziel blockieren. Somit müsste er alle anderen MHT Knoten in einem Ring, der die Funkreichweite des Zielknotens abdeckt, ausschalten. Weiterhin müsste sich dieser Ring mit dem Ziel bewegen. Ein solcher Angriff gestaltet sich daher ungleich schwieriger als im Internet und verliert daher deutlich an Bedrohlichkeit. Zusammenfassend lässt sich sagen, dass dieser Angriff in der praktischen Umsetzung in mobilen Peerto-Peer Systemen sehr schwierig ist. 4.3 Index Vergiftung Bei dem Index Vergiftungsangriff [10] wird eine große Anzahl an falschen Datenobjekten in das Peerto-Peer System eingefügt. Dieser Angriff hat zwei Effekte: (1) Diese Einträge und ihre Unterhaltung im System verbrauchen Ressourcen in Form von Speicherplatz, Rechenzeit und Kommunikationsbandbreite, (2) die Nutzbarkeit des Systems wird reduziert, da viele Anfragen auf diese falschen Datenobjekte geleitet werden. Für diesen Art des Angriffs ist das mobile Peer-to-Peer System ähnlich anfällig wie Internet-basierte Systeme. Die Literatur schlägt als Lösung Reputations-basierte Systeme vor [10], diese können in ähnlicher Form auch in MHT eingesetzt werden. 4.4 Sicherheit zusammengefasst Die Grundlage für die Skalierbarkeit einer verteilen Hash-Tabelle ist ihr hoher Grad an Verteilung und Dezentralisierung. Diese Tatsache macht DHTs jedoch weitaus verletzlicher gegen bestimmte Klassen von Angriffen als klassische Client-Server Ansätze. In diesem Abschnitt wurde diskutiert, dass bestimmte – im Internet sehr bedeutsame – Angriffe jedoch durch die physikalischen Eigenschaften des Ad-hocNetzwerkes an Bedeutung verlieren und unter Umständen unwirksam werden. 5 Zusammenfassung und Ausblick In diesem Beitrag wurden drei wesentliche Herausforderungen mobiler Peer-to-Peer-Systeme angesprochen: (1) Skalierbares und effizientes Auffinden von Daten (2) Datenstabilität unter Churn und Lastverteilung und (3) Sicherheit in der DHT. Für die einzelnen Herausforderungen wurden Lösungen vorgestellt und ihre Unterschiede zu Internet-basierten Systemen diskutiert. Nach unserer Meinung können mobile Ad-hoc-Netzwerke sehr von einem solchen effizienten und verlässlichen Peerto-Peer-System profitieren, das es erlaubt, Daten zuverlässig ohne zusätzliche Infrastruktur zu speichern. This article is protected by German copyright law. You may copy and distribute this article for your personal use only. Other use is only allowed with written permission by the copyright holder. Schwerpunktthema Literatur [1] M. Caesar, M. Castro, E. Nightingale, G. O’Shea, and A. Rowstron. Virtual Ring Routing: Network routing inspired by DHTs. In Proc. of ACM SIGCOMM, 2006. [2] M. Castro, P. Druschel, Y. C. Hu, and A. Rowstron. Pastry: Scalable, distributed object location and routing for large-scale peer-to-peer systems. In Proc. of Int’l Conf. on Distributed Systems Platforms, 2001. [3] J. R. Douceur. The Sybil attack. In Proc. of 1st Int’l Workshop on Peer-toPeer Systems (IPTPS), 2002. [4] K. Gummadi, R. Gummadi, S. Gribble, S. Ratnasamy, S. Shenker, and I. Stoica. The Impact of DHT Routing Geometry on Resilience and Proximity. In Proc. of ACM SIGCOMM, 2003. [5] I. Gruber, R. Schollmeier, and W. Kellerer. Performance Evaluation of the Mobile Peer-to-Peer Protocol. In Proc. of Int’l. Workshop on Global Peerto-Peer Computing, 2004. [6] Y. C. Hu, H. Pucha, and S. M. Das. Exploiting the Synergy between Peer-to-Peer and Mobile Ad Hoc Networks. In Proc. of HotOS-IX: Workshop on Hot Topics in Operating Systems, 2004. [7] D. B Johnson and D. A. Maltz. Dynamic Source Routing in Ad Hoc Wireless Networks. In Mobile Computing, vol. 353. Kluwer Publishers, 1996. [8] O. Landsiedel, S. Götz, and K. Wehrle. A Churn and Mobility Resistent Approach for DHTs. In Proc. of ACM Mobishare Workshop, Int’l Conf. on Mobile Computing and Networking (MobiCom), 2006. [9] O. Landsiedel, S. Götz, and K. Wehrle. Towards Scalable Mobility in Distributed Hash Tables. In Proc. of IEEE Int’l Conf. on Peer-to-Peer Computing (P2P), 2006. [10] J. Liang, N. Naoumov, K. W. Ross. The Index Poisoning Attack in P2P FileSharing Systems. In Proc. of IEEE Int’l Conf. on Computer Communication (InfoCom), 2006. [11] J. Li, J. Stribling, T. M. Gil, R. Morris, and M. F. Kaashoek. Comparing the Performance of Distributed Hash Tables under Churn. In Proc. of Int’l [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] Workshop on Peer-to-Peer Systems (IPTPS04), 2004. C. Lindemann and O. Waldhorst. Exploiting Epidemic Data Dissemination for Consistent Lookup Operations in Mobile Applications. ACM Mobile Computing and Communication Review (MC2R), 2004. R. Mahajan, M. Castro, and A. Rowstron. Controlling the Cost of Reliability in Peer-to-Peer Overlays. In In Proc. of Int’l Workshop on Peer-toPeer Systems (IPTPS), 2003. H. Pucha, S. M. Das, and Y. C. Hu. Ekta: An Efficient DHT Substrate for Distributed Applications in Mobile Ad Hoc Networks. In Proc. of IEEE Workshop on Mobile Computing Systems and Applications, 2004. C. E. Perkins and E. M. Royer. Ad hoc On-Demand Distance Vector Routing. In Proc. of IEEE Workshop on Mobile Computing Systems and Applications (WMCSA), 1999. S. Ratnasamy, P. Francis, M. Handley, and R. Karp. A scalable contentaddressable network. In Proc. of ACM SIGCOMM, 2001. S. Ratnasamy, B. Karp, S. Shenker, D. Estrin, R. Govindan, L. Yin, and F. Yu. GHT: A Geographic Hash Table for Data-Centric Storage in SensorNets. In Proc. of ACM Workshop on Wireless Sensor Networks and Applications (WSNA), 2002. A. Singh, T. W. Ngan, P. Druschel, D. S. Wallach. Eclipse Attacks on Overlay Networks: Threats and Defenses. In Proc. of IEEE Int’l Conf. on Computer Communication (InfoCom), 2006. I. Stoica, R. Morris, D. Karger, M. F. Kaashoek, and H. Balakrishnan. Chord: A Scalable Peer-to-Peer Lookup Service for Internet applications. In Proc. of ACM SIGCOMM, 2001. R. Steinmetz and K. Wehrle, editors. Peer-to-Peer Systems and Applications. LNCS 3485. Springer Publishing, 2005. T. Zahn and J. Schiller. MADPastry: A DHT Substrate for Practicably Sized MANETs. In Proc. of Workshop on Applications and Services in Wireless Networks (ASWN), 2005. 1 2 3 1 MS CS Olaf Landsiedel received his Masters Degree in Computer Science from the University of Kansas, where he graduated in 2003 with honours. His studies were funded by a Fulbright and a Direct Exchange Scholarship. Since 2004, he is a research assistant with the Distributed Systems Group at RWTH Aachen. Address: Informatik IV – Verteilte Systeme, Rheinisch-Westfälische Technische Hochschule Aachen, Ahornstraße 55, 52062 Aachen, E-Mail: [email protected] 2 Dipl. Inf. Tobias Heer received his Diploma Degree with honours from the University of Tübingen in 2007. He worked in Finland at the Helsinki Institute for Information Technology in 2006. He is a member of the graduate school for Mobile Communication Systems at RWTH Aachen and the Distributed Systems Group. Address: see above 3 Prof. Dr.-Ing. Klaus Wehrle is head of the Distributed Systems Group at RWTH Aachen University. He received his PhD degree from University of Karlsruhe in 2002. From 2002 to 2003 he was postdoctoral fellow at the International Computer Science Institute at UC Berkeley. In 2004 he was awarded a junior research group within the DFG-Emmy-Noether excellence program at University of Tübingen. In 2006 he was appointed associated professor at RWTH Aachen. Address: see above 303 This article is protected by German copyright law. You may copy and distribute this article for your personal use only. Other use is only allowed with written permission by the copyright holder. MHT: Eine mobilitätsbewusste verteilte Hash-Tabelle