论文部分内容阅读
近几年来,Peer-to-Peer(P2P)技术成为计算机网络最热门的研究课题之一。在计算模式上P2P打破了传统的Client/Server(C/S)模式,处在网络中的所有节点都是对等的,它们既可以是客户,又为其他节点提供服务,因而P2P网络具有非中心化,可扩展性,高性价比,负载均衡等特点,这使其发展迅猛,基于P2P技术构建的新型的互联网应用也层出不穷,其应用范围十分广阔,关于文件共享的有Napster,eMUle;关于即时通讯的有ICQ,QQ;关于计算能力和存储能力共享的有Power,Popular。P2P网络大体分为结构化与非结构化,其中结构化的P2P网络通常使用分布式哈希表(DHT)作为其路由表,典型的结构化P2P算法有Chord,CAN,Tapestry,Pastry等,这些算法具有可靠性高,容错性强的特点,而且查找的效率非常高,查找算法的复杂度基本上都是O(LogN),已经被广泛地应用于各种的分布式系统中。Chord协议是一种基于DHT的全分布式结构化P2P网络协议,由麻省理工学院提出,其不仅拥有分布性,可扩展性,负责均衡等优点,而且相当简洁,仅仅3000行代码就可以完成一个完整的Chord协议。但是Chord协议也有很明显的不足,当查找距离超过半个Chord环时,查找过程不得不经过至少一个节点的转发,增加了跳数,而又无法估计其转发的代价,因此有必要减少Chord协议的转发跳数。本文依此提出了对Chord协议的改进协议:Pendulum_Chord。Pendulum_Chord协议扩展了指针表,采用更进一步的贪婪策略,从目标节点的两侧逐步逼近目标节点,其查找路线呈钟摆状。本文采用P2Psim模拟器设计了仿真实验,最后对实验的结果进行了比较和分析。