基于BitTorrent文件可获得性策略.docx

上传人:b****7 文档编号:8955202 上传时间:2023-02-02 格式:DOCX 页数:35 大小:543.81KB
下载 相关 举报
基于BitTorrent文件可获得性策略.docx_第1页
第1页 / 共35页
基于BitTorrent文件可获得性策略.docx_第2页
第2页 / 共35页
基于BitTorrent文件可获得性策略.docx_第3页
第3页 / 共35页
基于BitTorrent文件可获得性策略.docx_第4页
第4页 / 共35页
基于BitTorrent文件可获得性策略.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

基于BitTorrent文件可获得性策略.docx

《基于BitTorrent文件可获得性策略.docx》由会员分享,可在线阅读,更多相关《基于BitTorrent文件可获得性策略.docx(35页珍藏版)》请在冰豆网上搜索。

基于BitTorrent文件可获得性策略.docx

基于BitTorrent文件可获得性策略

分类号学号2005612100177

学校代码10487密级

 

硕士学位论文

BitTorrent下基于文件可获得性的

节点选择算法研究

学位申请人

贺记牢

学科专业

计算机软件与理论

指导教师

卢炎生教授

答辩日期

2007年6月2日

AThesisSubmittedtoHuazhongUniversityofScienceandTechnologyfortheDegreeofMasterofEngineering

 

ResearchofPeerSelectionAlgorithmBasedon

FileAvailabilityinBitTorrentSystem

 

Candidate:

HeJilao

Major:

ComputerSoftwareandTheory

Supervisor:

Prof.LuYansheng

 

HuazhongUniversityofScienceandTechnology

Wuhan430074,P.R.China

June,2007

独创性声明

本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。

尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。

对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到,本声明的法律结果由本人承担。

学位论文作者签名:

 日期:

    年  月  日

 

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:

学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

本论文属于

保密□,在_____年解密后适用本授权书。

不保密□。

(请在以上方框内打“√”)

 

 学位论文作者签名:

                  指导教师签名:

日期:

    年  月  日             日期:

    年  月    日

摘要

对等计算(P2P)相关的应用在因特网上非常成功。

BitTorrent系统是目前因特网上最大的P2P文件共享系统,据统计2004年,BitTorrent协议相关的流量占了因特网总流量的35%。

BitTorrent系统区别于其他P2P系统的关键特点是将文件分成粒度更小的数据分块。

只拥有部分文件的用户节点也能向其他用户提供数据分块。

这个特性释放了处于下载过程中的用户节点的服务能力,整个BitTorrent系统中服务提供者的数量大大增加,系统的服务能力随着用户数的增加呈指数级增长,可扩展性好。

BitTorrent协议中的核心算法是分块选择算法和邻居节点选择算法。

大量研究工作表明BitTorrent协议中分块副本数量最少优先(rarestfirst)策略和阻塞(choke)算法在实际运行中接近于最优,是BitTorrent系统成功的关键因素。

分块副本数量最少优先(rarestfirst)策略使各数据分块的副本在peer节点之间均匀分布,尽可能的增大peer之间交换数据的可能性,避免了数据瓶颈的出现。

阻塞(choke)算法则帮助peer找到合适的服务提供者,加快下载速率。

BitTorrent协议中分块选择算法只考虑了数据分块副本的数量,而忽视了数据分块的可获得性。

邻居节点选择算法则近似于一种盲目寻找的策略,可能需要很长的搜寻时间才能找到合适的服务提供者,算法的不确定性、随机性很强。

针对文件可获得性,改进了peer选择服务提供者的策略,帮助peer在尽可能短的时间内找到更合适、更优秀的服务提供者,提高下载速率。

实验证明,改进策略在实际运行中比标准策略能提高平均下载速率20%-30%。

关键词:

对等计算;文件共享;BitTorrent协议

Abstract

Peer-to-Peerapplicationsareextensivelyusedoninternetnowadays,andBitTorrentisoneofthemostsuccessfulP2Pfilesharingsystem.Statisticsindicatesthatbytheendof2004,35%oftheinternettrafficsarecausedbyBitTorrentprotocol.

ThecharacteristicthatBitTorrentdiffersfromotherP2Psystemsisthatitsplitsthefilesintosmallerpieces.Clientsthatdonothavethewholefilecanalsoprovidesomepiecestoothernode.Sotheclientswhoareintheprocessofdownloadingcanalsobeserviceproviders.ThisremarkablyincreasesthequantitiesofserviceprovidersinBitTorrentsystem,andthusgreatlyimprovestheperformanceofthesystem.

ThekeyalgorithmsinBitTorrentprotocolsarepieceselectionandnodeselection.Plentyofstudiesshowthattherarestfirststrategyandthechokealgorithmworkwell.ThefirstbalancesthenumberofcopiesofeachdatapieceamongtheBitTorrentnodestohelppeersexchangedata,andtoavoidthebottle-neck.Thelatterisusedbypeerstofindtheappropriateserviceproviderandspeeduptheirdownloading.

WeproposetheconceptoffileavailabilitybasedoninvestigationsoftheBitTorrentprotocol.TherarestfirstpieceselectionalgorithmofBitTorrentprotocolonlytakesthenumberofpiececopiesintoconsiderationregardlessoftheiravailability.Neighbornodesselectionalgorithmisastrategythatsearchitsneighborpeerblindly,andmaytakequitealongtimetoreachitsappropriateserviceproviders.Basedonfileavailability,weimprovetheserviceproviderselectionstrategiestohelppeersfindtherightserviceprovidersinarelativelyshorttime.Experimentresultsshowthatthisapproachcanspeedthedownloadingratesupto30%.

Keywords:

P2Pcomputing;filesharing;BitTorrentprotocol

目录

摘要I

AbstractII

1绪言

1.1研究背景

(1)

1.2国内外研究现状(3)

1.3本课题研究的目标和意义(6)

1.4本文结构(6)

2BitTorrent协议概论

2.1BitTorrent网络概览(8)

2.2BitTorrent协议(10)

2.3BitTorrent特点分析(14)

2.4本章小结(18)

3分块和节点选择算法

3.1分块选择算法(19)

3.2邻居节点选择算法(21)

3.3基于文件可获得性的改进策略(24)

3.4本章小结(27)

4原型系统设计与实现

4.1原型系统设计思想(28)

4.2原型系统设计与实现关键技术(28)

4.3实验与性能分析(34)

4.4本章小结(36)

5结束语

5.1本文总结(37)

5.2下一步工作(38)

致谢(39)

参考文献(40)

1绪言

1.1研究背景

1.1.1对等计算(peer-to-peer,P2P)

现在,互联网上各种对等计算(P2P)的应用早已屡见不鲜。

但是在业界,却始终没有一个对P2P的统一的定义。

P2P相关的概念几乎同时在计算机研究界和产业界产生。

1999年,ZhangHui[1]和PaulFrancis分别由IP层多播研究提出了应用层多播(applicationmulticast)的概念。

应用层多播的概念出现后不久,计算机网络研究界又提出了覆盖网(overlay)的概念。

几乎在同一时期,计算机产业界中出现了几个非常有影响力的系统,Napster和Gnutella,其里面用到的技术就是现在对等计算技术的前身。

应用层多播和覆盖网在随后的研究中相互渗透,慢慢融合,并和计算机产业界的技术相结合,产生了对等计算技术。

对等计算技术的涵义十分广泛,从不同角度可以得到不同的理解。

Intel将P2P计算定义为“通过系统间的直接交换所达成的计算机资源与信息的共享”,这些资源与服务包括信息交换、处理器时钟、缓存和磁盘空间等;IBM则给P2P赋予更广阔的定义,把它看成是由若干互联协作的计算机构成的系统并具备如下若干特性之一:

系统依存于边缘化(非中央式服务器)设备的主动协作,每个成员直接从其他成员而不是从服务器的参与中受益;系统中成员同时扮演服务器与客户端的角色;系统应用的用户能够意识到彼此的存在构成一个虚拟或实际的群体。

从已有的研究成果来看[2,3,4,5,6,7],大致可以归纳出P2P技术具有以下一些共同特性:

(1)分布式

对等网络由分布在各处的节点组成,节点之间没有任何联系。

节点之间可以直接建立连接,传播消息和数据,不需要中间实体或者服务器的介入,属于纯分布式系统。

(2)规模大,可扩展性好

在P2P网络中,peer之间通过消息维护一种松散的连接状态,peer完全通过自组织(selforganize)构成系统。

随着用户的不断加入,服务的需求随之增加,而同时,整个系统的资源和服务能力也得到了扩充。

因此,P2P网络不会出现随着用户增加而服务容量也迅速饱和的情况。

理论上来说,P2P网络的服务容量是无限的。

(3)动态性强

在P2P网络中,peer可以随时加入和退出网络。

且由于peer节点多是普通用户,和专门配置的服务器相比,主机故障和网络故障的概率较高,节点可靠性差。

P2P网络必须能快速调整拓扑结构,适应网络的动态变化。

P2P技术打破了传统的客户机/服务器模式,在对等网络中每个节点的地位都是相同的,具备客户端和服务器双重身份,可以同时作为服务的使用者和服务的提供者而存在。

1.1.2因特网数据传输

数据传输是因特网的核心应用。

广义的数据包括所有二进制形式的数据,狭义的数据包括文本、图片、语音、多媒体等各种格式的文件。

早期的数据传输基本上都是客户/服务器模式。

一个或多个服务器给大量的客户提供服务。

随着客户数量的快速增长,数据量的极速膨胀,服务器端的负载越来越重,不堪重负。

服务器处理性能和出口带宽的增长远远落后于客户请求增长的速度。

内容分发网络(contentdeliverynetwork,CDN)[8,9]技术的出现一度缓解了客户端和服务器日益扩大的供需矛盾。

通过在因特网上配置大量的边缘服务器,将用户请求定向或重定向到相应的边缘服务器,实现了在大量边缘服务器之间负载均衡,(扩展)提升了整个服务器群的处理请求能力,大大提高了服务器群可同时服务的客户端数,提高了服务质量。

随着各种新的应用的出现,在大文件分发给CDN网络带来了巨大的挑战。

一个文件动则数百兆,服务一个用户通常需要数小时,这种情形大大限制了CDN网络服务的用户数。

仅仅依靠服务器,再多的服务器也会被飞速增加的用户蚕食。

服务器端性能再次成为数据传输的瓶颈。

对等计算技术能有效的解决这个问题。

通过把终端客户自组织起来,利用终端客户之间的协作,peer之间相互提供服务,系统总服务能力随着终端客户的数量成指数级增长,有效的对抗了客户请求的增长。

1.1.3对等计算技术的主要应用

当前对等计算(P2P)技术主要应用在以下领域:

流媒体分发:

利用对等计算技术来分发实时性很强的流媒体数据,P2P直播和点播技术目前已非常成熟,有大量的商用系统出现,提供可靠、稳定的服务。

还有VOIP,通过P2P技术,在因特网中传输实时话音数据,虽然和电信骨干网能提供的话音服务尚有差距,但当前VOIP系统的服务质量已大大改善,已能满足大多数用户的需求。

文件存储:

将对等计算技术和传统的文件系统技术相结合,利用P2P网络中终端用户的带宽和硬盘空间资源,可以构造出一个容量和服务能力巨大的存储系统。

文件共享:

利用对等计算技术来分发大文件,在大量终端用户之间共享文件。

将大量终端用户组织在一起,形成应用层覆盖网(overlay),peer之间通过应用层消息来定位文件和传输文件数据,构成一个大型的文件共享、分发系统。

1.2国内外研究现状

本文的研究对象是BitTorrent这一当前因特网上最大,最成功的P2P文件共享系统。

2003年,BitTorrent协议的创造者BramCohen[10]在BitTorrent软件发布一年多之后,发表了一篇短文,详细介绍了他在BitTorrent协议中采用的核心算法。

自此之后,BitTorrent系统因其巨大的成功在计算机软件产业界和研究界产生重大的影响,越来越引起研究界的关注,相关的研究工作大致可以分为如下几个方面。

(1)系统整体性能建模和测量

Qiu[11]等在以前研究[12]基础上提出用流体模型(fluidmodel)对BitTorrent类似系统建模,理论上分析了BitTorrent系统在系统处于稳态时的性能。

他们的分析结果表明大量peer节点加入BitTorrent系统并不会影响peer的平均下载完成时间,单个peer从系统中获得的下载服务并没因其他peer的加入而降低,说明整个系统的服务能力随着peer节点的增加在随之增长,BitTorrent系统充分利用了系统中所有peer的服务能力和上传带宽,可扩展性非常好。

Guo[13]等做了大量的测量工作,他们和因特网服务提供商ISP和因特网用户接入端合作,截获了大量BitTorrent协议的流量数据,对数据进行分析和理论回归,得到了BitTorrent系统的各种系统参数,并利用这些参数对Qiu等提出的模型进行了改进。

指出随着加入某一torrent的用户数越来越少,下载完成的用户逐渐退出系统,分发某一文件的Torrent会慢慢死亡,即该Torrent内不再拥有一份完整的文件数据副本,不能给用户提供完整的下载服务。

针对这一缺点,他们提出在多个Torrent之间协作,延缓torrent的死亡,提升BitTorrent系统的性能。

香港中文大学的Tian[14]等对从BitTorrent系统peer拥有数据量多少的角度出发,对处于不同下载阶段peer数的分布进行了建模分析,他们的模型结果揭示了系统处于不同下载状态的peer数呈U型分布,即系统中处于下载初期,拥有数据少的peer和下载末期,拥有数据多,快结束下载的peer占很大部分比例,处于下载过程中期的peer数则相对较少。

(2)系统核心算法的研究

ArnauldLegout[15]等大量的实际测量数据出发,提出了BitTorrent协议中核心算法在实际运行中接近于最优的观点,并详细分析大量实际测量数据证明其观点。

他们开发了一个功能增强的BitTorrent协议客户端。

从实际因特网中挑选代表性比较强的下载任务,把他们的客户端加入到实际的数据分发网络中,主动的收集BitTorrent协议相关的消息和数据,观测BitTorrent协议实际运行的数据。

他们的实验证明rarest-first的分块选择算法和tit-for-tat的阻塞和解除阻塞的算法在真实因特网环境中表现十分优异,接近于最优。

由于在真实因特网环境下,实际测量很难覆盖整个完整的BitTorrent系统。

AshwinBharambe[16]等完全从仿真的角度出发,构造了一个BitTorrent协议仿真平台。

通过改变仿真系统的各种参数,分析了各种情形下BitTorrent系统的各种性能指标。

他们的仿真研究虽然与实际运行结果有区别,但更详细的揭示了BitTorrent协议中各种系统实际参数对系统性能的影响,对理解BitTorrent协议的运行情况大有帮助。

(3)激励机制和安全性研究

大量的研究工作表明,现存的P2P文件共享系统,如Gnutella,天网Maze等,大多存在节点自私行为(freerider)的问题[17,18,19,20],即部分peer节点只从P2P系统中获取服务,下载数据,却从不向系统贡献他们的数据和带宽。

自私节点(freerider)的存在,严重影响P2P文件共享系统的整体服务能力和性能。

因此,对于P2P文件共享系统,协议中很重要的一部分就是通过各种激励机制来对抗节点的自私行为,提高系统服务能力。

最近一两年有许多关于BitTorrent协议的激励机制和安全性工作[20-26]。

ArnauldLegout等的研究工作和实际测量表明BitTorrent协议中基于tit-for-tat的阻塞和解除阻塞算法是一种目前比较有效的激励机制,能有效的增强系统中peer之间的相互贡献,相互协作。

也有其他一些研究工作证实BitTorrent协议中基于tit-for-tat的阻塞和解除阻塞算法并不能完全杜绝节点的自私行为。

N.Liogkas[24]和MichaelSirivianos等分别报告了多种BitTorrent协议的漏洞,这些漏洞可被恶意peer节点用来实现他们的自私行为。

国内关于P2P文件共享系统的研究也非常多。

北京大学计算机网络和分布式系统实验室,以教育网内最大的文件共享系统Maze为实验研究平台[20,27]。

Maze系统是该实验室完全自主研制和运营的P2P文件共享系统,在教育网内拥有广泛的用户群。

通过对整个Maze系统的控制和监测,该实验室获得了因特网上P2P文件共享系统运行行为的大量真实数据,在系统数据的基础上,对系统中用户的动态加入、退出特性变化,用户自私行为(freeride),和文件共享系统激励机制等方面研究很深,取得了国内领先的成就。

1.3本课题研究的目标和意义

本课题来源于海装预研项目,网格环境下信息管理和发布技术的研究。

块数据传输和文件分发一直是因特网数据传输相关研究的热点。

BitTorrent系统是当前因特网上最成功的P2P文件共享系统,有大量的研究工作与之相关[28,29,30]。

本文对BitTorrent系统展开了详细的研究,先分析了系统整体服务模型,然后分析和评价BitTorrent协议中的核心算法,并对核心算法进行改进。

通过详细的研究,试图回答以下问题:

(1)BitTorrent系统服务能力强,整体性能好的原因?

(2)BitTorrent系统用哪些核心技术来对抗因特网数据传输面临的问题?

(3)BitTorrent系统存在的缺点和改进。

(4)BitTorrent协议的成功对今后因特网数据传输协议设计的启示。

1.4本文结构

本文第一章介绍P2P技术,当前P2P技术的核心应用领域。

详细介绍了BitTorrent系统相关的国内外研究现状和本文的研究目标。

第二章介绍BitTorrent协议,该协议元数据文件的生成,客户端和追踪服务器通信协议,客户端之间通信协议三部分。

然后分析了BitTorrent系统的特点。

第三章介绍BitTorrent协议中的核心算法,并提出文件可获得性的概念,针对文件可获得性对核心算法进行改进。

第四章实现改进策略的BitTorrent协议客户端。

并设计了一系列实验来验证改进策略的有效性。

第五章总结全文,指明今后的研究方向。

2BitTorrent协议概论

2.1BitTorrent网络概览

BitTorrent内容分发网络是一个基于BitTorrent文件分发协议的应用平台,是目前世界上最大的P2P文件共享系统,据统计2004年因特网上70%多的网络流量由P2P应用占用,40%的网络流量由BitTorrent协议数据,同时在线的BitTorrent用户达数千万。

BitTorrent网络是2003年由BramCohen设计的,一经问世,便以其简单、稳定、高效率的数据传输模式而风靡全球,和其他P2P文件分发协议如Napster,Gnutella,Edonkey/emule和Kazaa等一起成为因特网文件共享和分发的杀手级应用(killerapplication),在业界引起了巨大的反响。

以BitTorrent为代表的P2P应用在因特网上的巨大成功,引发了计算机网络研究界对P2P内容分发技术的研究热潮。

研究界广泛而深入的从各个角度和侧面来分析、研究和改进P2P系统。

近7年来,各类学术会议和杂志上研究P2P相关技术的学术论文已达数千篇之多,直接以BitTorrent系统为研究目标的高档论文也有数十篇。

这些论文涵盖了BitTorrent相关的各个议题,诸如BitTorrent系统测量与建模,系统动态性分析,BitTorrent核心协议分析与扩展,P2P系统安全和BitTorrent协议漏洞分析等等。

2.1.1BitTorrent网络的基本组成

一个Web服务器;

一个描述该共享文件的元数据文件;

一个BitTorrent追踪服务器(tracker);

一个拥有完整文件的上传者;

下载该文件的所有下载客户;

下载客户端Web浏览器。

2.1.2客户端下载流程

终端用户加入BitTorrent内容分发网络的目的是下载其他用户所共享的文件。

终端用户下载文件的过程如下:

(1)终端客户浏览Web站点,下载.torrent元数据文件;

(2)启动BitTorrent协议客户端,解析.torrent文件,连接追踪服务器(tracker),并定时从tracker处获得处于当前torrent中其他peer节点信息。

(3)BitT

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1