论文部分内容阅读
自1999年Napster的流行,P2P技术的研究日益升温,近几年呈现了迅猛发展的态势,并被《财富》杂志誉为“将改观因特网未来的四大新技术之一”。P2P技术解决了传统C/S模型“单点故障”和“访问热点”的问题,能有效的抵御DoS攻击,并且对平衡网络流量、有效利用客户资源、永久存储需求等给出了良好的解决方案。 在P2P网络中,每台计算机同时充当服务器和客户机角色,既请求服务又提供服务,具有分散性、规模性、自治性等特点。这样,使整个Internet网络应用的核心从中央服务器向网络边缘的终端设备扩散,人们将以更主动的方式参与到网络活动中去,使Internet重返自由和平等的本质,并极大地提高对信息、带宽等资源的利用率,使得Internet上的共享行为被提升到了一个更高的层次。 P2P的关键技术之一是在物理网络之上搭建一层所谓的覆盖网络,以提供资源发现和定位的服务。覆盖网络是一种逻辑网络,一般分为两种:一是以Gnutella为代表、基于泛洪(flooding)算法的非结构化网络,二是以Chord、Kademlia等为代表、基于分布式哈希表(DHT)的结构化网络。但由于泛洪算法在网络规模的扩大时,其发送消息数呈指数增长,极易引起网络风暴,所以,目前的研究热点聚焦在基于DHT的方法上。 本文重点研究了Chord、Kademlia等基于DHT的协议,并探究了BT、eMule等流行软件的实现原理。同时,对构建P2P系统的基础平台JXTA做了深入的分析,尤其对JXTA中的“分层”和“超级节点”的思想作了详细的了解,并在此基础上提出了一种新的资源查找模型——RCDHT。 RCDHT是在Kademlia协议的基础上,主要针对当前网络节点能力的异构性,考虑节点的位置信息,作出了如下三点改进: 1) 针对节点的异构性,对Kademlia模型进行改进,尤其是对k桶机制的信息存储和参数设置进行优化;使得综合性能强的节点存放更多的路由信息、提供更多的服务,降低因弱节点造成系统瓶颈的机率。 2) 针对节点的位置信息,引入了“时间戳”的概念,旨在分配节点ID时考虑其物理位置信息;使得物理距离近的节点逻辑距离也相对较近。 3) 为了更好的组织和管理网络,我们将整个P2P网络分为两层:主干网和子网。主干网采用改进后的Kademlia协议,而子网采用中心化拓扑结构;使得各自优势相互补充、相得益彰。 最后,为了验证RCDHT在节点频繁变化的实际网络环境中的性能表现,本文使用MIT开发的P2PSim模拟器做了模型仿真和性能比较。结果表明,RCDHT对系统的性能确有提升。 目前,基于P2P的大量应用已应运而生,如Skype、BT、eMule,Groove等,涉及到分布式计算、文件共享、即时通信与协同、系统平台等诸多领域。我们有理由相信,P2P不仅是一个有意义的研究领域,也是一个有契机的商业市场,P2P技术必将迎来更加辉煌的明天!