改善点对点(P2P)文件共享:P4P技术





image      很多用户可能没有意识到,在互联网上下载MP3音乐,视频,电影等等,都是在使用一种称为点对点文件共享的技术(Peer-to-Peer File Sharing),P2P。简单来说,P2P就是把一个文件分成多个片段,每个用户都可以从多个其他用户处下载不同的片段,同时也把自已已有的片段提供给其他用户下载。P2P技术简单有效地解决了在网上大规模复制文件的问题,所以自从问世以来,发展迅速惊人。第一个大型的P2P系统是Napster,始于1999年,由于版权问题,于2001年关闭。但后来很快就又有了BitTorrent,电驴(eMule,eDonkey),以及迅雷等等,用户数量巨大。

在几年前,互联网上的数据通讯大多还是FTP,HTTP,SMTP(电邮)等,但现在P2P通讯已经远远超过了其他通讯类型。上图来自CacheLogic公司发布的技术报告,从中可以看出,在2006年P2P已经占有70%的互联网通讯量,而且还在不断快速增长。这已经对其他数据通讯,甚至整个互联网的生存构成威胁,使得很多ISP(互联网服务提供商)开始限制P2P数据,但至今为止收效不大。

好在学术界也看到了这个问题,并且开始试图从技术上找到解决办法。以华盛顿大学(University of Washington)和耶鲁大学(Yale University)的研究人员为主,成立了一个工作组,P4P,全称是“Proactive network Provider Participation for P2P”。P4P主要的想法是,把P2P通讯本地化。P2P在选点配对时并不考虑物理距离,研究数据表明,两个P2P节点的平均距离是1600公里,要跨过5.5个大型网络,并产生大量的数据通讯。如果把P2P的选点限制在相近的节点,就有可能会大大减少数据通讯量,这也就是P4P的主攻方向。

P4P在每个ISP的服务器中安装一个iTracker,它含有整个ISP网络的拓扑结构,P2P的客户机在建立共享连接前,需要下载这个iTracker,并根据网络结构,只和相邻的节点建立连接。实验数据表明,P4P的节点平均距离减小到230公里,数据通讯量减少了5倍,而且性能比P2P还有所提高。

看起来,P4P可能是一个补救P2P的方案,但它不是一个根本的解决办法,而且它也还未通过大型部署的考验。希望了解P4P更多技术细节的读者,可以参考以下网页(英文):

- P4P工作组

- P4P介绍(Wikipedia)

- P4P实验数据

(2个打分, 平均:2.50 / 5)

雁过留声

“改善点对点(P2P)文件共享:P4P技术”有9个回复

  1. HJ 于 2010-03-19 9:11 上午

    这个东东的本质是想帮助运营商把P2P管起来,想法不错,可惜需要得到广大的p2p client和tracker的支持,甚至连运营商的网络架构可能都要修改(增加更多的扁平链接)。
    因此想广泛推广的话,非常难。

  2. 理客 于 2010-03-19 9:50 上午

    不需要ISP支持也可以做P4P,效果会有一定折扣,目前许多下载工具都支持。当然运营商做能进一步优化,甚至可临时cache等
    P2P要解决的是版权和计费问题,目前从北欧开始,因为针对P2P版权的法律的发布,P2P流量大降,估计也就20%左右

  3. HJ 于 2010-03-19 11:32 上午

    目前IETF有一个工作组ALTO也在从事类似的工作,参加的人不少,搞了一个协议,感兴趣的同志可以看看:
    http://www.ietf.org/dyn/wg/charter/alto-charter.html

  4. 杰克 于 2010-03-19 4:25 下午

    P2P应用的问题确实是浪费了大量带宽,挤占了其他应用程序的生存空间。但P4P这种基于Infrastructure的方案对互联网的假设太多,而变得太不实际,而且用户和ISP之间的利益是直接冲突的,所以它的大规模部署不太可能。最近OSU一个小组的工作也是要解决带宽浪费的问题。他们推出了一个叫TopBT的开源软件(http://topbt.cse.ohio-state.edu/)。其基本想法是依靠客户端自身探测网络情况,因而没有像P4P那样的局限性。

  5. 杰克 于 2010-03-19 4:39 下午

    不好意思,刚才没说清楚。上面说到的这个工作来自俄亥俄州立大学,其主页应该是:

    http://topbt.cse.ohio-state.edu/index.html

  6. ASR1k 于 2010-03-19 7:00 下午

    有点PfR的味道,关于这些科研我一直持谨慎态度, 毕竟客户端来看, 它只有选择peer的能力, 并不能对路由做太大的改善。 而且性能测量上存在一些问题。 我猜测这东西应该是几个中国人搞的, 原因很简单,可以不切实际的去随便做点线性规划就可以到处灌水欺负老外数学差了。

    其实对于P2P性能影响来看,带宽浪费倒是其次的。缩短用户下载时间其实也算是一种带宽改善, 那么为什么不换个角度想, 我们来做一些流量整形呢?

  7. wf 于 2010-03-19 9:39 下午

    不仅是P2P应用,P2P背后是CP。P4P探索的是ISP与CP的合作方式。ISP统治网络的时代已成过去了,要摆脱哑管道的尴尬局面,合作优化那是必须的。限制总不是办法,大禹治水,疏通的效果好于堵塞。。。合作+博弈==》双赢。

  8. 无知者无畏 于 2010-03-19 11:07 下午

    P2P主要的障碍不是技术而是法律。

    要是没有法律问题,ISP在每个用户接入点运行一个大存储量的P2P节点至少可以消灭一半的P2P流量。一个城市的的P2P节点可以把99%的流量消灭在自己的城域网内。

  9. wf 于 2010-03-20 11:04 上午

    楼上说的听起来更像Cache

发表评论