1绪论
1.1研究背景与意义
随着P2P技术的广泛应用,伴随着P2P应用软件的产生,这些P2P软件的共同优点则是每个节点都具客户端和服务器端双重作用,网络中的节点自组织的随时随地加入网络,网络中的资源随机的分布在计算机中,大大的减轻了服务器的负担,从而可以提高系统的稳定性和健壮性。但是,在P2P网络中,用户节点是随机的加入、随机退出的,使系统具有很强的不确定性,P2P网络存在着很大的安全隐患。P2P在文件共享方面带给我们很多便利,但是也给不同网络中的路由交换带来十分巨大的压力,甚至会影响到其他的网络服务。有调查报告表明,P2P占用的网络流量已经大大的超过了 HTTP协议占用的网络流量,占整体网络流量的绝大部分。由于很多P2P软件采用无记忆节点选择方法,导致网络数据流量主要集中在某些链路网络上,从而使某些骨干网络的负担过重无记忆网络节点选择会导致P2P使用者在运营商网络中转播大量的流量,这将导致ISP经济的崩渍[3]。很多机构对P2P的应用和信息进行调研,得出P2P占用大量的网络流量,P2P消耗了巨大的网络带宽,特别是国际带宽。P2P网络之所以产生如此大的流量,主要的原因是过度强调节点间的绝对平等。互联网中任意两个网络节点之间是相互平等的,例如:某个位于上海的节点,可能通过其他的处于上海某地的节点或者一个美国的网络节点同时进行资源片段的下载,这中过度随意的资源共享现象对于用户来说,只能感受到下载速度的差异,但是对于网络运营商来说,跨运营商流量要比本地流量的成本高的多。如果P2P节点能够优先选择本地运营商网络中的资源,不但可以提高下载速度,也可以缓解网络的出口带宽。国内外的研究人员一直致力于P2P网络的研究和学习,并且己经提出了很多不同方法来解决上述问题,ISP也提出了一些预防P2P软件的应用。可以将方法大概分为以下三种类型:(1)由ISP对P2P大流量的问题进行分析,总结出现问题的原因,并提出具体的预防、检测、分析方法,研宄并实施相应措施。(2)从P2P应用本身出发,对P2P软件进行修改、对P2P传输协议进行修改,以避免提供商的发现。(3)结合P2P用户与ISP利益的角度考虑,许多研究人员提出一种基于相互合作,共同受益的网络体系机构。
P2P网络的核心技术资源搜索,目前基于P2P资源搜索的模型主要可以分为以下三种:中心化搜索模型、分布式搜索模型、混合式搜索模型。中心化搜索的典型代表是Napster,引入中央服务器保存共享信息的文件索引和存储位置等信息,减轻中央服务器的带宽消耗、降低文件传输时延;但是Napster模型容易出现单点失效和网络瓶颈等问题。分布式搜索可以分为结构化和非结构化。分布式结构化搜索主要使用基于消息传递机制和基于关键字杏找的定位方法,主流的方法是采用分布式哈希(DHT)技术。DHT技术只在节点中保存临近的节点信息,不关心整个网络的节点信息,同时取消了泛洪式算法,可以保证信息高效的到达目标节点,增强了网络的可扩展性。但是DHT技术的邻居关系由节点间的逻辑距离决定的,缺乏实际物理网络的拓扑关系,节点查询效率比较低。分布式非结构化搜索的典型代表是Gnutella,网络中的资源被分布到各个节点上,完全随机图泛洪式算法和随机转发机制,网络中会产生大量无用信息,容易导致网络阻塞。混合式搜索的典型代表是KaZaa,结合了纯P2P去中心化与集中式快速查找的优点,在纯P2P分布式的基础上引入了超级节点的概念,自动将网络中性能好的节点变成超级节点,可以避免一些恶意攻击、保证网络的负载均衡,大大的提高了搜索效率。但是KaZaa模型中对超级节点依赖性比较大,使得网络的容错性受到一定的影响。针对上述问题,本文从P2P应用本身出发,结合统计学原理和相似性理论,提出了一种改进的混合式P2P网络的节点选择算法SAPS (Statistical Analysis Peers Selection)。该算法在BitTorrent协议的基础上对P2P网络中的计算机节点间的通信数据进行收集、统计分析,将物理上接近的计算机节点划分为邻居节点,在进行下载时,邻届节点能够被优先分配,从而使流量本地化。SAPS算法通过统计学的方法对节点之间的相似性进行分析,对节点进行基于邻居网络的划分,有效的解决了 P2P网络缺乏物理信息的问题,提商P2P网络的整体性能,使网络流量尽可能本地化。SAPS算法的提出,A有一定的理论意义和实际应用价值。
2 P2P的相关介绍
2. 1 P2P的定义
P2P网络按照网络拓扑结构可以划分为4个类:中心化拓扑(CentralizedTopology);全分布式非结构化拓扑(Decentralized Unstructured Topology);全分布式结构化拓扑(Decentralized Structured Topology)和半分布式拓扑(Partially DecentralizedTopology) 。(1)中心化拓扑:是指在这类P2P网络中引入了若千中央服务器,如:检索服务器、心跳服务器等。网络中节点将共享资源登记到索引服务器上,其它节点通过索引服务器查询资源的位置,然后与资源节点进行通信。中心化拓扑结构的最大优势是资源发现速度快、维护简单以及能够实现复杂查询。而中心化拓扑结构存在的最大缺点就是容易出现服务器瓶颈、造成单点故障。这种结构的系统典型代表是Napster、Maze。中心化拓扑模型存在一些问题,其主要体现在:①网络安全性较低、可靠性差、中心服务器瘫痪导致网络崩溃;②资源索引存储在服务器上,容易引起版权问题;③随着网络规模扩大,系统维护和更新的开销增大。中心化结构在小型网络内具有很大优势,不适合于大型网络。(2)全分布式非结构化拓扑:网络中所有节点都是随机方式自组织的,节点之间通过泛洪式(Flooding)进行节点査找和资源的搜索,节点的动态变化使网络就有良好的容错性。全分布式非结构化拓扑,也支持复杂查询,如:基于模糊查询、多关键字查询等,最典型的系统案例是Gnutella。Gnutella模型没有中央服务器,解决了网络结构中心化的问题。具有良好的容错性。在Gnutella网络中节点之间是完全平等的,每个节点既是客户端又是服务器。节点之间的搜索采用泛洪式进行,控制消息随机转发(Random Walker)的机制,虽然控制消息采用TTL (Time To Live)减值的方式来控制系统消息的转发次数,但是网络开销依然很大。随着网络中节点数量的增加,网络规模的增大,通过泛洪式节点定位的方法造成网络流量的迅速增加,导致部分节点因资源过载而失效。目 前对Gnutella模型的主要研究集中在改进发现算法以提高系统的发现性能、如何构造高度结构化的系统。
3节点管理机制的设计与实现......... 16
3.1 相关技术的介绍........ 16
3.2设计思路........ 18
3.3节点管理机制SAPS的设计........19
3.4 本章小结........ 34
4实验与结果分析........ 35
4.1 实验平台介绍........ 35
4.2实验环境及参数设置........ 35
4.3 实验过程........ 36
4.4 实验结果与分析........ 36
4.5 本章小结........ 39
结论
本文的研究背景是:随着互联网技术发展,P2P应用被人们广泛使用,网络中P2P流量占据总流量的大部分,多数P2P软件采用无记忆节点选择方法,导致网络流量过度集中在不必要的链路,致使部分骨干线路负载过高。SAPS节点选择算法是在这种前提下提出来的,主要目的是P2P网络中流量本地化缓解骨干网络的压力。本文的具体工作有以下几个方面:
(1)首先介绍课题的研宄背景与意义以及国内外研宄的情况。对P2P网络的知识进行介绍,研究和分析丫 P2P应用对网络流最的影响情况,提出本文的SAPS节点算法。
(2)在经过深入学习和研究之后,提出丫一种耦于统计学习的P2P节点选择算法SAPS。算法主要对己收集的数据集进行统计、分析,利用相似性原理对数据集进行域的划分。
(3)在完成设计的基础上,本文对节点选择设计了激励机制和QoS性能计算,在对区域选择的基础上,根据节点自身的QoS性能,优先选择节点性能好的邻居节点,提高了节点间的传输速度。
(4)本文利用仿真模拟实验对SAPS的设计进行验证,获取实验结果,对实验结果进行客观分析,得出本文设计的节点算法能够缩短系统的平均下载时问、提高系统的吞吐量。
参考文献
[1] Yaram Kulbak and Danny Bickson. The eMule http://sblunwen.com/jstjxlw/ Protocol Specification [R],DANSS Lab SchoolComputer Science and Engineering, The Hebrew University of Jerusalem, 2005.
[2] A. Parker. The true picture of peer-to-peer file sharing. July2004.
[3] S. Seetharaman and M. Ammar. Characterizing and mitigating inter-domainpolicy violations in overlay routes. In Proc of ICNP, 2006.
[4]孙鲁伟.基于P2P的聚类邻居节点搜索算法的研究与实现[D].沈阳:东北大学,2006.
[5]雷连虹,张云飞,陈常嘉等.Characterizing Peer-to-Peer Traffic Across Internet [J].铁道学报,2004,26(5):55-60.
[6]王传殊,王意洁.Research of Network-delay-based P2P Routing Algorithm[J].计算机禾斗学,2007.
[7] LGA Sung, HHY Li. neighborhood selection strategies for P2P system using tit-for-tatexchange algorithm[R]. School of Computer Science University of Waterloo, 2004.
[8]孙名松,张中秋 Quasi-Chord: A Physical Topology Aware Structured P2P Network [J].自动化技术与应用,2009.
[9]贾晋康.基于探测和仿真的P2P用户和网络行为分析建模及安全性研究[D].北京:北京交通大学,2008.
[10] Haitao Chen, Zhenghu Gong, Zunguo Huang. Parallel Downloading Algorithm for Large-volumeFide Distribution 2005.