P2P文件共享系统及ISPs流量管理策略研究Word文档格式.docx
《P2P文件共享系统及ISPs流量管理策略研究Word文档格式.docx》由会员分享,可在线阅读,更多相关《P2P文件共享系统及ISPs流量管理策略研究Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
例如,P2P应用层覆盖网路径会与ISPs政策网络层路径冲突,将会扰乱ISPs传统经营模式的基本假设【2】。
尽管P2P激起了最终用户的宽带需求,然而ISPs可能不能在这一趋势上获得利益,因为固定的月租费为最终用户和上游供应商支付的费用总数【3】。
在这篇文章中,我们总结出一些在这两个领域的最新研究的结果的。
我们的文章的第一部分着重在P2P系统中的几个关键战略,包括文件就如何分割成片或块,一块选择策略上如何确定下一条下载,并就如何确定的其他节点提供服务,以便选择策略文件分割等策略。
正如我们将在第2节讨论,这些策略对P2P系统性能有很大的影响。
在第3节我们将介绍一些重要的和有前景的技术来管理P2P流量,即阻塞,缓存和定位,并比较其优缺点。
第4节将对文章做出一个总结。
2P2P系统里的关键策略
不同的P2P系统的实现在很多细节上面有所不同,然而,大部分都受到相同因素影响。
例如,大多数的P2P实现工具分裂成多个部分,可同时下载;
其中很多都需要在块需求中作出决定。
Androutsellis-theotokis和Spinellis【4】以及Lua等其他人【5】,已经在P2P系统上发表了两篇具有代表性的调查文章。
在本节中,我们将不重复的P2P系统的各个方面的调查。
相反,我们将强调几个对ISP的流量管理非常重要,介绍的不同实现的更新细节和总结评价这些实现性能的最新研究工作的关键战略。
2.1文件拆分策略
为了加快对资源文件的分发,大多数P2P系统,除了最后一块使P2P客户端下载数据的裂片外,其他同时从多个节点拆分成固定大小的块文件。
在这里,‘piece’是共享数据里的最小单位,也就是说一个节点必须有至少一个‘piece’才能提供上传服务给其他的节点。
不同的P2P系统使用不同的术语表示‘piece’,同时他们也设置了不同的‘piece’尺寸。
在BitTorrent中,的默认基本‘piece’大小为256Kb。
BitTorrent也识别其他的单位大小,但是‘piece’的大小必须是一个正整数的两次幂。
eMule系统使用‘part’这个术语。
‘part’的大小必须约为9.28Mb,其他大小则不允许。
在PPLive系统中则定义为‘chunk’,‘chunk’大小设置为2Mb。
对于有效传输的调度,每一个‘piece’有进一步分为多个‘sub-piece’,“sub-piece”是不同节点间进行数据传输的最小的单位。
换句话说,但一个‘piece’同时在多个远程节点中可用时,当地的节点可以选择哪些节点来下载。
一旦决定了,就必须从相同的远程节点中下载关于‘piece’的全部‘sub-piece’。
一些具有代表性的P2P系统的默认参数和术语都总结在表一里:
‘piece’大小关系到系统中并行性的可用程度,因此它是流量分配性能的潜在关键。
Marciniak通过在一个受控的BitTorrent中调节不同‘piece’大小,来研究不同‘piece’大小对系统性能的影响【6】。
他们的实验是在PlanetLab上通过制作不同大小的种子分享私人文件进行交流研究。
实验结果表明,较小的尺寸下载时间更短和的上传小规模的内容的利用率更高,而对于大文件的最佳‘piece’大小随着内容大小增加。
笔者举出两个小‘piece’尺寸弊端存在的可能的原因。
一方面,它减少了‘sub-piece’要求流水线的机会,二是由于TCP的影响而导致速度减慢。
2.2块文件选择策略
当一个本地节点需要多个文件‘piece’,同时其对等设置远程对等机可以提供这些‘pieces’,这时文件块选择策略将给出了解决方案,决定哪个‘piece’应该首先考虑。
最为出名的文件块选择策略是最少优先的文件块选择策略。
使用该算法,当地的对等机通过对每个块文件的对等设置来保持其拥有者。
而且它总会首先选择业主比较少的块文件进行请求;
另外一种比较出名的策略是随机块文件选择策略,当地对等机随机选择一个可用的块文件请求。
大多数的P2P系统采用最少优先算法通过各种细微的修改,以适应不同的情况。
举个例子,在BitTorrent里面,每一个节点会优先随机下载4个块文件,使得其中一些块文件交换为Choke算法。
之后,它就会转为最少优先的文件块选择策略【7】。
eMule的基本原则是最少优先原则,也把优先权用于块文件的预览和文件的检查(打一个和最后一个块文件)。
PPlive也展开了一个混合的策略,通过选择与视频重现需求最接近的块文件,然后最少优先,把优先权放在顺序策略上【8】。
在P2P流动系统中,有两个因子必须在块文件选择算法中平衡:
(greedypieceselectionforplaybackurgencyandrarestpieceselectionfordistributionefficiency.)因此,一些混合性策略被提议出来【9,10】。
在【11】里作者们展示,最佳块文件选择策略会随着节点的数量而改变,因此他们提出一个‘自适应块文件选择’的算法,同时也为所有的对等机设计一个协议来升级这个最佳块文件选择策略。
在【12】里实验表明,最少优先文件块选择策略在多个指标上都比随机策略要运用得好。
作者们总结,最少优先选择策略在剔除出最后一个块文件的问题以及确保新节点能尽快为其他节点提供服务两点上起到决定性作用。
在【7】里作者们争议,如果每一个节点总是能够在其他节点中找到合适的块文件,那么所用的块文件选择策略是否就认为是高效率的。
基于这个论点,它们定义了一个效率尺度——种子熵值。
他们的实验表明最少优先选择算法实现接近理想熵,而且它也不可能被更加复杂的解决方案所取代。
然而,在【13】里,作者们申明,由于最慢的节点的原因,随机策略比最少优先选择策略表现得更好。
作者们怀疑这是因为对于最慢的节点,最少优先策略会由于有损耗的链接而操作了失去时效的信息。
发表在【14】里的模拟实验也显示最少优先算法可能会导致某些块文件的缺失,从而导致很长的结束时间,作者们根据网络编码提出一个解决方案。
但是这种解决方案的展开面临着几个复杂的问题,如安全性和计算的费用【7】。
以上所提到的结论都是不一致的。
我们相信块文件选择算法的执行应该使用合理的尺度以及不同的网络条件进行更深一步的调查研究。
2.3节点选择策略
在一个当地的节点pi给一个远程的节点pj发送以信息以后,pj可以决定是否给pi提供上传服务。
一个节点在这个问题上作出决定所使用的策略成为节点选择策略。
在【7】中,作者们认为节点选择策略的目标应该是公平性和系统容量的最大化。
Choke算法也称为以牙还牙策略(tit-for-tat),是一种是用在BitTorrent中的节点选择策略,使用这种算法,pj可以根据其他节点对pj的上传率来分类所有的节点,而且仅仅是最前的三个节点解除拒绝状态,也就是说,他们有机会下载pj的数据。
为了给予新节点机会,会有一个随机的节点解除拒绝状态。
当pj接收到了所有的文件块,它的节点选择策略将会发生轻微的改变,其他节点将会根据pj从他们的下载率从pj到最大利用率的种子节点进行排序。
在eMule系统中,pj会根据两种尺度来排序对它有兴趣的节点:
其他节点上传给pj的数据量(取代BitTorrent中的比率),以及对pj进行上传服务时的等待时间。
它允许pj定义一些节点为‘friends’从而给予那些节点更高的特权。
作为一个媒体流动性的系统,PPLive没有一些嵌入的的控制机构来允许用户调整他们的贡献水平【8】。
客户软件必须提供上传服务来延续它本身的重现。
如果一个邻居节点不能提供充分的下载比率,PPLive的内容服务器将总会提供这些服务需要。
Choke算法的公平性还是有争议的。
在【12】里,作者们声称,目前基于比率的以牙还牙政策(tit-for-tat)在避免因为服务的内容量而出现的不公平性问题上成效不明显,他们提议应用以区块为基础的tit-for-tat算法来改善公平性。
Jun和Ahamad在一个游戏理论框架里研究这个问题,得出一个结论:
目前的算法容易被投机取巧【15】。
他们也提供了一个更加稳健的机械结构,然而,他们又得出一个截然不同的结论【7】,就是:
基于比率的tit-for-tat已经足够的公平。
这很大一部分是因为他们通过不同方式了解P2P文件复制的上下文,然后他们提出了不同的公平性衡量标准。
很多研究者正提出新的节点选择算法来改善P2P系统的公平性。
Sherman等人陈述,所有的基于比率的方法,例如tit-for-tat和比例响应算法,都拥有一个根本的缺陷,也就是估计周边节点比率的需求。
他们提出了一个基于欠额的分散式P2P算法——FairTorrent,这种算法能在当地的每一个节点运行而且同时为每一个周边节点维持一个欠额计数器代表发送的字节与从周边节点所接收到的字节间的差异【16】。
【17】里的作者们,从一个不同的预期性来研究节点选择策略(也包含块文件选择策略)。
他们明确表达,协作性的文件分布是一个在简单内容里面的调度难题;
同时他们还改善了几个算法,其中包括最少块文件优先选择、最多节点要求优先选择以及最大流量算法,来解决这个调度难题。
他们的模拟实验结果显示,以图形为基础的动态加权最大流量算法较其他的算法更加优越—这种算法能够动态的协调好文件块的稀有性、节点的需求以及并行传输的量。
作者们认为,他们的算法是一个很有前景的解决方案,同时也将会作为P2P文件共享应用程序里的核心调度模块而被广泛应用。
3ISPs对P2P的流量管理
在许多供应商网络中,P2P应用产生的通信量已经超过了以前的主导通信量,如Web和电子邮件。
为了确保其他服务质量,ISPs必须增加他们的带宽供应,或者采取一些措施来减少P2P流量,特别是域间的P2P通信量。
在【18】中,Halme把ISPs所采取的策略总结为四个:
容忍、限制、牵制、控制。
在这一节中,我们将会分别预览三种P2P流量管理技术,包括:
阻塞、高速缓存以及定位,其中阻塞是为了限制P2P的使用,高速缓存和定位是为了控制P2P的使用。
3.1P2P的阻塞
对于ISPs来说,减少P2P流量最简单的方法就是鉴别P2P流量,然后进行阻塞。
在这里,存在的最大问题就是如何去识别鉴定P2P流量。
一开始,P2P系统都习惯于使用一些众多周知的端口数来完成他们之间的通信,所以ISPs能够很容易的通过过滤掉从哪些端口数传送过来或者传送到那些端口的P2P信息流。
为了躲避ISPs的检测,很多P2P系统开始使用随机的或者用户指定的端口数。
报导显示,基于端口为基础检测的准确率已经跌倒50%以下。
在【19】里,作者们指出了几个这一种方法在常规背景下的局限性。
因此,现在很多研究者基于其它的流量特征来努力发展新的方法论。
在【20】里,哪种算法是基于拓扑的特征,如一个大的网络直径和很多既作为服务器又作为客户端的主机的出现。
在【21】里,作者们提出,可以根据被截获的IP信息包里的三个简单特征来分类信息流:
它们的大小、到达时间间隔和到达的顺序。
在【22】中,作者们把注意力集中在Skype中继通信流量中,提出通过开始和结束阀值的时间差异、字节大小比例以及两个突发转送信息包间的最大交叉关联来检测这些信息流。
也有一些研究去开发神经网络,进行数据挖掘和机器学习技术。
然而我们在真实网络上却没有看到这些应用【23,24】。
今天,由ISPs展开的系统常以DPI为基础,通过浏览信息包的负荷量来查找应用程序的等级识别标志,再进一步检测P2P的信息流【25】。
这个著名的DPI产品包括7层过滤层:
Cisco系统公司的磁偶标准记分(PDML)、Juniper网络公司的入侵检测与保护(NetScreenIDP)、P-cube公司的Engage,ARA公司的PPTM、Allot公司的流量管理等等。
DPI仅仅能通过已知的识别标志来鉴别P2P应用程序,但是却不能够检测新形成的P2P应用程序或者被加密的P2P信息流。
另一个缺点就是这些系统常常会消耗很多计算和储存空间资源,这使得他们不适合在主干网链接中展开。
在【26】里,作者们在目前网络上展开研究BitTorrent信息流阻塞的现象。
结果显示,大多数的IPSs在处理流量阻塞上面似乎都使用了DPI技术,而大多数的阻塞都发生在上游方向,因为下载的信息流很少受到干扰。
我们对以上提到的三种识别方法的优缺点作出一个总结,如表二
3.2P2P高速缓存
很明显,ISPs的信息流阻塞会降低用户的体验速度,会导致ISPs与网络使用者间的争斗。
一些研究者尝试应用在P2P流量上传统的网络流量缓存技术,来减轻互联网主干网的负荷。
一般来说,一个P2P流量缓存系统应实现以下数据块:
流量捕获,协议分析和分类,缓存匹配算法,流量转发和缓存替换策略【27】。
基于追踪分析,作者们【28】陈述P2P高速缓存理论上拥有67%的字节命中率的潜在能力,甚至超过了HTTP的高端缓存系统,200G的磁盘空间就足以取得相当的缓存效果。
他们得出结论,在域间链接上的P2P信息流高度重复,从而能够更好的回应缓存。
在【29】里的模拟结果显示,超过30%的ISP之间的信息流可以以一个相对小的缓存大小来保存。
在【30】里,作者们为P2P的信息流发展了一个缓存算法。
他们基于跟踪的模拟显示了一个高达35%的字节命中率,是一般网络缓存算法的40%到300%倍。
他们也提出了一个测量结果,P2P对象的普及不管AS而遵循Mandelbrot-Zipf分布,这对于使用LRU和LFU策略的缓存命中率具有负面影响。
大多数的研究成果都把焦点放在给一个单一的链接展开缓存服务上,然而在【31】,研究者却研究如何在多个主干网链接上展开缓存服务,使得ISPs的收益最大化。
作者们定义了一个利益联接的效用函数来评估不同部署带来的利益。
基于这种效用函数,如何放置高速缓存服务器的问题被建模为一个优化问题。
作者还提出了一个贪婪算法和分枝定界算法(用于小型网络)来解决优化问题,找到最佳的部署。
在【32】中,作者提议使用‘被动节点’,向封闭的P2P网络协议提供相同的资源缓存功能。
被动节点通过执行对应不作任何改动的的应用程序而被实现。
但是他不会执行人和主动的操作如资源创作和开发资源需求。
因此,被动节点表现如一个资源高速缓存。
因为意识到它是物理网络拓扑,域间P2P流量预计将减少。
在一个拥有200万的IP地址的ISP网络进行的实验表明,该方法可减少约2-45%的域间流量。
同样,Papafili等提议插入高带宽拥有ISP服务的节点这种优化方法来改善终端用户的性能和减少他们的域内通信量【33】。
他们也显示拥有ISP服务的节点的插入能够补足认识的局部性,使其有效地使用。
尽管很多研究都表明P2P高速缓存能够达到很高的字节命中率,但是在执行和展开这种P2P高速缓存上还是困难重重。
首先,传统的P2P高速缓存系统依然面临着相同的挑战,如:
P2P阻塞在努力进行如何识别不同P2P应用程序的研究,特别是新生的和已加密的应用程序。
其次,尽管不同的P2P系统是基于相同的基础的点对点对等原则,他们可能用不同的方式实现在节点间的交流沟通。
因此,要设置一个通用的平台来缓存不同P2P应用程序的流量很不容易。
第三,P2P的高速缓存服务器需要实现比传统的Web缓存服务器更多的功能,因此这些服务必须要有更多的计算能力和网络带宽等等。
实际上,P2P高速缓存违背了P2P应用程序的基本思想—制作一个分布式系统避免性能瓶颈。
最后的同样重要的是,ISPs可能会遇到的法律问题,因为他们可能涉及到非法内容缓存。
3.3P2P定位
这些年来,研究者提议通过开发流量定位来改善P2P算法,从而进一步减少域内P2P流量。
基本思路就是引导节点在相同的ISP下从其他节点力下载文件块,就是,存在偏见的节点选择。
这种做法不仅降低了ISPs的传输成本,而且由于域外链接的可用容量常常大于域内链接,从而可能会提高用户的P2P经验。
因此,流量定位无论对于ISPs还是网络用户都是有益的,它是一个双方“合作”的很好的例子。
一些研究者着手于理论的分析和模拟实验,来测量这种P2P局部性感知展开可能带来的的节约。
在【34】里,基于追踪的模拟实验显示,一个理想的局部性感知方案能够获得可观的额外的带宽节约—对于大型对象大约有68%的字节节约,对于小型对象大约37%的字节节约。
在【35】里,在一个叫做J-Sim的P2P流量模拟实验上,作者对三个不同的P2P流量管理策略做了评估,即:
nopeerselection、ISP的首选和preferredmetroarea,实验显示,在超级节点上使用一个节点选择策略来定位流量可能会含有高达40%的P2P流量到当地城域网。
在【36】里,在edge网络上的信息包分析显示,在目前因特网里,活跃用户现有50-90%的本地块文件对外下载。
他们的模拟实验显示,局部性计划对于终端用户和ISPs都是有利的。
大约70%的节点显示,在局部性方案里,增加的平均下载比率中,其中24%的节点经历超过50%乃至更快的下载比率。
对于ISPs来说,局部性计划能够减少两倍的ISPs入口链接利用率,而且对外上传的流量也会减少了超过6倍。
然而,边缘节点选择的有效性可能或随着情况不同而改变。
在【37】里,作者提出了三个研究成果来确保局部性计划的有效性。
首先,原种应该要具有适度的高上传带宽以确保下载时间不会降级。
其次,最少优先算法是边缘节点周边选择成功的关键,而随机块文件选择算法不能有效工作。
第三,外部具有更高带宽的节点会减少周边节点边缘选择的有效性。
在所有的局部性计划中,如何找出最近的还有最合适的节点是一个关键问题。
在【38】里,研究了通过P2P系统中文件传输延迟时间来查找最近的节点,进而解决这个问题。
基于以不同的方法来选择合适的节点,研究者为局部性感知的P2P系统提出了不同的解决方案,如UTAPS【39】,Ono【40】,Oracle【41】,P4P【42】等等。
UTAPS【39】是基于RTT()往返时延和由在所有追踪仪器和节点上运行的跟踪路由所收集的跳次计数信息(跳数信息)来选择节点。
这种方案需要同时对服务器和客户端进行细微的修正,激活他们的主动防治政策,从而把系统开销引进到节点和链接里。
为了避免这些系统开销,作者【40】基于内容分布网络(CDNS)所收集的信息,设计了他们的边缘节点选择算法。
CDNS试图通过向多个位于网络边缘的地理上分散分布终端用户传送内容来提高网络性能。
客户的要求能够动态的发送到拓扑的最近复制品。
作者断定,如果通过CDN把两个客户端发送到一个一套相似的复制品服务器,他们很有可能会接近这些服务器,同时更加重要的是,会相互接近。
他们发展了一个叫做Ono的插件定期执行对流行的CDN名称进行DNS查找。
当Ono确定某个节点有同样的重定向行为,它就会试图通过确保总是有链接与它连接,从而把流量偏向于那个节点,这就能够使得那个节点受到阻塞的时间减到最少。
全球分布有超过120000节点签署安装了Ono,同时Ono也把它很好的性能展示给人们看。
在【41】里,作者提出了一个解决方案—ISPs通过提供oracle服务来帮助P2P系统,这样能够根据一些确定的指标,如:
AShop,地理性息或者流量工程的关注,为一个节点排列出具有潜力的周边用户。
由于ISPs已经直接了解了很多物理网络信息,他们已经不需要去做额外的测量和推论。
Xie等人提出了一个相似的解决方案—P4P【42】,其中每一个ISP展开一个‘iTracker’作为有网络供应者的门户网站。
iTracker允许P2P应用程序中的追踪系统(appTracker)去查询费用和两个节点间的距离(p-距离)。
我们可以看到,【39,40】与【41,42】间存在着差异。
在【39,40】中,节点发起测量和根据测量结果来做出连接决定。
然而在【41,42】的算法中(在拥有追踪仪器的情况下),ISPs根据远程节点的信息和兴趣进行排列。
P2P定位是一种能够减少域内P2P流量的最有前景的技术。
我们在Fig-1中总结出这些解决方案的组织和运行程序。
与上面所提到的偏颇节点选择系统不一样,【43】里的作者提出‘偏疏通’,由于Choke算法对于节点交换数据以及交换多少起到主要影响,这一事实是的作者的提议被激活。
他们的比较研究表明偏疏通在具有高负荷群体的方案能很好的运行,同时,使用偏疏通的边缘周边选择策略能带来最佳的性能。
一个称作ALTO的性的IETF工作组在2009年建立起来,是为了设计和指定一个应用层流量优化(ALTO)服务器,这种服务器能够提供信息化应用程序,从而比随机初始节点选择表现得更好。
工作组将会对BitTorrent、无追踪P2P、以及其他应用程序,如内容分布网络(CDN)和镜像选择。
IETF里的ALTO工作组最近的发展在【44】被总结出来。
Gurbani,Hilt等人在【45】里对应用层流量优化问题和层的合作需要进行了一个调查研究,他们指出ALTO的问题将会由于P2P应用层和网络层间的通讯而实现。
作为对第三节的总结,我们在Table3中对P2P流量管理技术进行了一个比较。
4总结
P2P系统成为了互联网流量中的一个主要部分。
随着宽带的展开和住宅用户统一费率定价的继续,P2P应用程序将会越来越流行。
P2P应用程序的系统性能以及他们给ISPs所带来的挑战已经吸引了很多人的注意。
在这篇文章里,我们回顾了近年来对于关键策略或者算法的研究成果,那些算法对于系统性能以及ISPs控制P2P信息流的网络管理技术具有很重要的影响。
正如我们在文章里面所指出的,依然存在着许多开放性问题等着研究者做更深一步的研究,同时,P2P将在继续是未来数年的网络研究里的一个重要的领域。
参考文献