[bittorrent] more DHT Information
jwalkenhorst at stud.hs-bremen.de
Mon May 21 04:21:28 EDT 2007
I'd like to know if there is any more information (other than the
DHT-Draft http://www.bittorrent.org/Draft_DHT_protocol.html) for the
Mainline-DHT available. Especially I am looking for information
regarding the procedures like "joining the DHT", "announcing a torrent"
and "getting peers for a torrent".
The DHT spec has only two paragraphs about it which isn't much information:
> When a node wants to find peers for a torrent, it uses the distance
> metric to compare the infohash of the torrent with the IDs of the
> nodes in its own routing table. It then contacts the nodes it knows
> about with IDs closest to the infohash and asks them for the contact
> information of peers currently downloading the torrent. If a contacted
> node knows about peers for the torrent, the peer contact information
> is returned with the response. Otherwise, the contacted node must
> respond with the contact information of the nodes in its routing table
> that are closest to the infohash of the torrent. The original node
> iteratively queries nodes that are closer to the target infohash until
> it cannot find any closer nodes. After the search is exhausted, the
> client then inserts the peer contact information for itself onto the
> responding nodes with IDs closest to the infohash of the torrent.
> Upon inserting the first node into it's routing table and when
> starting up thereafter, the node should attempt to find the closest
> nodes in the DHT to itself. It does this by issuing find_node messages
> to closer and closer nodes until it cannot find any closer.
So what does my client have to store for/after announces locally?
To whom do I send my "get_peers"/"announce_peer" messages to?
Or am I just too stupid to see the information in the spec? ;)
Thanks for your help!
More information about the BitTorrent