我正在尝试访问一个Torrent分布式哈希表网络,并且我很难弄清楚如何访问分布式哈希表中的“入口”节点。
How does a DHT in a Bittorent client get "bootstrapped"?
描述了在端口6881 (UDP)上运行的router.bittorrent.com和router.utorrent.com可以使用几个标准入口节点。http://www.bittorrent.org/beps/bep_0005.html描述了如何与分布式哈希表服务器交互的协议。
但是,如果我向router.utorrent.com:6881发送一个简单的UDP消息,我怎么知道响应我的请求时,哪个端口消息会发回给我呢?我尝试在发送到6881的同一端口上侦听消息,但没有收到任何消息。
这些入口点是否仅限于他们自己的客户端(uTorrent),或者任何第三方客户端都可以使用他们的“路由器”?
发布于 2011-08-02 02:00:43
DHT响应始终发送到发送查询的同一端口。
如果你没有从router.utorrent.com得到响应,可能是因为它暂时关闭了,或者因为它的网络接口饱和了(我最后一次检查它是每秒处理6000个请求,iirc)。如果您只发送了一条消息,它也可能在网络中丢失。
分布式哈希表路由器不响应的另一个原因是您的查询格式不正确。我建议运行wireshark,将uTorrent的分布式哈希表消息与您自己的消息进行并排比较。
uTorrent的DHT路由器没有锁定到任何特定的客户端,任何人都可以使用它进行引导。
作为bootstrap的另一种方式,您可以下载一些流行的.torrent文件,向跟踪器宣布,并从同级中启动。
https://stackoverflow.com/questions/6899112
复制相似问题