针对BitTorrent类型P2P文件共享系统的应用层流量优化
【摘要】:近几年来,随着网络的普及,对等网络(Peer-to-Peer, P2P)技术飞速发展。P2P系统由于方便、快捷和开销少的优点受到了大多数网络用户的欢迎。
文件共享系统是P2P技术最为广泛的一个应用。其在因特网上的流量高达70%。P2P文件共享系统的特点是每个用户不仅下载文件,而且上传文件,既向其它节点提供服务,也享受来自其它节点的服务。
BitTorrent是典型的P2P文件共享系统应用。与以往的P2P文件共享系统不同的是,一个文件在BitTorrent中被分成了很多小片段。一个节点可以同时下载文件的多个片段。每当一个片段下载完后,节点就可以为其它节点服务,而不必等到整个文件下载完毕后。
而BitTorrent类型的文件传输系统并不了解底层网络拓扑包括ISP之间链路的情况。它们的节点选择策略和片段选择策略都是基于覆盖层网络拓扑进行的,而没有考虑跨ISP的节点之间的数据传输给互联网关键链路带来的影响,跨ISP流量的增加使得整个网络性能下降。
近些年来,利用应用层流量优化(ALTO)使P2P文件共享系统的流量本地化的方法一直倍受关注。ALTO方法可以细化为两个方面:怎样最好地提供底层网络的拓扑信息给覆盖层;怎样让请求节点利用这种信息最有效地找到持有它想要的内容的节点。
为了将ALTO方法用于改进BitTorrent类型的P2P文件共享系统,本文首先提出了让BitTorrent获得底层自治系统的拓扑图一种方法。然后基于该自治系统拓扑图修改了BitTorrent的邻居选择、片段选择和阻塞/疏通算法。最后再根据这些修改了的算法加入了缓存策略,以全面优化BitTorrent的应用层流量。
为了验证以上方案的优越性,本文还通过支持模拟底层网络的P2P模拟器GPS进行了各个场景的仿真实验,并与没有作出算法修改的BitTorrent相比较,在节点下载时间上和跨AS流量上都大约有10%的改进。另外本文还与以landmark分簇的算法作比较,在性能上差别不大。证明了本文将ALTO方法应用于BiTorrent类型的P2P文件共享系统的想法是正确有效的。