论文部分内容阅读
目前,互联网系统的模式正在发生从传统的客户机/服务器(client/server)模式到对等计算(peer-to-peer,亦简称P2P)模式的转变。P2P的核心思想是所有参与系统的节点(指互联网上的计算机)处于完全对等的地位,没有客户机和服务器之分,也可以说每个节点既是客户机,也是服务器;既向别人提供服务,也享受来自别人的服务。实际上,对等计算的概念在很早以前就已提出,但一直没有受到广泛的重视,主要是因为没有实际运行的系统作为背景。产业界和研究界都普遍认为在大多数情况下还是客户机/服务器模式更为合理。然而,随着PC技术和互联网(Internet)的发展,个人电脑的计算能力越来越强,接入带宽也逐渐增大,如何更好地利用所有节点(尤其是原先处于服务器地位的节点)的能力搭建更好的分布式系统自然而然地成为人们关注的问题。事实上,P2P已逐渐成为一种将来社会不可避免的计算模式,即:人人贡献出自己的资源、人人享受他人提供的资源。或许这种模式将遇到网格模式(即所有资源和服务由某大型提供商提供,用户付费以获得资源并保证服务质量)的竞争,但是由于对等计算具有良好的可扩展性,可以对资源进行充分利用等优点,必然会长期存在下去,会得到更广泛的应用空间。因此,国际上各国研究小组对P2P系统及如何增强P2P系统的各种性能开展了深入研究,并且产生很多成果。如:1999年推出并迅速得到普及的Napster,它采用了集中式的目录服务器机制,目录服务器中存放对等节点的地址信息和所保存的数据的信息。而非结构的P2P网络模型Gnutlla则采用完全分布式的策略来实现数据放置和资源定位。2001年提出了以Chord、CAN、Pastry和Tapestry等为代表的结构化覆盖网(structured overlay network)及分布式哈希表(Distributed Hash Table,DHT)系统。这些系统的应用范围包括存储系统、DNS系统、在线游戏、网页缓存、新闻组等等。然而,P2P的发展中也有许多关键技术有待解决和改善,如拓扑一致性与资源定位、互操作性、安全加密、QoS问题等,其中用户如何在大量分散的节点中找到需要的资源和服务即资源的查找与定位机制是关键技术的关键,也是研究的一个热点。Napster采用了集中式的目录服务器机制,目录服务器中存放对等节点的地址信息和所保存的数据的信息。但随着用户数的增加,服务器仍将是系统中的瓶颈和单一的故障点。非结构的P2P网络模型Gnutlla采用完全分布式的策略来实现数据放置和资源定位。但采用类似OSPF的路由协议的泛洪机制,这种协议的一方面造成的网络通信负担较大,另一方面,网络的可扩展性也较差。同样DHT也面临许多问题,Sylvia Ratnasamy等人在总结现有的DHT路由算法的基础之上提出了结构化对等网络面临着十五个主要问题。其中指出提高DHT路由效率是基于DHT的P2P研究的重点,而P2P路由性能直接影响P2P应用的推广。由上可以看出,在P2P的算法中,路由和数据定位方面也都存在明显的不足和缺陷。因此本文从资源的定位和查找入手分别对非结构化的P2P网络和结构化的P2P网络进行深入研究,提出改进方案,通过仿真验证改进前后的路由查找效果。本文的主要工作和创新点如下:1、将拓扑信息引入非结构化P2P网络中,并利用非结构化P2P网络的自身特点对网络进行域的划分和超级节点的选择,从而提高查询的效率和成功率,减轻网络的负担。在研究过程中,我们注意到,非结构P2P网络具有“幂规律”和“小世界”特征,因此网络有很高的聚合性,而现有的非结构P2P网络利用泛洪机制进行数据查询具有盲目性和随机性。因此,利用聚合性对网络进行区域划分并按区域进行数据的查询是一个新的尝试。2、提出了基于Chord系统的双向资源放置和查询方法。在Chord算法中,数据只是存储于后继节点中,因此查询的过程也只能按顺时针方向进行。即使数据的哈希值逻辑上离查询节点很近,只是因为在逆时针方向上,所以查询可能要完成整个环的查询后才能查询到数据,而将数据和资源进行双向存储和查询将能有效的减少查询的跳数和延迟。3、构建P2P网络仿真系统,对改进后方案进行模拟和仿真,并给出仿真结果和分析。