论文部分内容阅读
近几年来对等网络(即P2P网络)得到了飞速发展,它将Internet边缘节点的资源收集起来,提供强大的计算和存储能力。P2P的发展,改变了Internet的共享行为。在分布计算、协同工作、搜索引擎、文件交换等方面有着广泛的应用前景。P2P网络在没有中心节点的情况下,如何进行资源的查找定位是一个很重要的问题,特别是查找的高效性和可靠性。目前的解决方案主要是:增加中心节点完成查找工作形成混合式P2P网络;非结构化P2P网络的泛洪算法和结构化P2P网络的DHT算法。混合式P2P网络以Napster为代表,它的中心节点是整个系统的瓶颈,它的失效将导致查找的完全失效;泛洪算法以Gnutella为代表,解决了中心节点的瓶颈问题,但泛洪算法导致数据报在网络中广播,随着网络规模的增长,四处广播的数据报很快就把网络带宽耗尽;为了避免泛洪式搜索产生的冗余消息,研究人员提出了结构化P2P网络,采用基于分布式哈希表(DHT)的路由算法,DHT路由算法使用分布式哈希函数进行资源定位,快速、可扩展性好;研究人员开发了多个DHT算法,如Tapstry、Pastry、CAN、Kademlia、Chord。其中MIT提出的Chord算法在网络节点变化剧烈的环境中仍然具有较好的性能。
本文研究了各种P2P的资源查找算法,特别重点研究了基于DHT的Chord算法,并分析了Chord路由算法的效率,在此基础上,提出了查找内容缓存和三阶Chord相结合的查找方法,查找内容缓存对节点查找成功的内容保存在节点本地,当节点再次查找相同内容时可快速地定位到目标节点,减小了消息转发次数,三阶Chord使每个节点保存了更多节点的路由信息,节点在查找消息转发时,不断对Chord环进行三分,加大了消息转发的路由跨度,查找请求更快地转发到目标节点。通过查找内容缓存和三阶Chord结合,改进了原有Chord的路由效率。
最后,本文采用了p2psim仿真系统对改进算法进行仿真,通过仿真测试,验证了改进方法在保证原有Chord的性能提前下,减小了查找消息在网络上的转发次数,也就减小了查找消息的网络延迟,提高了资源查找效率。通过分析和仿真测试,改进算法具有更好的性能,是可靠可行的资源查找算法。