如果我的洪流中没有任何跟踪程序,而我刚刚启动了一个痛苦的客户端,所以我还没有同龄人……我怎么知道谁首先要与DHT联系?看来我必须至少知道DHT中的一个节点才能开始...。
Answers:
当BitTorrent客户端连接到DHT时,会有一个初始位置来查找对等方。使用原始的BitTorrent客户端,有一个指向bitorrent.com的URL,它将帮助您开始工作。我尝试查找参考,但找不到。与其他客户端建立连接后,便可以announce
在DHT网络上进行查找,以查找所需种子的对等体。
这是讨论DHT的BitTorrent规范的链接。
无追踪程序的torrent词典没有“宣布”键。取而代之的是,无追踪程序的torrent具有“节点”键。该密钥应设置为在洪流生成客户的路由表中的K个最近的节点。或者,可以将密钥设置为已知的良好节点,例如由洪流生成者操作的节点。请不要将“ router.bittorrent.com”自动添加到torrent文件中,也不要将此节点自动添加到客户端路由表中。
主线DHT引导程序节点是,router.utorrent.com
还有一个CNAME router.bittorrent.com
。港口6881
。
Transmission
使用硬编码,引导节点的DHT如果没有其他的方式来获得同伴:
bootstrap_from_name( "dht.transmissionbt.com", 6881, bootstrap_af(session) );
我猜每个洪流客户端使用他们自己的引导节点。
作为记录,Deluge还使用了硬编码的boostrap节点:
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能力的同伴联系。
更新: @Deppo指出,对于DHT对等体的初始列表,torrent客户端可以使用一个或多个硬编码DNS名称来查找知名对等体的地址,并且还可能包括DHT对等体的硬编码列表。同行作为最后的后备。DNS的一个限制,但是,它没有提供端口信息,因此通常假定默认端口为6881,而其他方式则支持在不同端口上运行的对等方。
announce
在DHT网络上吗?我以为您做了一个get_peers()
甚至连摘要都get()
没有找到同伴?