2016-04-26 18 views
0

https://en.wikipedia.org/wiki/Chord_(peer-to-peer)(CHORD) Peer-2-Peer Wie funktioniert es/Was macht es?

Ich habe in Chord untersucht und ich habe Probleme zu verstehen, was genau es tut. Es ist ein Protokoll für eine verteilte Hash-Tabelle, die verschiedene Schlüssel/Werte für die spätere Verwendung speichert? Ist es nur eine effiziente Möglichkeit, in der Hash-Tabelle nachzuschlagen, welchen Wert ein bestimmter Schlüssel hat?

Jede Hilfe, wie ein einfaches Beispiel viel

+0

Um unnötige Informationen zu vermeiden, erklären Sie bitte, welcher Teil der Wikipedia-Artikel unklar ist und beantworten Sie die Fragen nicht. – the8472

+0

Ich habe nur Probleme zu verstehen, was jeder Peer halten soll, eine Fingertabelle, die auf dem nächsten Vorgänger und Nachfolger basiert, aber enthält sie alle Werte, die am Hash-Schlüssel oder nur an einer Instanz eingefügt werden? Eine Beispielfrage ist, wenn ich hashed die Zeichenfolge "Hi" auf 3 einfügen und es gab keine Peers bei 3 würde es zum nächsten verfügbaren Peer gehen und es dort speichern, oder? Oder wo speichert es seine Werte? –

Antwort

0

Ein Beispiel Frage würde geschätzt wird sagen, wenn ich String gehasht Einfügen „Hallo“ bis 3 und es gab keine Gleichaltrigen auf 3 in die nächste verfügbare gehen Peer und speichern Sie es dort richtig? Oder wo speichert es seine Werte?

antwortete ich bereits eine ähnliche Frage for bittorrent/kademlia, so dass nur in einem allgemeineren Sinn zusammenfassen:

DHTs speichern die Werte mit einer gewissen Redundanz auf N Knoten, dessen ID mit dem Ziel Hash am nächsten liegt.

Angesichts der Weite von> = 128bit Schlüsselräumen wäre es extrem unwahrscheinlich, dass Knoten genau mit dem Schlüssel übereinstimmen. Zumindest in Routing-Schemata, bei denen Knoten ihre IDs nicht basierend auf dem Inhalt anpassen, und der Akkord ist einer davon.

Es ist ziemlich genau das gleiche wie regelmäßige Hash-Tabellen, daher verteilt Hash-Tabelle. Sie haben eine begrenzte Menge von Buckets, in die die Einträge gehashed werden, wobei der Bucket-Bereich viel kleiner ist als der potenzielle Eingabe-Schlüsselbereich und daher auch nicht genau mit den Schlüsseln übereinstimmt.