【问题标题】:When should I stop the recursive `get_peers` DHT search?我应该什么时候停止递归 `get_peers` DHT 搜索?
【发布时间】:2021-01-02 13:50:53
【问题描述】:

由于 DHT 节点可能是恶意的并报告虚假的values(即虚假对等点),因此我们不应在收到任何响应后立即停止搜索对等点,以期从另一个好的节点获得真正的对等点。

我们甚至不必假设有恶意:在探索 DHT 的不同分支时,如果我们只关注最短的分支,我们可能会错过更多(甚至更好)的对等点。

我应该何时停止递归 get_peers DHT 搜索?我们应该继续搜索直到搜索空间中的所有节点都用完吗? IE。一旦我们没有从最后一个候选人那里得到任何未查询的nodes

【问题讨论】:

    标签: bittorrent dht


    【解决方案1】:

    如果

    K-closest-node-set 的迭代查找完成

    A) 以下都是正确的

    1. 没有正在进行的请求(即得到响应、ICMP 错误或超时),其响应可能会改变最近节点集
    2. 您的最近集至少有 K 个条目
    3. nodes/nodes6 字段中检索到的候选对象没有比结果集中最远的 K 个条目更接近

    B) 当你的候选人用完时

    在计算 K-closest-set 时,您还需要考虑后续操作的资格(如果有)。例如。如果您想跟进 announce_peer,则 K-closest-node-set 必须包含返回 token 的节点,因为不返回令牌意味着 inability to store additional values

    【讨论】:

      猜你喜欢
      • 2010-09-05
      • 2015-11-05
      • 2022-01-13
      • 1970-01-01
      相关资源
      最近更新 更多