论文部分内容阅读
目前互联网上的计算机通信环境日益复杂,P2P(peer to peer)作为混合网络中的一个重要部分,受到人们广泛的关注,围绕P2P覆盖网络进行的研究多种多样。能否高效的进行网络中的资源定位,作为P2P网络研究的重点问题之一,直接关系到P2P网络后续资源共享的成功与否。在研究者们提出的各种资源定位算法中,典型的代表有MIT提出的Chord算法,该算法为基于DHT的结构化的查找算法,具有可扩展性好、负载平衡性好以及可靠等诸多优点,同时也存在一些不足。本文对经典的结构化的chord资源查找定位算法进行了详细研究,包括对chord协议的算法实现以及基本特点进行的分析,并以此为基础进行了优化改进。从搜索查找算法存在的几点不足入手,研究并提出了改进的算法C2chord。改进算法从拓扑结构与路由表两个方面,针对搜索所需要的跳数进行优化,将双层路由与三阶路由表项相结合,减少了整个过程中所需要的查找跳数,同时,在原来单向查找的基础上,配合使用反向查询,使得整个查找过程的时延减少。另外,针对chord协议逻辑网络与实际物理网络相分离造成的时延大,路由效率低的问题,提出了在进行分层时,使用网络的网络地址与主机地址作为结点分层标识,使得物理相邻的结点在逻辑上更近,从而减少时延。为了使网络具有更好的可靠性,在分层时使用了性能好的结点作为主结点与备份主结点,提高了整个系统的容错性,也更有效的利用了结点的性能。最后,通过使用仿真系统P2PSim,对所提出的优化后的C2chord算法进行了仿真实验,比较chord算法与C2chord算法的性能,从而证明了改进后的协议,对资源搜索定位的效率进行了提升,从仿真情况看,时延降低了至少20%,减少了查找跳数,比原算法具有更好的性能。