摘要
Peer-to-peer(P2P)是通过直接交换共享计算机资源和服务的一种网络体系结构。Gnutella作为一种典型的P2P网络通信协议,具有智能发现节点、完全分布式的特点,它能够有效的消除单点瓶颈,使网络具有很强的健壮性。与此同时,该协议也产生了以指数级增长的冗余消息,效率低下,使之只能在小规模的网络上使用,很难成为应用的主流。
本文从Gnutella协议的节点定位入手,提供了两种节点定位模型:网络模型和多播模型。这两种模型都基于Gnutella网络完全分布式和动态性的特点,能够实现节点之间的快速定位,从而获取有效的节点连接信息。我们详细解析了Gnute|la网络的广播机制,划分了Gnutella协议中四种消息的优先级,分析了丢弃连接的必要性和可行性。在此基础上,我们提出了F-Measure算法。同时,考虑到Gnutella协议其下层的连接大多是基于TCP和PPP协议的,因此,本文还借鉴了当前Intemet上广泛使用的数据流控制方法——zigzag算法,并对其进行了改进,使其能够更好的辅助F-Measure算法进行Gnutella网络的连接管理。实验数据表明:我们的F-Measure算法及其辅助管理手段能够极大地减少消息的冗余量和极好地适应网络流量的动态变化。
关键词:P2P,Gnutella,网络模型,多播模型,F-Measure算法,缓冲时间Zig—Zag算法
Abstract
Abstract
Peer—.to--Peeristhearchitectureofnetworkbydirectlyexchangingandsharing
resou,rcesandserviceofcomputer.GnutellaasatypicalP2Pnetworkcommunicationprotocol,canintelligentlyfindnodes.Moreoverithasentirelydistributedcharacter.ItCalleffectivelyavoidisolationnodesbottleneck
andmakenetworkmuchmorerobust,Butatthesarfletime,theGnutellaprotocoIalsoproducesexponentiallyincreasingredundancemessageanditsefficiencyisverylow.Itonlyapplythelow-scalenetworkanditisverydifficulttorumtomainstreamapplication.
ThePaDerstartsfromtheorientationamongstthecrunodesoftheGnutellaprotocolandputforwardtotwomodelsoftheorientation.Theyarenetworkmodelandmaltibroadcastmodel.Thetwomodelsbothbaseontheentirelydistributedand
dynamiccharacter.Theycanfindtheneighbournodesquicklyand
peergettheconnection
informationofthenode.111ePaDerresolvesthenetworkmessage.broadcastedmechanismofGnutellaindetail,dividespriorlevelofthefourkindsofmessageand
analysethenecessityandfeasibilityofdiscardingtheconnection.WebringsforwardF-Measurealgorithm.Atthesametime,takingtheTCPandPPPintoacc
ountwhich
arethebasesoftheunderlayerofGnutellaprotocol,weusethethoughtofdataflowforreferencewhichiswidelyappliedintheIntemet.WemodifytheZig-ZagalgorithminordertohelpF—Measurealgorithmmanagenetworkconnection.TheexperimentdatashowsthatourF-Measurealgorithmandassistantmanagingmeanscanhugelydecreasetheamountofrednndancemessageandbetterfittlledynamicchangeofnetworkflux.
KeyWords:P2P,Gnutella,networkmodel,multi—broadcastmodel.F—Measurealgorithm,buffer-time,Zig-Zagalgorithm
II
基于Gnutella协议的Peer.to-Peer网络连接管理
序吾
P2P(Peer.to.Peer)是通过直接交换共享计算机资源和服务的--}ee网络体系结构,它引导网络应用的核心从中央服务器向网络边缘的终端设备扩散。P2P目前的应用主要集中在对等计算、协同工作、引擎搜索和文件交换上。
Gnutella是AOL的Nullsoft部门开发的一个能寻和下载任何种类计算机文件的软件。它基于完全分布式的思想,支持点对点的、没有中心的信息搜索。Gnutella网络中的节点执行联系服务器和客户端的双重任务,每个客户端都是服务器,每个服务器又都是客户端。
完全分布式使Gnutella网络能够很好的消除单点瓶颈,具有很好的健壮性。但是同时,它也使基于Gnutella协议的网络难以扩充,因为网络中产生了海量的冗余消息。芝加哥大学的研究小组对Gnutella网络进行彻底的研究后发现,它的基础架构不符合互联网最基本的拓扑学原理,其网络节点是其效率低下的主要原因。
本文从研究基于Gnutella协议的节点定位入手,提出了两种有效的节点定位模型:网络模型和多播模型。这两种模型能够使Gnutella网络中的节点快捷地到其直接相连的邻居节点,从而获取有效的连接信息。我们详细解析了Gnutella协议的消息广播机制和网络连接机制,在此基础上,提出了F.Measure算法。在F-Measure算法中,F.Measure
参数代表的是丢弃对应连接,消息仍能够到达网络中其他结点的比率。根据我们的算法,能够有效的计算出F.Measure参数值,进而可以确定丢弃不同连接的代价。但是,考虑到Gnutella网络中消息的优先级别,我们需要设立一个缓冲时间,用于接收response消息,尽量减少网络的损耗。对于缓冲时间,我们可以通过网络的连接速率、连接数目、1vrL值和缓冲区的大小等参数来进行有效的计算,从而保证缓冲时间设置的合理性。同时,由于Gnutella协议其下层的连接大多是基于TCP和PPP协议的,因此,本文还借鉴了当前Intemet上广泛使用的数据流控制思想,改进了Zig-Zag算法,使其能够更好的辅助F-Measure算法进行Gnutella网络的连接管理。
本文的主要内容共分为六个部分:
第一章是P2P简介。该章简要介绍了P2P的兴起和发展、P2P的主要应用、P2P的未来和当前P2P亟待解决的问题。
第二章是Gnutella网络概述。该章主要介绍了Gnutella协议,Gnuella的消息机制和Gnutella网络的基本特征,最后分析了GnuteUa网络的效率。
第三章是Gnutella网络中的节点定位。该章主要提出了用网络模型和多播模型来进行Gnutella网络中的节点定位,使网络中的每个节点能够快速地得到其直接连接信息。
第四章是F—Measure算法。该章在分析了Gnutella网络消息机制和Gnutella网络丢弃连接必要性的基础上,讨论了Gnutella网络的四种消息的优先级,提出了F-Measure算法,最后给出了一个应用F-Measure算法的实例。
第五章是F-Measure算法的深入探讨。该章主要讨论了F.Measure算法的平衡性,提出了设定缓冲时间和应用改进后的Zig-Zag算法来辅助F-Measure算法进行基于Gnutella协议的网络连接管理。
第六章是总结和展望。对我们在本文中所作的工作进行了总结和概括,并提出了进一步的工作。
第1章P2P,英文Peer.to.Peer的缩写,迅速发展的一种网络体系结构。
1.1P2P兴起与发展
P2P简介
中译为对等互联或点对点技术,是近年来
P2P的兴起源于Napster““。Napster是由肖恩·范宁在1999年设计开发的用于交流mp3文件的软件。Napster提供了一种基于全新思想的软件供音乐迷们在自己的硬盘上共
享歌曲文件、搜索其它用户共享的歌曲文件、并可到其它也使用Napster服务的用户硬盘上下载歌曲,然而Napster服务器上却没有一首歌曲。Napster虽然在短时间里吸引了5000多万用户,但是最终却因侵犯版权被五大唱片商推上了被告席。
尽管Napster网上音乐共享服务激起了各大唱片公司的愤怒,但是它的成功与声名鹊起,却宣告了一场互联网界革命的开始——P2P。长久以来,人们习惯了互联网的中心服务模式,即c/s模式。这种模式以服务器为中心,客户向服务器发送请求,然后服务器回应给客户需要的信息。现今互联网上流行的即是这种c/s结构,它以一些大的门户网站为中心,不同地域的个人终端通过连接到服务器上来进行信息的浏览和下载。但是,互联网的本质应该是以用户为中心,所有的用户都应该是平等的伙伴,相隔万里的用户可以通过直接互联而共享电脑硬盘上的文件、目录乃至整个硬盘。P2P技术正是第一次让个人计算机和高贵的服务器平起平坐,让PC焕发了新的活力。
P2P直接将人们联系起来,让人们通过互联网直接交互,它使得网络上的沟通更容易、共享和交互更直接,真正地消除了中间商。尽管P2P的无服务器文件共享技术并非刚刚问世,但近年来因特网的爆炸性发展使这一理念以新的形式出现,它是互联网整体架构的基础。互联网最基本的协议TCP/IP并没有客户机和服务器的概念,所有设备都是通讯中平等的一端。所以,P2P使互联网技术返璞归真,重返“非中心化”,把权力交还给用户。
P2P的广泛使用由Napster率先触发,然后是Gnutella“…,现在各种各类的P2P软件风起云涌,国内外目前有很多有一定规模的P2P应用软件,如ICQ、

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。