P2P技术现状及未来发展_徐恪

P2P技术现状及未来发展

PresentStatusandFutureDevelopmentofP2PTechnology

徐恪/XUKe

叶明江/YEMing-jiang胡懋智/HUMao-zhi

(清华大学计算机系网络研究所,北京100084)

(NetworkInstitute,DepartmentofComputerScience,TsinghuaUniversity,Beijing100084,

China)

摘要:P2P应用软件主要包括文件分发软件、语音服务软件、流媒体软件。目前P2P应用种类多、形式多样,没有统一的网络协议标准,其体系结构和组织形式也在不断发展。P2P应用已占运营商业务总量的60%~80%,P2P应用所产生的流量具有分布非均衡、上下行流量对称、流量隐蔽、数据集中等特性。在P2P技术的发展道路上,有许多尚待解决的问题。版权问题一直是P2P发展的一个不确定因素,如何在技术层面支持合法文件的分发是需要解决的重要问题。安全问题也是P2P领域的重要研究课题,如何在P2P网络中实现数据存取安全、路由安全、用户身份认证和身份管理都需要进一步研究。此外,如果能够实现P2P应用之间的统一资源定位,统一路由,使得P2P技术有一个统一开发标准,那么就能够融合P2P技术,提升P2P应用的整体性能。关键词:对等网络;覆盖层网络;分布式哈希表

Abstract:P2Papplicationsoftwaresincludefiledeliverysoftware,VoiceoverIP(VoIP)software,andstreamingmediasoftware.Becauseofitsvariousapplications,thereisstillnoformedstandardforP2Pnetworkprotocol.ThearchitectureandorganizationofP2Parealsoconstantlydeveloping.However,networktrafficgeneratedbyP2Ptakesaconsiderable60%-80%oftotaltraffic.TheP2Ptraffichasthepropertiesofimbalanceddistribution,symmetricuploadinganddownloading,concealmentflow,anddata

concentration.TherearemanyopenquestionsinP2Ptechnology.Firstly,thecopyrightquestionisalwaysanuncertaintyfactorforthedevelopmentofP2P.Supportingthedeliveryoflegalfilesatatechnicallevelisanimportantproblemthatshouldbesolved.Secondly,security,suchasdataaccesssecurity,securityrouting,account

authenticationandidentity,isanotherfieldwhichshouldbeseriouslyconsidered.Moreover,iftheuniformedresourcelocationanduniformedroutingbetweenP2P

applicationsarerealizedtoformauniformeddevelopmentstandard,allP2Ptechnologiescanbeintegrated,andtheentireperformanceofP2Papplicationswillimprove.Keywords:P2Pnetwork;overlaynetwork;DHT

中图分类号:TP393

文献标识码:A文章编号:1009-6868(2007)06-0006-05

2P应用已经成为互联网的主要应

用之一,P2P的模式也成为许多新

型业务的首选模式。P2P技术被广泛应用于文件共享、网络视频、网络电话等领域,以分布式资源共享和并行传输的特点,为用户提供了更多的资源、更高的可用带宽以及更好的服务质量。P2P节点不依赖中心节点而是

依靠网络边缘节点,实现自组织与对等协作的资源发现和共享,因此拥有自组织、可扩展性、鲁棒性、容错性以及负载均衡等优点。Cachelogic[1]公司

的统计数据表明P2P已经占据了50%以上的网络带宽,而全球最热门的

P2P文件分发软件eMule[2]和BitTorrent

[3]

产生的流量占了P2P总流量的50%

以上。此外,PPLive[4]和CoolStreaming[5]等实时的流媒体应用发展也极其迅速,用户数目急速增长。可以预见,随着使用P2P实时流媒体(P2P-TV)用户

数目的迅速增加,在未来因特网业务提供商(ISP)主干链路的流量中,P2P实时流媒体应用将占有更大比例。

1P2P技术原理

P2P应用软件主要有:文件分发

软件,如BitTorrent、eMule;语音服务软件,如Skype[6];流媒体软件,如PPLive。目前P2P应用并没有统一的网络协议标准,种类多、形式多样,其体系结构和组织形式也在不断发展。

1.1P2P的体系结构

P2P应用按照它的体系结构,可

以分成3代,如图1所示。

第1代P2P应用的是集中控制;第

2代P2P是一种完全的无中心的分布

式网络;第3代P2P是一种混合式的体系结构,同时具备前两代体系结构高

效性和容错性的优点。

1.2P2P网络的组织结构

P2P网络的组织结构是P2P体系

结构的具体实现。P2P网络在本质上是无结构,无集中控制的分布式系统,节点通过自组织的Overlay网络(覆盖层网络)来实现文件分发、流媒体以及语音等服务。Overlay网络的组织方式可以分为有结构和无结构两种

[7]

。有结构的P2POverly网络是指

Overlay的网络拓扑相对固定,内容的

基金项目:国家自然科学基金资助项目

(863计划)(No.60473082);国家重点基础研究发展规划项目(973计划)(No.

2003CB314801)

存放也相对有序。有结构的P2POverly网络通常使用分布式哈希表(DHT)来实现,文件存放的位置由文件的唯一标识符决定。无结构的Overlay网络通过一些松散的规则组织在一起,其文件的存放也表现出很大随机性。

1.2.1有结构的Overlay网络

有结构的Overlay网络也有很多种不同的实现方法,比较著名的有结构的Overlay网络包括Chord[8]

CAN[9]、Pastry[10]、eCAN[11],下面对Chord的工作

原理进行简单介绍。

Chord的原理如下:

节点在逻辑上按照标识的大小组成一个环,数据同样有标识并且存放在和自己标识最近的节点上。当在某一个节点上输入查询请求的时候,如果节点的标识小于数据的标识,则向该节点知道的下一个节点请求文件,下一个节点如果拥有该文件则返回结果,否则按前面的方式继续转发给下一个节点。其中每个Chord节点只需要知道关于部分节点和到达它们的路由信息。Chord路由查找过程有两个重要特性:每个节点都只需要知道一部分节点的信息,而且离它越近的节点,它就知道越多的关于它们上面的数据信息;每个节点的路由表只有部分节点的路由信息并且不能确定任意一个关键字的确切位置,只能知道下一跳的节点。图2所示为

Chord节点维护的指针表,其中N4代

表第4个节点。

1.2.2无结构的Overlay网络

典型的无结构的Overlay网络如

Freenet

[12]

Gnutella[13]

、FastTrack[14]

KaZaA[15],下面简单介绍一下Gnutella

的工作原理。

Gnutella是一种非集中控制的协

议,Gnutella被广泛使用并且有很多新的改进。Gnutella的特别之处在于它的分布式的文件定位和响应方法,图3所示为Gnutella文件的定位方法。由于数据的查询不依赖于任何有结构的拓扑结构,其查询的方式只能把请求广播到所有邻近的节点(Peer),相应节点响应消息,之后下载所需的文件。这种网络的突出优势在于良好的健壮性和可扩展性,明显的缺点在于会带来很大的查询消耗。一个节点想要加入Gnutella的网络,首先连接一些全局的可以连接的节点,一旦建立连接,节点以广播的方式通告给其他的存在。开始每一个消息被赋予一个唯一的随机产生的标识,其他节点记录到该节点的路由信息,用来防止重新广播和后向传播。广播消息通过生存时间(TTL)和经过的跳数来控制消息泛洪的范围。节点之间通过周期性的类似Ping机制的消息维护彼此的连接,每个节点建立的连接都根

据本地信息来选择。最新的Gnutella引入了超级节点的概念用来提高路由查找的效率。但是由于网络本身的自组织特性使得这种超级节点的部署优势不能充分的发挥。

2P2P流量特性

据统计,P2P应用已占运营商业

▲图1P2P体系结构的发展

中兴通讯技术

07

ZTECOMMUNICATIONS

务总量的60%~80%,已经成为网络带宽的最大消费者,对底层网络造成了巨大的影响。

2.1P2P流量产生的影响

P2P网络的发展首先对于个人用户接入网络的性能提出了更高的要求。由于P2P流量特征具有上下行流量对称的特性,这使得直接面向用户的接入网络需要相应提高所能承载上行流量的能力。对大型的企业用户,其关注目标是网络的可控性以及安全性。P2P相对随机的端口号,使得企业难以对内部的网络实行有效地监测和管理,加大了日常维护的难度。对于ISP,P2P应用的影响不仅增加了网络升级的难度,同时也将降低了网络的总体性能以及P2P本身的服务质量。用户可以选择高带宽接入以正常使用各种P2P应用,企业用户可以通过谨慎的企业内部安全规范的制订来保证网络的正常使用,而ISP成为P2P应用产生流量的最终承担者,设备升级速度加大,维护费用升高。有效识别和管理网络中的P2P流量成为ISP最为关心的问题。

2.2P2P流量特性

P2P的流量呈现出与传统流量不同的特性,P2P应用所产生的流量具有分布非均衡的特性、上下行流量的对称特性、流量的隐蔽性、数据集中性等。

P2P流量的分布具有明显的非均衡特性,在网络中,大部分节点的数据流量都是从为数很少的一些节点获取。文献[16]对该流量分布的非均衡性做了比较详细的研究。文章认为,P2P中服务提供者的价值不应该只以高的链路带宽来刻画,还应考虑节点的可用时间。在实验结果中,系统只有20%的主机拥有93%以上的实际在线时间。不到20%的P2P节点拥有80%以上的P2P网络在线时间。而正是这些少数的长时间在线主机贡献了网络中的主要流量。文献[17]中的研究结果表明,研究者可通过仅仅

监测网络中1%的节点来达到了解整

个P2P网络中80%以上流量的目的。

P2P流量还表现出上下行流量的

对称性。在文献[16]中对上下行流量

的对称特性进行了详细的研究,通过

对P2P上下行流量比较得出结论,具

有高带宽的用户通常会以更长的时

间为其他的节点提供下载服务,上下

行对称流量已经成为P2P网络流量区

别于其他流量的主要特征。

P2P流量还具备很强的隐蔽的特

性,它们通常使用随机端口或用户自

定义端口,无法通过简单的端口识别

P2P流量,目前常用的方法是通过特

征码检测的方式识别P2P流量。P2P应

用的特征码处在不断变化之中,加深

了P2P流量的这种隐蔽特性。此外,对

P2P节点之间传输文件的研究中发

现,80%以上的P2P流量都是在不断

地重复传播几个用户乐于获取的热

点文件,这种热点文件的存在影响了

P2P网络中的传输效率,针对P2P网络

传输数据的高集中性,研究者提出了

一系列包括文件缓存在内的解决方

案。P2P数据的集中性,已经成为网络

服务提供商控制P2P域间流量以及提

高P2P服务质量的基本理论依据。

3典型P2P应用的机制分析

分析典型的P2P应用机制可以深

入了解P2P的原理。本节将对文件分

发、流媒体应用、语音

服务3个领域中具有代

表性的软件机制进行

详细的分析。对于这些

软件的分析有助于理

解P2P技术的原理和把

握P2P技术未来发展的

趋势。

3.1BitTorrent

BitTorrent软件用户

首先从Web服务器上获

得下载文件的种子文

件,种子文件中包含下

载文件名及数据部分的哈希值,还包

含一个或者多个的索引(Tracker)服务

器地址。它的工作过程如下:客户端

向索引服务器发一个超文本传输协

议(HTTP)的GET请求,并把它自己的

私有信息和下载文件的哈希值放在

GET的参数中;索引服务器根据请求

的哈希值查找内部的数据字典,随机

地返回正在下载该文件的一组节点,

客户端连接这些节点,下载需要的文

件片段。因此可以将索引服务器的文

件下载过程简单地分成两个部分:与

索引服务器通信的HTTP,与其他客

户端通信并传输数据的协议,我们称

为BitTorrent对等协议。BitTorrent软件

的工作原理如图4所示。BitTorrent协

议也处在不断变化中,可以通过数据

报协议(UDP)和DHT的方法获得可用

的传输节点信息,而不是仅仅通过原

有的HTTP,这种方法使得BitTorrent应

用更加灵活,提高BitTorrent用户的下

载体验。

3.2eMule

eMule软件基于eDonkey协议改进

后的协议,同时兼容eDonkey协议。每

个eMule客户端都预先设置好了一个

服务器列表和一个本地共享文件列

表,客户端通过TCP连接到eMule服务

器进行登录,得到想要的文件的信息

以及可用的客户端的信息。一个客户

端可以从多个其他的EMule客户端

▲图4BitTorrent软件工作原理

载同一个文件,并从不同的客户端取得不同的数据片段。eMule同时扩展了eDonkey的能力,允许客户端之间互相交换关于服务器、其他客户端和文件的信息。eMule服务器不保存任何文件,它只是文件位置信息的中心索引。eMule客户端一启动就会自动使用传输控制协议(TCP)连接到eMule服务器上。服务器给客户端提供一个客户端标识(ID),它仅在客户端服务器连接的生命周期内有效。连接建立后,客户端把其共享的文件列表发送给服务器。服务器将这个列表保存在内部数据库内。eMule客户端也会发送请求下载列表。连接建立以后,eMule服务器给客户端返回一个列表,包括哪些客户端可以提供请求文件的下载。然后,客户端再和它们主动建立连接下载文件。图5所示为eMule的工作原理。

eMule基本原理与BitTorrent类似,客户端通过索引服务器获得文件下载信息。eMule同时允许客户端之间传递服务器信息,BitTorrent只能通过索引服务器或者DHT获得。eMule共享的是整个文件目录,而BitTorrent只共享下载任务,这使得BitTorrent更适合分发热门文件,eMule倾向于一般热门文件的下载。

3.3迅雷

迅雷是一款新型的基于多资源多线程技术的下载软件,迅雷拥有比目前用户常用的下载软件快7~10倍的下载速度。迅雷的技术主要分成两个部分,一部分是对现有Internet下载资源的搜索和整合,将现有Internet上的下载资源进行校验,将相同校验值的统一资源定位(URL)信息进行聚合。当用户点击某个下载连接时,迅雷服务器按照一定的策略返回该URL信息所在聚合的子集,并将该用户的信息返回给迅雷服务器。另一部分是迅雷客户端通过多资源多线程下载所需要的文件,提高下载速率。迅雷高速稳定下载的根本原因在于同时整合多个稳定服务器的资源实

现多资源多线程的数据传输。多资源

多线程技术使得迅雷在不降低用户

体验的前提下,对服务器资源进行均

衡,有效降低了服务器负载。

每个用户在网上下载的文件都

会在迅雷的服务器中进行数据记录,

如有其他用户再下载同样的文件,迅

雷的服务器会在它的数据库中搜索

曾经下载过这些文件的用户,服务器

再连接这些用户,通过用户已下载文

件中的记录进行判断,如用户下载文

件中仍存在此文件(文件如改名或改

变保存位置则无效),用户将在不知

不觉中扮演下载中间服务角色,上传

文件。

3.4PPLive

PPLive软件的工作机制和BitTor-

rent十分类似,PPLive将视频文件分成

大小相等的片段,第三方提供播放的

视频源,用户启矾PPLive以后,从

PPLive服务器获得频道的列表,用户

点击感兴趣的频道,然后从其他节点

获得数据文件,使用流媒体实时传输

协议(RTP)和实时传输控制协议

(RTCP)进行数据的传输和控制。将数

据下载到本地主机后,开放本地端口

作为视频服务器,PPLive的客户端播

放器连接此端口,任何同一个局域网

内的用户都可以通过连接这个地址

收看到点播的节目。图6所示为PPLive

的工作原理示意图。

3.5Skype

Skype是网络语音沟通工具。它可

以提供免费高清晰的语音对话,也可

以用来拨打国内国际长途,还具备即

时通讯所需的其他功能,比如文件传

输、文字聊天等。Skype是在KaZaA的

基础上开发的,就像KaZaA一样,

Skype本身也是基于覆盖层的P2P网

络,在它里面有两种类型的节点:普

通节点和超级节点。普通节点是能传

输语音和消息的一个功能实体;超级

节点则类似于普通节点的网络网关,

所有的普通节点必须与超级节点连

接,并向Skype的登陆服务器注册它

自己来加入Skype网络。Skype的登陆

服务器上存有用户名和密码,并且授

权特定的用户加入Skype网络,图7所

示为Skype的体系结构[18]。

Skype的另一个突出特点就是能

够穿越地址转换设备和防火墙。

Skype能够在最小传输带宽32kb/s的

网络上提供高质量的语音。Skype是

使用P2P语音服务的代表。由于其具

有超清晰语音质量、极强的穿透防火

墙能力、免费多方通话以及高保密性

等优点,成为互联网上使用最多的

图5!

eMule软件工作原理

中兴通讯技术09

ZTECOMMUNICATIONS

P2P应用之一。

4P2P未来发展和展望

P2P技术不断地改变着互联网,

用户无疑是P2P技术的最大受益者。在P2P技术的发展道路上,仍然有许多尚待解决的问题。

版权问题一直是P2P发展的一个不确定因素,如何在技术层面支持合法文件的分发是需要解决的重要问题。安全问题也是P2P领域的重要研究课题,如何在P2P网络中实现数据存取安全、路由安全、用户身份认证和身份管理都需要进一步研究。如果能够实现P2P应用之间的统一资源定位,统一路由,使得P2P技术有一个统一开发标准,将能够融合P2P技术,提升整体性能。

如何有效管理P2P应用所带来的

巨大流量是网络运营商面对的重大课题,如何通过缓存或者流量工程的方法,减少P2P流量对网络本身的影响,同时利用P2P技术优化网络性能,比如,将P2P覆盖网络路由的优点引入到传统的网络路由中,

可以实现更好的负载均衡,并利用P2P技术提供流媒体等新的增值服务。实际上,

P2P技术的发展为运营商提供

了可以在低成本的条件下提供更好服务的可能途径。

5参考文

作者简介

徐恪,清华大学计算机系毕业,工学博士。清华大学计算机系副教授。主要研究方向为新一代互联网体系结构、高性能路由器、P2P与Over-lay网络等。近年来已经在国内外主要学术刊物和学术会议上发表了50多篇学术论文。

叶明江,清华大学计算机系

在读博士研究生。研究方向为P2P网络与互联网流量模型。已发表学术论文2篇。

胡懋智,清华大学计算机系在读硕士研究生。研究方向为网络监测与管理、网络安全、P2P缓存。已在中国核心期刊上发表论文2篇。

[1]Thetruepictureofpeer-to-peer

filesharing[EB/OL].http://www.cachelogic.com

[2]eMule[EB/OL].http://www.emule.

com.

[3]bittorrent[EB/OL].http://www.

bittorrent.com.

[4]pplive[EB/OL].http://www.pplive.

com.

[5]Zhangm,Luojg,Zhaol,etal.

Donet/CoolStreaming:Adata-drivenoverlaynetworkforlivemedia

streaming[C]//ProceedingsofIEEEConferenceonComputer

Communications(INFOCOM'05),Mar13-17,2005,Miami,FL,USA.Piscataway,NJ,USA:IEEE,2005:2102-2111.

[6]skype[EB/OL].http://skype.tom.com.

[7]LuaEK,CrowcroftJ,PiasM,etal.Asurveyandcomparisonofpeer-to-peeroverlaynetworkschemes[J].JournalofIEEE

CommunicationsSurveyandTutorial,2005,7(2):72-93.

[8]STOICAI,MORRISR,KargerD,etal.Chord:ascalablepeer-to-peerlookupserviceforInternetapplications[C]//ProceedingsoftheInternationalConferenceoftheSpecialInterestGrouponDataCommunication(SIGCOMM'01),Aug27-31,2001,San

Diego,CA,USA.NewYork,NY,USA:ACMPress,2001:149-160.

[9]RATNASAMYS,FRANCISP,HANDLEYM,etal.Ascalablecontent-addressable

network[C]//ProceedingsoftheInternationalConferenceoftheSpecialInterestGrouponDataCommunication(SIGCOMM'01),Aug27-31,2001,SanDiego,CA,USA.NewYork,NY,USA:ACMPress,2001:161-172[10]ROWSTRONA,DRUSCHELP.Pastry:

Scalable,decentralizedobjectlocation,androutingforlarge-scalepeer-to-peersystems[C]//ProceedingsofIFIP/ACMInternationalConferenceonDistributedSystemsPlatforms(Middleware‘01),Nov12-16,2001,Heidelberg,Germany.Berlin,Germany:Springer-Verlag,2001:329-350.[11]XUZ,MAHALINGAMM,KARLSSONM.

Turningheterogeneityintoanadvantageinoverlayrouting[C]//Proceedingsof

Twenty-SecondAnnualJointConferenceoftheIEEEComputerandCommunicationsSocieties(INFOCOM’03):Vol2,Mar30-Apr3,2003,SanFrancisco,CA,USA.Piscataway,NJ,USA:IEEE,2003:1499-1509.

[12]CLARKEI,SANDBERGO,WILEYB,etal.

Freenet:Adistributedanonymous

informationstorageandretrievalsystem[EB/OL].FreenetWhitePaper.Http://freenetproject.org/.1999.

[13]Gnutelladevelopmentforum,theGnutella

v0.6protocol[EB/OL].http://groups.yahoo.com/group/thegdf/files/,2001.

[14]FastTrack.Peer-to-Peertechnology

company[EB/OL].Http://www.FastTrack.nu/2001.

[15]KaZaAmediadesktop[EB/OL].Http://www.

KaZaA.com/2001.

[16]SAROIUS,GUMMADIPK,GRIBBLESD.

Ameasurementstudyofpeer-to-peerfilesharingsystems[C]//Proceedingsof

MultimediaComputingandNetworking,Jan18-25,2002,SanJose,CA,USA.2002:156-170.

[17]SENS,WANGJ.Analyzingpeer-to-peer

trafficacrosslargenetworks[J].IEEE/ACMTransactionsonNetworking,2004,12(2):219-232.

[18]BASETSA,SCHRULZRINNEH.Ananalysis

oftheskypepeer-to-peerInternet

telephonyprotocol[C]//Proceedingsof25thIEEEInternationalConferenceonComputerCommunications,Apr23-29,2006,Barcelona,Spain.Piscataway,NJ,USA:IEEE,2006:1-11.

收稿日期:2007-09-12

相关主题
相关文档
最新文档