DHT在哪里发送公告?

时间:2015-08-21 12:44:46

标签: bittorrent dht kademlia

写另一个支持DHT的torrent客户端我遇到了关于在DHT上宣布的问题。很明显,我必须将get_peers发送到越来越接近搜索到的信息散列的节点,直到至少有一个节点响应具有该信息散列的对等列表。

根据我的理解,我可以找到多个节点响应,知道信息哈希的重叠对等列表。现在的问题是,我是否应该向返回同行列表的所有节点宣布我的存在,或者只选择一个节点。有关此帐户的建议是什么?

也许我错了,它的工作方式有所不同,我的假设是错误的,并且不可能有多个节点与同一个信息哈希的对等列表?

1 个答案:

答案 0 :(得分:1)

  

很明显,我必须将get_peers发送到越来越接近搜索到的信息散列的节点,直到至少有一个节点响应具有该信息散列的对等列表。

您实际执行迭代查找,直到响应不返回任何新的节点联系信息,这些信息比已响应并包含写令牌的 K 最近条目更接近目标键。

  

现在问题是,我是否应该向所有返回列表的节点宣布我的存在

仅限于 K -closest-node-set。如果通知失败(错误消息或无响应),您还可以回溯以确保至少获得 K 存储请求已确认。