这是我今天第一次读到关于Kademlia的文章,有些观点我不认为我是正确的。
节点和关键点之间的距离是它们的值的xor。
所以,如果我有关键字x和节点y,它们之间的距离是x x或y。
但是为什么要存储我所知道的节点,并按前缀长度对它们进行排序呢?这似乎不是直接与节点ID的xor相关联,以找到与我相近的节点?
当我收到一个值的请求时,我会在与我最接近的存储桶中的节点中搜索,那就是与我具有最大共享前缀的节点,即160个存储桶中的前几个存储桶?
或者,我检查所有存储桶中我知道的所有节点,并计算我正在查找的键与这些节点ID之间的xor,然后根据与键ID的xoring结果将请求发送到前k个匹配项?
对不起,我是DHTs的新手,我发现网上的解释有点不清楚。
发布于 2012-11-21 22:53:15
我想我明白了。常见的前缀相同的存储桶确实与XOR值直接相关,所以它确实对它们进行了排序。我发现这些幻灯片非常有用:http://heim.ifi.uio.no/michawe/teaching/p2p-ws08/p2p-5-6.pdf
https://stackoverflow.com/questions/13494498
复制相似问题