基于优化Kademlia协议的P2P网络资源发现算法研究
2021-07-26徐卫克
网络安全技术与应用 2021年5期
◆徐卫克
(中国社会科学院大学 北京 102488)
与以往集中型客户端模式对比,P2P 网络的优势在于数据共享可在节点间开展。因P2P 技术无须中央控制器支持,整个文件交换不受其他因素干预。受该技术去中心化特性影响,P2P 网络传输中资源很难被追踪监管,很容易导致盗版文件、非法传播等网络安全问题。对此,应在Kademlia 协议基础上采用DHT 技术控制非法内容传播,使合法内容传播安全得到切实保障。
1 Kademlia 协议概述
该协议中节点间可相互通信,无须中央控制器支持。多个节点构成分布式网络,网络中任意节点均可在网络中采集资源。在该协议基础上,各个DHT 节点均由三项内容组成,即IP 地址、端口与节点ID。其中,节点ID 是节点IP 地址与端口经过SHA-1 算法散列后得出,各个节点信息都会存储到路由表中,且任何2 个节点之间的距离可通过节点ID 的异来表示。
1.1 节点路由表
在该协议中,各个节点在初始状态下被分配成一个160 位的节点ID,节点之间距离可通过计算得出,公式为:
Distance(A,B)=IDAXORIDB
式中,IDA 与IDB 分别代表的是节点A 和B 的节点ID。节点之间ID 异是长度为160 的比特数组。节点之间逻辑距离计算可打破地域上的距离限制,使逻辑距离变得更加贴近。路由表由K 桶列表构成,对于任意编号为i 的桶而言,各个节点均存储到与自身相距2i距离的节点信息中。路由表中的节点可根据距离不同而分层,如若结果数组由倒数第i 位开始并非为0,该节点存储在该节点路由表的第i 层中。路由表可根据节点间距离分成160 层,第i 层中无法存储全部节点,只能将与自身距离最近的节点存入其中,最多可纳入2i 个节点[1]。……
登录APP查看全文
