苏鸣翰
(香港科技大学 电子与计算机工程系,香港)
P2P网络若干关键技术研究现状与展望
苏鸣翰
(香港科技大学 电子与计算机工程系,香港)
P2P技术在过去的十几年间迅猛发展,智能移动设备的普及以及人们对在移动环境中实现文件共享需求的不断增加,使移动P2P(MP2P)网络成为研究的重点.但由于MP2P网络的一些特性,很难在现有网络中实现基于MP2P网络的应用.本文在阅读大量文献的基础上,介绍了P2P网络的基本概念,分析了MP2P网络目前存在的一些问题,提出了相应的解决方法,使读者可以了解P2P这项技术的基本原理、研究现状及发展方向.
移动P2P;拓扑构造;技术难点;发展方向
在P2P技术出现之前,客户机/服务器(C/S)结构已被广泛使用了很长时间,并发展为一个成熟的网络模型.但是,C/S结构的缺点也十分明显.在C/S系统中,由于服务器担负了巨大的数据处理传输任务,很容易产生过载进而破坏整个网络.另外,更新C/S系统的成本巨大,升级速度非常缓慢.为了应对这些问题,人们提出了P2P(对等)网络.
Intel将P2P 定义为“通过系统间的直接交换所达成的计算机资源与信息的共享”[1].在P2P网络中用户和服务器之间没有明显的区别,用户可以共享自己的硬件资源(包括处理能力、存储能力、链路容量等),所有的用户既是资源的请求者也是提供者.与C/S模式相比,P2P模式的优势在于:
(1)当新用户加入P2P网络时,这个用户即共享了其现有资源.通过用户之间的这种分享,系统容量可以大大提高.
(2)P2P系统的健壮性要远远高于C/S系统.在P2P系统中,如果一个节点发生故障,其他节点仍旧可以正常工作,对整个系统不会有显著影响.
(3)在P2P网络中,用户之间相互独立,数据之间的传输无需经过中央节点,这使得在用户间建立连接更加方便和廉价.
(4)P2P系统可以为用户提供更高的传输速度.由于数据在各个节点之间传送,用户数量的增长会带来传输速度的提高.
一般来说,P2P网络可以分为3类:集中式P2P网络、分布式P2P网络和混合式P2P网络.在集中式P2P网络中,目录服务器取代了C/S结构中的中央服务器,它并不保存任何文件,而是保存了文件的索引目录.在分布式P2P网络中,目录服务器也不复存在,所有节点同时作为服务器和客户端,每个用户具有相同的地位和作用.如今,混合式P2P已经成为最流行的P2P结构.它结合了集中式和分布式P2P网络的优势,将高性能节点作为“超级节点”,作为一个小型服务器来储存周围节点的信息.在网络上广泛使用的P2P应用程序,如Skype和KaZaA,都属于混合式P2P系统.
此外,智能移动设备的普及让人们将目光投向MP2P的研究之中,本文将在后面详细介绍MP2P的相关研究状况.
2.1 集中式P2P网络
集中式P2P网络是C/S模式到P2P模式的一个过渡.整个网络包括目录服务器和用户节点,其中目录服务器储存资源检索信息.图1为集中式P2P的基本结构.
如果用户想要获得文件,他将首先向目录服务器发出请求,从目录服务器获得所需文件地址,然后根据地址访问目标文件的节点.在这种结构中,所有数据都在节点之间传送,网络的部署非常便捷.
2.2 分布式P2P网络
2.2.1 非结构化P2P网络 非结构化P2P网络在覆盖网络上采用随机组织结构,这种结构没有目录服务器,节点之间随机连接.非结构化P2P网络如图2所示.
由于没有目录服务器,在非结构化P2P网络发展的初期,采用的是基于随机图的Flooding搜索算法:当用户需要下载文件时,他首先以文件名或关键字生成查询信息,并把这个信息发送给与它相连的所有计算机.如果相邻计算机拥有这个文件,则将其IP地址发给用户,如果没有所需文件,则将查询信息转发到与之相连的其它计算机,直到找到所需文件为止.为了控制搜索消息不至于一直传递下去,一般通过TTL (Time To Live)来控制查询的深度.但随着网络节点的增多,这种泛洪算法容易导致数据流量大幅增加,从而造成网络的崩溃.所以,研究人员在Flooding算法的基础上做出了许多改进,产生了诸如Random Work、Dynamic Query[2]等优化方法.
非结构化P2P采用完全随机的组织结构,各个节点随机排列,这使得对网络的建立和优化变得非常简单.此外,由于网络中的节点是完全相同的,节点频繁进入、退出网络时对网络的影响较小.
然而,这种结构的缺点也非常明显.由于没有目录服务器提供明确的文件来源,当用户想要获得文件时,必须不断地搜索相邻计算机,这会带来对网络资源的巨大消耗.更重要的是,当文件资源稀少并且离需求用户较远时,这种泛洪搜索便不能保证用户能够获得所需文件.
2.2.2 结构化P2P网络 结构化P2P网络中最常见的拓扑实现是分布式哈希表(DHT).DHT定义了一个关键字空间,通过哈希函数把关键字映射为128位或160位的散列值,分块储存在不同节点上.在搜索时,用户根据这些散列值就可以找到资源存放的节点.由于重叠网络采用了确定性拓扑结构,DHT能够精确地发现资源,保证即使在资源稀缺的情况下,用户也可以搜索到所需文件.应用这种结构经典的案例有Tapestry,Pastry,Chord和CAN等.
DHT的维护机制较为复杂,特别是当节点频繁进入、退出时造成的网络波动(Churn)会极大增加系统的维护代价.另外,DHT仅支持精确关键词匹配查询,无法支持内容/语义等复杂查询[3].DHT中资源的分配如图3所示.
2.3 混合式P2P网络
混合式P2P网络可以看作P2P和C/S网络的组合.它将性能较高(处理、存储、带宽)的节点作为超级节点(SuperNode),超级节点上存储了周围其它节点的信息.当用户搜索资源时,查询请求仅在超级节点之间转发,超级节点再将查询请求转发给适当的叶节点.混合式P2P结合了集中式P2P和分布式P2P的优点,取消了中央服务器,使系统的扩展性增强,同时设立超级节点,使搜索效率大大提高.图4为混合式P2P结构.
在实际应用中,每种拓扑结构都有其优缺点,表1分别从几个方面比较了这几种结构的性能.
表1 各类拓扑结构比较
3.1 MP2P系统基本结构
MP2P网络是基于应用的覆盖层网络,主要通过移动设备之间的通信来完成资源信息共享与协同计算服务.很长时间以来,由于移动设备的计算能力和存储能力受到限制,很难在移动设备上实现P2P服务.然而当进入3G时代,随着传输速率和移动设备计算、储存能力的大幅提高,在移动设备上应用P2P技术已经成为可能.
MP2P系统与传统的P2P系统类似,结构也分为集中式、分布式和混合式.本文以集中式网络为代表进行说明,它的结构主要由4个部分组成:(1)中央目录服务器;(2)缓存目录服务器;(3)爬取服务器;(4)状态服务器.
MP2P用户获取信息的过程也与传统P2P用户非常相像.首先,用户的移动设备需要在网络中进行注册,向中央目录服务器提供设备的信息(电话号码,设备类型,共享文件列表等).中央目录服务器将数据储存在数据库中供其他用户搜索.如果某一用户想要下载文件,他会向中央目录服务器发送查询请求,服务器在搜索数据库之后,将目标文件的地址发送给查询用户.为了加快搜索速度、提高搜索效率,在MP2P系统中除了中央目录服务器外,缓存目录服务器也扮演了重要的角色.缓存目录服务器中存放了用户频繁访问的一些文件,当有用户想要下载这些文件时,缓存目录服务器可以直接提供给他们文件的地址,由于缓存目录服务器储存内容少,它可以极大改善用户访问“热门”文件的速度.除此之外,缓存目录服务器也会定期更新其中的文件列表,加入近期的“热门”文件并淘汰已经“过时”的文件,来维持用户的搜索效率.爬取服务器的存在减轻了网络流量的负担,它可以看作是某个网络中所有节点的代表,代替它们去搜索中央目录服务器中没有记录的资源.状态服务器主要负责对网络实时的管理.例如,它能够收集移动设备的在线/离线状态、资源块的占用情况、可用带宽等一系列信息,并将这些信息及时反馈,从而更好地调控网络.如今,研究人员正致力于更加快速有效地在移动环境中共享文件,并将这种技术应用于网络游戏、路况信息共享等实时应用程序中.MP2P系统结构如图5所示.
3.2 MP2P系统的限制
与传统P2P系统相比,MP2P系统具有以下特点:
3.2.1 网络拓扑结构的动态性 动态性是MP2P系统最大的特点,移动设备由于位置变化和开关机不断地加入或者离开网络,使网络拓扑结构不断发生变化,造成覆盖层和物理层无法匹配,降低数据传输效率.
3.2.2 移动设备处理能力有限 由于移动性和便携性的要求,移动设备的体积和性能一直存在着矛盾.与PC相比,移动设备的储存和数据处理能力依旧很弱,一些低性能的设备需要通过中间节点才可以接入网络.
3.2.3 移动网络的不稳定性 相对于互联网而言,MP2P使用的无线信道稳定性不足,易在传输时受到外界的干扰,也会因为信号的衰落和链路堵塞等问题造成数据传输的不稳定,导致MP2P网络的可用性受到威胁.
3.2.4 网络层编址和标识机制不统一 P2P系统的网络层采用固定不变的唯一IP地址作为节点标识,底层网络的一致使得网络具有很好的扩展性.而移动网络环境的异构性使得其网络层所采用的编址及通信方式有很大不同,要在其上建立统一面向应用的MP2P网络,就必须屏蔽网络层中不同网络设备标识的差别[4].
3.3 MP2P系统的改进
针对应用MP2P技术遇到的各种问题,研究人员进行了多方面的理论研究和尝试性的应用开发.在网络拓扑结构方面,中南大学提出了基于信息交互的三维覆盖网络拓扑结构(3D-OBinfoEx),该结构把节点按照距离远近形成自治域,保障了底层物理网络和覆盖网络拓扑匹配,并具有较好的扩展性、容错性和稳定性,适应MP2P网络的应用环境[5].在对MP2P资源搜索的研究上,主要集中在两个方面:一是提出新型的MP2P资源查找策略,包括基于二分搜索树Peer-Tree算法和基于改进蚁群算法的查找策略等[6];二是在传统P2P资源搜索策略上加以改进,使之适用于MP2P网络,包括基于泛洪式信息广播方法和基于DHT的结构化算法.这些算法的提出提高了MP2P系统中的资源搜索效率,减小了流量过大给网络造成的负担.
P2P系统扩展性好、鲁棒性强,已经发展成为互联网上人们共享文件的主要途径[7~9].而随着无线网络的发展和智能移动设备的普及,传统的P2P技术正逐渐向MP2P技术进行过渡.虽然关于MP2P技术的很多难题都已突破,但是要在大范围内使用MP2P网络,仍有许多方面需要进一步研究:
首先,在对网络资源搜索的研究中,MP2P网络都被不同程度地结构化和层次化.目前关于非结构化MP2P网络的资源搜索算法查询成功率低、网络查询流量大.如何提高非结构化资源搜索算法的效率和成功率仍旧是未来研究的主要方向.
其次,移动设备具有多维异构性,即其在处理、储存、带宽提供能力等诸多方面存在差异.如何根据设备自身的特点和属性构建高效稳定的网络结构、充分利用网络和移动设备资源、提高网络服务质量也是MP2P技术研究的关键问题.
最后,如何确保P2P技术,包括MP2P技术在使用过程中的安全性也是研究人员所面临的巨大挑战.作为分布式网络模型,P2P网络很难保证被下载的数据的正确性.用户在使用P2P网络时,经常会下载到“文不对题”的垃圾文件.从网络攻击的角度来看,恶意节点可以轻松地向其他用户发送包含木马的伪造数据来盗取用户资料或者控制用户电脑.此外,P2P系统的“无政府状态”也给一些不良信息提供了土壤,造成网络上充斥着大量不良信息,给国家安全、网络资源占用等方面带来了很大的负面影响.所以,建立针对P2P网络的安全机制,保护用户隐私和上网的安全性对P2P技术的发展也具有重大意义.
[1] 周文莉,吴晓非.P2P技术综述[J].计算机工程与设计,2006,27(1):76-79.
[2] 孙娟娟,禹继国.ML-CHORD中基于动态查询的查询策略[J].通信技术,2011,44(3):71-76.
[3] 赖坤峰.基于DHT的P2P复杂搜索机制的设计与实现[D].成都:电子科技大学,2008.
[4] Krco S,Cleary D,Parker D.P2P Mobile Sensor Networks[C].Proceeding of the 38th Annual Hawaii International Conference on System Sciences,2005:1-9.
[5] 刘佳奇.移动P2P覆盖网拓扑结构及节点合作保障机制研究[D].长沙:中南大学,2012.
[6] 王小刚.基于改进蚁群算法的MP2P网络资源搜索方法研究[D].哈尔滨:哈尔滨工程大学,2013.
[7] 王丽莉,孙波,肖永康,等.结构化P2P资源搜索算法研究综述[J].计算机应用研究,2009,26(10):130-135.
[8] 欧中洪,宋美娜,战晓苏,等.移动对等网络关键技术[J].软件学报,2008,19(2):404-418.
[9] 韩志杰,姬生生.MP2P中资源检索方案研究[J].信息化研究,2014,40(6):6-10.
SU Minghan
(DepartmentofElectronicandComputerEngineering,HongkongUniversityofScienceandTechnology,Hongkong,China)
(责任编辑:张冬冬)
Research status and prospects of some key technologies of P2P network
P2P technology has developed rapidly in the past ten years,and as a result of the popularity of mobile devices and increasing demand for sharing files in mobile environment,mobile P2P network (MP2P) has become a hot topic in research area.However,due to some characteristics,it is difficult to achieve MP2P applications in live network.On the basis of consulting a large amount of literature,this essay introduces the basic concepts of P2P network,analyses the existing problems of MP2P and puts forward some associated solutions so that readers are able to understand the principle of P2P technology,its research status and development direction. Key words MP2P;topology construction;technical difficulties;development direction
2015-05-27
苏鸣翰(1991-),男,辽宁鞍山人,香港科技大学电子工程系研究生.
TP393
A
1008-2441(2015)06-0057-05