Wie funktioniert DHT in Torrents?
Ich bin die Kodierung eines p2p-Implementierung, die ich machen möchte, dezentrale aber ich habe einige Schwierigkeiten greifen, wie die DHT-Protokolle wie bittorrent arbeiten. Wie funktioniert der client wissen, wo die Kollegen sind, wenn es keinen tracker? Peers gespeichert, die in die eigentliche torrent-Datei?
InformationsquelleAutor der Frage Christopher Tarquini | 2009-08-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit trackerless/DHT torrents, peer-IP-Adressen gespeichert, die in der DHT über das BitTorrent-infohash als Schlüssel. Da alle einen tracker hat, ist im Grunde genommen reagieren Sie auf put - /get-Anfragen, diese Funktionalität entspricht genau der Oberfläche, die ein DHT (distributed hash table) liefert: es erlaubt Ihnen zu suchen und zu speichern IP-Adressen im DHT durch infohash.
So ein "get" - Anforderung Aussehen würde, bis ein BT infohash und Rückgabe von IP-Adressen. Ein "setzen" speichert eine IP-Adresse für einen infohash. Dies entspricht dem "ankündigen" Anfrage, die Sie sonst machen, um den tracker zu erhalten, ein Wörterbuch der peer-IP-Adressen.
In einem DHT-peers werden nach dem Zufallsprinzip zugewiesen ist zum speichern der Werte der Zugehörigkeit zu einem Bruchteil des Schlüsselraums; die Vermischung sorgt dafür, dass die Schlüssel sind zufällig verteilt in den beteiligten peers. Die DHT-Protokoll (Kademlia für BitTorrent) sorgt dafür, dass die put - /get-Anfragen weitergeleitet werden, die effizient zu den peers, verantwortlich für die Aufrechterhaltung einer bestimmten Taste die IP-Adresse Listen.
InformationsquelleAutor der Antwort cce
Die Allgemeine Theorie finden Sie im wikipedia-Artikel über Kademlia. Das spezifische Protokoll-Spezifikation verwendet bittorrent ist hier: http://wiki.theory.org/BitTorrentDraftDHTProtocol
InformationsquelleAutor der Antwort bdonlan
Was passiert mit bittorrent und DHT ist, dass am Anfang bittorrent verwendet die Informationen eingebettet in die torrent-Datei zu gehen, um entweder ein tracker oder eine Reihe von Knoten in der DHT. Dann, wenn es einmal findet Sie einen Knoten, es können weiterhin andere zu finden und bleiben mit dem DHT, ohne einen zentralisierten tracker aufrecht zu erhalten.
Wird der ursprüngliche information-bootstraps die spätere Nutzung von DHT.
InformationsquelleAutor der Antwort DJ Capelis
DHT-Knoten haben eindeutige IDS bezeichnet, die Knoten-ID. Knoten-IDs werden nach dem Zufallsprinzip aus den gleichen 160-bit-Raum als BitTorrent-info-hashes. Nähe wird gemessen durch Vergleich der Knoten-ID der routing-Tabellen, die näher der Knoten, desto detaillierter, was zu einem optimalen
Was macht Sie besser geeignet als seine Vorgänger "Kademlia", die einfache, ganze zahlen ohne Vorzeichen: Abstand(A,B) = |A xor B| Kleinere Werte sind näher. XOR. Neben der nicht sicher zu sein, seine Logik war fehlerhaft.
Wenn Ihr client unterstützt DHT, es sind 8 bytes reserviert, in denen enthält 0x09, gefolgt von einem 2-byte-Nutzdaten mit den UDP-Port und DHT-Knoten. Wenn der handshake erfolgreich war, wird oben weiter.
InformationsquelleAutor der Antwort AndreasRZA