一种支持Kademlia网络的高效节点查询方法技术

技术编号:35772094 阅读:20 留言:0更新日期:2022-12-01 14:14
本发明专利技术公开一种支持Kademlia网络的高效节点查询方法,针对现有基于XOR运算的Kademlia网络节点查询方法仅考虑节点间的逻辑距离,而未考虑节点的实际物理位置对网络通信的影响的问题,在现有节点查询方法的基础上进行改进,设计增加了通过资源感知获取节点间的网络参数,根据资源感知信息评估节点的性能、工作情况和连接情况,并对节点划分等级,在节点查询过程中,综合XOR逻辑距离和节点等级两点因素考虑进行节点选取,从而提升Kademlia网络节点查询效率。网络节点查询效率。网络节点查询效率。

【技术实现步骤摘要】
一种支持Kademlia网络的高效节点查询方法


[0001]本专利技术属于数据通信的
,尤其涉及一种支持Kademlia网络的高效节点查询方法。

技术介绍

[0002]Kademlia协议是一种分布式哈希表技术,是第三代对等网络的节点动态管理和路由协议,以全局唯一ID标记对等网络节点,通过独特的以异或算法(XOR)为距离的度量基础,分割子树构建路由表,建立一种全新的DHT拓扑结构,与前两代协议如Chord、CAN、Pastry等相比,极大提高了路由查询速度。
[0003]对于每一个节点使用唯一的ID来标识,通常采用160位哈希空间作为Node ID,理论上 可容纳2
160
个节点。每个节点的位置利用其ID值得最短前缀唯一确定,可以使用一棵以最短 前缀为叶子节点的二叉树来构建整个网络拓扑,并且可以利用节点间的逻辑距离将二叉树划 分为各个子树,即K桶,最多可划分160个K桶。
[0004]KAD网络中节点查询的核心思想是逐步迭代递进查询,根据目标节点与本地节点XOR距离能够找到对应的K桶,从中获取n个节点进行查询,每次迭代查找的距离至少减半,整个查询呈收敛状态,复杂度为,如节点总数量为8个,则最多查询3次可得到目标节点。在KAD网络中,查询过程仅考虑了节点间的逻辑距离,而未考虑节点的实际物理位置对网络通信的影响的问题,可能造成链路资源和存储资源的极大浪费。

技术实现思路

[0005]针对现有KAD网络中基于XOR逻辑距离的节点查询方法存在的问题和不足,本专利技术提出一种支持Kademlia网络的高效节点查询方法,该方法设计增加了通过资源感知获取节点间的网络参数,根据资源感知信息评估节点的性能、工作情况和连接情况,并对节点划分等级,在节点查询过程中,综合XOR逻辑距离和节点等级两点因素考虑进行节点选取,从而提升Kademlia网络节点查询效率。
[0006]本专利技术采用的技术方案为:一种支持Kademlia网络的高效节点查询方法,包括以下步骤:步骤1,通过节点间链路资源状态信息对本地存储的节点划分等级;步骤2,执行节点查询流程时,首先通过本地节点ID和目标节点ID进行XOR运算,得出两者逻辑距离,确定K桶,然后根据节点等级,从K桶中选取查询节点。
[0007]进一步地,步骤1的具体方式为:本地节点采集与其他节点间的带宽、时延、丢包率的链路参数,对本地存储的节点进行等级划分。
[0008]进一步地,步骤2中,根据节点等级,从K桶中选取查询节点,具体方式为:根据节点等级对K桶中存储的节点进行排序,向等级高的节点发送FIND_NODE操作。
[0009]本专利技术相比现有技术的优点为:1、本专利技术在原有KAD网络基于XOR逻辑距离节点查询方法的基础上,考虑了实际物理位置和链路状态对信通效率的影响,避免了网络中链路资源和存储资源的浪费。
[0010]2、本专利技术方法简单,易于实现,效果良好。
附图说明
[0011]图1是本专利技术实施例中高效节点查询方法的流程图。
[0012]图2是本专利技术实施例中的二叉树查询示意图。
[0013]图3是本专利技术实施例中的节点实际物理位置示意图。
具体实施方式
[0014]下面结合附图和具体实施方式对本专利技术作进一步地说明。
[0015]一种Kademlia网络高效节点查询方法,其流程如图1所示,当Kademlia网络中某节点需要与目标节点通信,需要已知目标节点的Node ID,然后执行节点查询流程,具体过程如下:步骤S101,本地节点ID与目标节点ID进行XOR运算,即对应位相同为0不同为1,得出本地节点与目标节点的逻辑距离,然后转入步骤S102。
[0016]步骤S102,通过步骤S101得出的逻辑距离,本地节点确定要查询的K桶。在Kademlia网络中,每个节点都存储一些和自己距离范围内的一些节点信息,这些节点信息按照[2
i
,2
i+1
) 距离范围存储在不同K桶。
[0017]步骤S103,Kademlia网络中的节点在执行查询节点、查询数据等交互操作的同时,同步采集节点间的链路资源状态信息,并存储在本地,主要包括对带宽、时延、丢包率等参数进行测量。
[0018]其中,带宽资源采集采用探测间隔模型(Packet Gap Model,PGM),探测间隔模型的基本思想是:在进行数据传输时,由于背景流量的存在,在经过紧链路时,探测包之间的间隔会由于背景流量的插入而引起变化,此时如果知道紧链路容量,就可以根据探测报文输入输出间隔的变化计算出背景流量,进而得到可用带宽。
[0019]时延资源采集通过向网络中注入探测包,测量过程结束后获得的时延测量样本集合构成了时间区间内端到端路径时延的时间序列。因此,时延测量采用发送端主动发送ICMP请求报文,同时监听ICMP响应,通过比较收发时间间隔,得出双向时延值。
[0020]丢包率采集采用主动测量方式,主动测量丢包率的基本过程是在指定时间内,周期性地由源端向目的端持续发送探测数据包,若某个探测包在规定的时间阈值内没有收到响应数据包,则记为一次丢包事件。
[0021]步骤S104,本地节点根据步骤S103采集的带宽、时延和丢包率三项链路资源状态信息评估本地存储节点的工作情况和连接情况,并进行等级划分。
[0022]步骤S105,本地节点根据步骤S102确定K桶,结合步骤S104中的节点等级信息,综合考虑逻辑距离和“物理距离”,进而选取最优的查询节点,提升节点查询效率。
[0023]如图2所示,本地节点0011的节点查询过程,目标节点Node ID为11110,黑色箭头表示传统查询方式,红色箭头表示改进的高效查询方式,可以看出,传统方式与改进方式的
查询次数均为4次,并且每次查询的K桶也一致,说明改进的高效节点查询方式为改变Kademlia网络逐步迭代递进查询的机制。
[0024]如图3所示,Kademlia网络节点“物理位置”,黑色箭头表示传统查询过程,红色箭头表示改进的高效查询过程,“物理位置”相距远的节点间的通信时延较大,“物理位置”相距近的节点间的通信时延较小,改进的高效节点查询方法在K桶选取机制不变的前提下,根据节点“物理距离”选择最优的查询节点,降低查询流程的通信总延时。
[0025]综上所述,本专利技术提供的一种支持Kademlia网络的高效节点查询方法,通过采集节点间的链路资源状态信息,对本地存储的节点划分等级,辅助选取下一步所要查询的节点,在不改变K桶的情况下,优先选择链路资源状态好的节点,避免了仅依靠逻辑距离导致选取迂回曲折的查询流程,有效提高了Kademlia网络的节点查询效率。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种支持Kademlia网络的高效节点查询方法,其特征在于,包括以下步骤:步骤1,通过节点间链路资源状态信息对本地存储的节点划分等级;步骤2,执行节点查询流程时,首先通过本地节点ID和目标节点ID进行XOR运算,得出两者逻辑距离,确定K桶,然后根据节点等级,从K桶中选取查询节点。2.如权利要求1所述的一种支持Kademlia网络的高效节点查询方法,...

【专利技术属性】
技术研发人员:匡春旭贾哲焦利彬刘丽哲赵阳阳冯伟坡贺二路贾紫艺高小涵
申请(专利权)人:中国电子科技集团公司第五十四研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1