www.wikidata.de-de.nina.az
Kademlia ist eine Technik fur Overlay Netze die eine verteilte Hashtabelle implementiert also Informationen in einem verteilten Netzwerk speichert Kademlia legt nur Art und Aufbau des Netzes fest Es wurde von Petar Maymounkov und David Mazieres entwickelt Es wird haufig von Filesharing Tools verwendet ist aber nicht auf diesen Anwendungsbereich beschrankt Inhaltsverzeichnis 1 Einsatz beim Filesharing 2 Funktionsweise 2 1 Distanz von Knoten 3 Clients 4 WeblinksEinsatz beim Filesharing BearbeitenObwohl Kademlia haufig von Filesharing Programmen verwendet wird konnen mit diesem Protokoll keine Dateien ubermittelt werden Vielmehr werden hier die Informationen die zum Auffinden von gewunschten Dateien notig sind in dem verteilten Netz hinterlegt Die Dateien konnen dann mit einem anderen Protokoll wie eDonkey2000 oder BitTorrent ubertragen werden Filesharing Programme der dritten Generation zu deren Protokollen auch Kademlia gehort speichern die Informationen uber das Netz in einer verteilten Hashtabelle jeder Knoten speichert also einen redundanten Teil dieser Informationen Diese Struktur ersetzt den zentralen Indizierungsserver von Programmen der ersten Generation Gleichzeitig sinkt der Aufwand um gewunschte Dateien zu finden auf O log n Funktionsweise BearbeitenMeist wird Kademlia uber das Internet mit dem verbindungslosen User Datagram Protocol UDP IP benutzt Jeder Knoten wird durch eine eindeutige Nummer genannt Node ID identifiziert Diese Nummer dient nicht nur zu seiner Identifizierung sondern wird von Kademlia gleichzeitig fur weitere Zwecke herangezogen Der eigene Knoten berechnet eine zufallige Node ID falls er zuvor noch nie im Netz war Ein Knoten der dem Netz beitreten mochte muss zuerst einen Bootstrapping genannten Prozess durchlaufen In dieser Phase erhalt der Algorithmus von einem Server oder Benutzer im Netzwerk die IP Adresse einiger Knoten die bereits im Kademlia Netz bekannt sind Von diesen ersten Knoten erhalt er nun auch die IP Adressen weiterer Knoten so dass keine Abhangigkeit mehr von einzelnen Knoten besteht Dazu sucht er zunachst nach Knoten die der eigenen ID ahneln um sich moglichst gunstig dort zu positionieren wo eine solche ID erwartet wird Da es keine zentrale Instanz gibt die eine Indizierung der vorhandenen Informationen ubernimmt wird diese Aufgabe auf alle Knoten gleichermassen aufgeteilt Ein Knoten der eine Information besitzt errechnet zuerst den charakteristischen Hashwert ID genannt dieser Information Die verwendete Hash Funktion in einem Kademlia Netz muss immer dieselbe sein Jener Knoten sucht nun im Netz die Knoten deren ID die kleinste Distanz zum Hash aufweisen und ubermittelt ihnen seine Kontaktdaten Sucht ein Knoten genau diese Information vollzieht er dieselbe Prozedur und gelangt dadurch an die Knoten die gespeichert haben wer im Netz diese Information besitzt Haufig ist dem Suchenden nur der Hashwert der Daten verfugbar Er kann nun eine direkte Verbindung zu den Quellen eingehen und die Daten empfangen Es ist also sichergestellt dass der Suchende die Kontaktdaten der Quelle genau an der Stelle findet wo diese sie hinterlassen hat Da das Netz ublicherweise in standigem Wandel begriffen ist werden die Kontaktdaten auf mehrere Knoten verteilt und von der Quelle nach einer gewissen Zeit aktualisiert Zum Auffinden eines Knotens hangelt sich der Algorithmus immer naher an diesen heran bis er gefunden wird oder ein Fehler zuruckkommt Die Anzahl der wahrend dieser Suche maximal zu befragenden Knoten entspricht der Distanz dieses Knotens zu einem selbst Sollte sich die Anzahl der Teilnehmer im Netz verdoppeln so muss man nicht doppelt so viele Knoten befragen sondern pro Verdoppelung nur einen Knoten mehr Die benotigte Bandbreite skaliert also nicht linear mit der Grosse des Netzes sondern logarithmisch zur Basis zwei Ein weiterer Vorteil liegt vor allem in der dezentralen Struktur die die Resistenz gegen Distributed Denial of Service Attacken deutlich steigert Selbst wenn eine ganze Reihe von Knoten angegriffen wird hat das fur das Netz selbst keine allzu grossen Auswirkungen Mit der Zeit strickt sich das Netz dann um diese neuen Locher herum Bei Kademlia werden lang bekannte zuverlassige Knoten beim Routing gegenuber neuen stets bevorzugt und niemals aus den Routing Tabellen entfernt weshalb es fur einen Angreifer nur schwer moglich ist die Routing Struktur des Netzes zu manipulieren Distanz von Knoten Bearbeiten Die oben genannte Distanz hat nichts mit geografischen Gegebenheiten zu tun sondern bezeichnet die Distanz innerhalb des ID Bereiches Es kann also vorkommen dass z B ein Knoten aus Deutschland und einer aus Australien sozusagen Nachbarn sind Die Distanz zwischen zwei Knoten und Hashwerten wird durch die mathematische XOR Funktion errechnet und betragt ID1 XOR ID2 interpretiert als Integer Clients BearbeitenClients die einen Kademlia Algorithmus implementieren die eigentlichen Netze fur Nutzdaten wie z B Dateien sind in der Regel nicht untereinander kompatibel eMule ab Version 0 42 und aMule ab Version 2 1 0 Name Kad MLDonkey Name Kad amp Overnet BitTorrent ab Version 4 1 0 Betaphase µTorrent KTorrent Vuze CSpace ein Instant Messenger Deluge uber libtorrent implementiert mit µTorrent kompatibel rTorrent ab Version 0 8 0 eDonkey2000 Name Overnet Entwicklung eingestellt Weblinks BearbeitenKademlia im Informatik Wiki der Humboldt Universitat Berlin Petar Maymounkov und David Mazieres Kademlia A Peer to peer Information System Based on the XOR Metric PDF englisch 1 2 Vorlage Toter Link www cs rice edu Kurzversion Seite nicht mehr abrufbar festgestellt im November 2017 Suche in Webarchiven PDF 79 kB Langversion PDF 211 kB Abgerufen von https de wikipedia org w index php title Kademlia amp oldid 199386341