0

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

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

也许我弄错了,它的工作方式有些不同,我的假设是错误的,不可能有多个节点具有相同信息哈希的对等列表?

4

1 回答 1

1

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

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

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

仅到K -closest-node-set。如果宣布失败(错误消息或无响应),您还可以回溯以确保您至少得到K个商店请求的确认。

于 2015-08-21T13:01:02.077 回答