Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How does a DHT in a Bittorent client get "bootstrapped"?

Tags:

dht

bittorrent

If I have a torrent w/o any trackers in it, and I just started a bittorent client so I have no peers yet...how do I know who to first connect with in the DHT? It seems like I would have to know at least ONE node in the DHT to get started....

like image 972
puffpio Avatar asked Jul 25 '09 05:07

puffpio


People also ask

How does BitTorrent DHT peer discovery work?

Once connected, the DHT server will send out a handful of peer IP addresses that you'll also connect to. They'll give you the addresses of peers connected to them, and so on, and so forth, until your peer list shows all the peers downloading (or seeding) the file you're trying to get.

Does BitTorrent use DHT?

BitTorrent uses a "distributed sloppy hash table" (DHT) for storing peer contact information for "trackerless" torrents. In effect, each peer becomes a tracker.

What is enable DHT in BitTorrent?

Enable DHT Network enables the Distributed Hash Table (DHT) if checked. You can also do this by right-clicking the DHT status in the main window status bar and selecting the corresponding option. Enable DHT for new torrents tells µTorrent to check for peers from the DHT network on each newly added torrent job.

How do BitTorrent peers find each other?

In peer-to-peer systems like BitTorrent and Bitcoin, you start your local program on a networked computer, and you become connected to other instances of the same program running on lots of other computers. The local process starts listening on a local port, and finds IP:port pairs for those other processes.


2 Answers

The mainline DHT bootstrap nodes are router.utorrent.com and a CNAME to it, router.bittorrent.com. Port 6881.

like image 81
Martin v. Löwis Avatar answered Sep 29 '22 08:09

Martin v. Löwis


When a BitTorrent client connects to DHT, there is an initial place that it goes to find peers. With the original BitTorrent client, there was a url to bitorrent.com that would help get things started. I tried looking up the reference but I couldn't find it. Once you've established connections with other clients, then you can do an announce on the DHT network to find peers for the torrent you're looking for.

Here's a link to the BitTorrent specs that discuss DHT.

A trackerless torrent dictionary does not have an "announce" key. Instead, a trackerless torrent has a "nodes" key. This key should be set to the K closest nodes in the torrent generating client's routing table. Alternatively, the key could be set to a known good node such as one operated by the person generating the torrent. Please do not automatically add "router.bittorrent.com" to torrent files or automatically add this node to clients routing tables.

like image 34
Chris Thompson Avatar answered Sep 29 '22 08:09

Chris Thompson