emule中Kademlia协议具体实现-winxgui.pptVIP

  • 12
  • 0
  • 约8.81千字
  • 约 38页
  • 2017-08-24 发布于重庆
  • 举报
emule中Kademlia协议具体实现-winxgui.ppt

* * * * * * * * * * * * * 需要说明的是,只有第一步查询的节点101,是节点0011 已经知道的,后面各步查询的 节点,都是由上一步查询返回的更接近目标的节点,这是一个递归操作的过程。由于各节点 路由信息的不确定性(节点动态加入和离开引起),图2 只是展示了多种可能搜索路径的一 个具体实现。 * * * * * * 查找其他节点 在Kademlia网络中,节点搜索的实现方式是迭代式的搜索。这种方式就是说当开始搜索某个ID时,在本地联系人信息列表中查找到距离最近的联系人,然后向它们发出搜索请求,这样通常都能够得到一些距离更近的联系人信息,然后再向它们发送搜索请求,通过不断得进行这样的搜索查询,就能够得到距离目标ID最近的那些联系人信息。这里对应的消息代码是KADEMLIA_REQ和KADEMLIA_RES。 由于每次查询都能从更接近目标节点的K 桶中获取信息,这样的机制保证了每一次递归操作都能够至少获得距离减半(或距离减少1bit)的效果,从而保证整个查询过程的收敛速度为O( logN),这里N 为网络全部节点的数量。 * 假如节点x 要查找ID 值为t 的节点,Kad按照如下递归操作步骤进行路由查找: 计算到t 的距离:d(x , y) = x ⊕ y 从x 的第[㏒ d]个K 桶中取出α 个节点的信息(“[ ]”是取整符号),同时进行FIND_NODE

文档评论(0)

1亿VIP精品文档

相关文档