BEP-05中的KRPC协议行为很奇怪

时间:2019-02-01 03:51:59

标签: bittorrent dht torrent

根据BEP-05,当您启动find_node或get_peers请求时,您将收到查询消息或最接近目标/信息哈希的K(8)个良好节点。

但是,在我的情况下,使用引导程序节点router.utorrent.com:6881,远程服务器返回了最接近自身nodeId的8个节点。并且,如果这是一个get_peers请求,它将始终返回最接近self的8个节点和7个无效的peer。但是,如果访问重定向到信息哈希附近的某个特殊节点,该协议将正常运行。

wireshark

weird wireshark dump

success wireshark dump

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

只要引导节点允许您填充路由表,您就不必过多关注它们,因为这是它们的主要目的。

它们接收到不成比例的流量,并且为了避免将过多的流量引向任何特定的节点,它们可能会以几种无害的方式偏离规范,只要网络中只有一小部分消失就可以了。引导节点只有几百万个数,因此它们的行为可以忽略不计,因此不应作为参考点。

通过获取对等点来联系引导节点也没有意义。 查找节点查询将是填充路由表的正确选择。并且仅在other mechanisms were not successful这种相对罕见的情况下才需要与他们联系。