论文部分内容阅读
随着网络发展的逐步深入,日常生活中的各种资源信息与网络的关系日益密切,人们对资源共享和资源交换的需求越来越广,快速而有效地交换和共享资源成为人们迫切需要解决的问题之一。对等网络(Peer-to-Peer,P2P)技术的产生和发展,对解决该问题具有积极的意义。Kademlia协议是一种基于P2P网络的应用层协议,已在全球范围内被广泛应用。现在最流行的文件共享与下载系统eMule和BitTorrent都是基于Kademlia协议的。针对Kademlia协议进行的研究与改进,对增强网络的鲁棒性和抗干扰能力,减少资源查找时间和网络开销,提高网络中节点间的传输效率,减轻网络负载,改进网络总体性能具有积极的作用。 本文在深入研究Kademlia协议的基础上,通过对多种基于Kademlia协议的改进协议进行分析,构建了一个基于Kademlia协议的改进协议Kad-D,并实现了Kad-D协议与Kademlia协议的兼容。Kad-D协议中节点需要统计路由过程中传递的消息量,通过对消息量的分析,得到当前网络运行环境的状况,从而可以依据网络状况调整网络中节点传输的消息量,优化当前路由查询的复杂度与路由时延,并利用PeerSim模拟器进行了仿真实验。实验结果表明,Kad-D协议在路由复杂度、查询时延、消息数量等方面都优于Kademlia协议。 随着对Kademlia协议的深入研究,在基于Kad-D协议的基础上构建了一个查询复杂度只有的单跳协议OneKad。OneKad能够实时高效地在网络节点间传递整个网络的路由信息,并减少资源查询时的路由复杂度。它的路由表结构类似Chord环,并采用哈希队列实现环状路由表,保证了节点在进行内部路由查询时的高效性。OneKad协议计算节点间的距离的方式与Kademlia相似,并且继承了Kademlia路由简单的思想。在路由维护时,节点收到路由更新消息,并判断网络状况,根据网络状况调节递归路由更新与迭代路由更新的方式,从而缩短路由长度与时延。通过对OneKad协议进行仿真实验和对实验结果的分析,可以得出:OneKad协议可以在很少的路由维护开销下保持资源查找成功率,且复杂度为O(1),达到了改进 Kademlia和 Kad-D协议的目的。 为了验证Kad-D和OneKad协议的实用性,将Kad-D与OneKad协议的应用在P2P流媒体点播原型系统上,运行结果表明:Kad-D和OneKad协议在实际应用中运行正常,具有一定的应用价值。