如果我的洪流中没有任何跟踪程序,而我只是启动了一个痛苦的客户端,所以我还没有同龄人……我怎么知道谁首先要与DHT联系?看来我必须至少知道DHT中的一个节点才能开始....
当BitTorrent客户端连接到DHT时,它会在最初位置找到对等方。使用原始的BitTorrent客户端,有一个指向bitorrent.com的URL,它将帮助您开始工作。我尝试查找参考,但找不到。与其他客户端建立连接后,就可以在DHT网络上执行announce
来查找所需种子的对等体。
这里是讨论DHT的BitTorrent specs的链接。
无轨洪流字典不会没有“宣布”键。相反,Trackerless torrent具有“节点”键。该密钥应设置为K山洪中最近的节点生成客户端的路由表。或者,可以将密钥设置为一个已知的好节点,例如一个已操作的节点产生洪流的人。请不要自动添加“ router.bittorrent.com”到洪流文件或自动添加此节点到客户端路由表。
主线DHT引导节点是router.utorrent.com
,并且是它的CNAME router.bittorrent.com
。端口6881
。
此DHT monitoring project网站底部的图形显示
作为自举同行
在BiTTorrent中,您有三个主要选择:
nodes
以便与您链接到DHT(实际上,建议在制作种子文件时使用该文件)Transmission
使用dht的hardcoded bootstrap node,如果没有其他方法可以获取对等体:
bootstrap_from_name( "dht.transmissionbt.com", 6881, bootstrap_af(session) );
我想每个洪流客户端都使用他们自己的引导程序节点。
为了记录,Deluge也使用hardcoded boostrap nodes:
dht_bootstraps = set(
lt_bootstraps.split(',')
+ [
'router.bittorrent.com:6881',
'router.utorrent.com:6881',
'router.bitcomet.com:6881',
'dht.transmissionbt.com:6881',
'dht.aelitis.com:6881',
]
)
客户可以通过与其他具有DHT功能的对等方的交互来了解它们。同行对DHT的支持在其握手中作了广告。一旦客户端发现至少一个良好的,良好连接的DHT对等方,它就可以导航DHT以查找更多和更近的DHT对等方。它将记住这些对等点(在DHT中称为节点),在软件重新启动之间并在列表运行时连续维护/更新列表。在更糟的情况下,客户不知道具有良好DHT能力的同伴,它将要求您下载基于跟踪器的种子,以便希望与通过跟踪器了解到的一些具有良好DHT能力的同伴联系。
更新:对于@Dep对等体的DHT对等体的初始列表,torrent客户端可以使用一个或多个硬编码DNS名称来查找知名对等体的地址,并且还可以包括对等对等体的硬编码列表最后的回退。 DNS的一个限制,但是,它没有提供端口信息,因此通常假定默认端口为6881,而其他方式则支持在不同端口上运行的对等项。