学 年 论 文
题 目:P2P的应用及发展状况
姓 名:王艺超
学 院:数理与软件工程学院
专 业:08机械
指导老师:李敏之
日 期:2010年5月26日
P2P的应用及发展状况
P2P是英文Peer-to-Peer(对等)的简称,又被称为“点对点”。“对等”技术,是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。P2P还是英文Point to Point (点对点)的简称。它是下载术语,意思是在你自己下载的同时,自己的电脑还要继续做主机上传,这种下载方式,人越多速度越快但缺点是对硬盘损伤比较大(在写的同时还要读),还有对内存占用较多,
一种解释是,P2P即peer-to-peer。而peer在英语里是“(地位、能力等)同等者”、“同事”和“伙伴”的意思。这样一来,P2P也就可以理解为“伙伴对伙伴”的意思,或称为对等联网,我甚至觉得解释成为person-to-person更好一些。反正交流也都是人的交流。
而另一种解释是,P2P就是一种思想,有着改变整个互联网基础的潜能的思想。客观讲,单从技术角度而言,P2P并未激发出任何重大的创新,而更多的是改变了人们对因特网的理解与认识。正是由于这个原因,IBM早就宣称P2P不是一个技术概念,而是一个社会和经济现象。
不管是技术还是思想,P2P是直接将人们联系了起来,让人们通过互联网直接交流。它使得网络上的沟通变得更容易、更直接,真正地消除中间环节。这听起来仿佛全新的概念,但其实并不是什么新鲜事。我们每天见面,或者通过电话直接交流都是P2P最直接的例子。而这个时候你有没有从电话的发展的历史中隐约感觉到,P2P必将在互联网时代有着突飞猛进的发展,因为他可以改变现在的Internet以大网站为中心的状态、重返“非中心化”,并把权力交还给用户,让我们的语言影像以最直接的方式传递到对方身边。它最符合互联网络设计者的初衷,给了人们一个完全自主的超级网络资源库。现在在业界,比较认同的P2P计算应用系统的目标主要有以下几类:
1.信息、服务的共享与管理
2.协作
3.构建充当基层架构的互联系统
P2P,即person to person.
P2P结构的应用和研究
另一方面,P2P文件共享系统的成功促使人们致力于在更多方面开拓P2P结构的应用。其中大文件分发系统BitTorrent和基于覆盖网的IP电话系统Skype最为成功。
传统的文件下载大多使用FTP等协议进行C/S方式的下载。这样,对于一些热点文件就会有很多用户同时需要下载,由于服务器端的带宽有限,就会有很多用户的请求得不到满足,从整体上看,下载效率很低。BitTorrent试图充分利用下载用户之间的带宽进行数据传输,从而减轻服务器负担,提高下载速度和系统的可扩展性(同时下载人数)。BitTorrent的基本策略是:每个用户从服务器上下载一部分数据,各个用户下载的部分不尽相同,之后用户之间互相交换对方没有的数据,最终使所有用户都获得全部数据。BitTorrent在推出之后迅速流行,由于越来越多的人使用BitTorrent在Internet上进行数据下载,很快使得P2P系统成为网络流量占据50%以上的Internet首要应用。
Skype作为基于覆盖网的IP电话系统提供了比以往通过Internet直接连接的IP电话更好的语音效果,因此受到用户的广泛欢迎。自2003年发布以来,其用户增长速度迅猛,截至2005年2月,Skype的注册用户已达2100万,同时在线用户超过200万。Skype的系统结构基本上类似于KaZaA,当用户之间需要语音通信时,Skype在覆盖网中找寻出一条当前带宽最大的覆盖网通路,通过多跳转发的方式进行数据传送。通常情况下,在覆盖网中找到的转发通路比起通话两点之间的直接通路质量要好,因此通话过程中语音也就更加清晰流畅。由于Skype的出现和高速发展,越来越多的用户转向IP电话,已经对传统的电信业构成了一定的威胁,而将来Skype这样的基于P2P的IP电话系统很可能会在很大程度上取代传统电话业务成为人们日常通信的基本方式之一。
在P2P系统在产业界迅速发展的同时,研究界也及时跟进,对P2P系统展开了大规模的研究工作。自2000年起,在OSDI、SOSP、SIGCOMM、USENIX、HOTOS等系统结构方向的顶级会议上不断出现关于P2P系统的重要研究成果。2001年,学界又召开了新的专门针对P2P系统的学术会议IPTPS,由于该会议受到各著名院校和研究机构的广泛关注,很快成为P2P研究领域的高峰会议,发表了大批优秀论文,成为P2P研究的风向标。从2002年开始,Berkeley、Stanford等著名大学相继开设了P2P相关的研究生课程,进一步推广了P2P这一新兴的研究方向。
P2P应用系统应用现状
随着P2P技术的发展,人们尝试着使用P2P的方法解决各种问题,越来越多的P2P应用系统被提出并得到实践的检验,其中主要的包括:
广域网分布式存储系统(P2P存储系统)。
分布式存储系统一直是分布式系统的一个重要领域,传统的局域网范围内的分布式文件系统、分布式对象存储系统、分布式数据库都有着良好的研究基础。P2P技术出现后,人们试图把这些分布式存储系统向更大范围拓展,提出了在广域网中构建的分布式文件系统、对象存储系统和数据库系统。
视频组播系统。
视频组播的带宽要求很高,因此传统的C/S结构的组播系统的往往由于服务器出口带宽的而导致系统的可扩展性很差。在基于P2P结构的视频组播系统中,只有少数结点从服务器直接获取数据,更多的结点一方面从其它结点处获得数据,一方面也向其它结点提供数。整个系统的体系结构为树状结构或者网状结构。这种以对等方式构建的视频组播系统充分利用了结点之间的可用带宽而使系统的可扩展性大为提高。
大文件分发系统。
与视频组播系统类似,大文件分发系统也是通过结点之间互相传递数据以减轻数据源点的压力,体系结构也是树状结构或者网状结构。但是由于文件分发系统对实时性、最低可接受带宽等要求不高,因此相对于视频数据它能更充分的利用带宽,获得更高的可扩展性。
DNS服务器
当前Internet的DNS服务器之间的连接使用树状结构。在这种结构中,对一些不常用的域名解析时由于在需要在树状结构中进行很多跳的查询转发,因此效率比较低。尤其是如果对一个错误域名进行解析,或者负责解析的服务器暂时不可用时,需要很长时间才能返回用户并显示查询失败。另外,由于现行机制下标识一份文档的url和它的存储地是直接相关的,这给文档的迁移带来很多不便。很多工作致力于使用P2P构架重建DNS系统,使其更高效,并且剥离文档标识与存储地点的相关性,取得了很好的效果。
网页合作缓存(Web Cache)。
Web站点经常出现访问热点而影响网页的可用性和访问效率。如果通过P2P的方式将网页在多个结点中进行多备份的合作缓存,可以很好的解决这一问题。这种合作缓存的方式既可以在多个客户端之间进行,也可以在多个服务器之间进行,还可以将服务器与其客户端组织起来取得更好的分配策略。
覆盖网路由(Overlay Routing)。
虽然Internet可以提供任意两点之间的数据通路,但是由于路由器更新、配置错误、网络拥塞等原因,常常会出现两点之间通信质量差甚至完全不能连通的情况。为了减少乃至避免这种情况的出现,人们提出可以在需要通信的很多结点之间搭建一个覆盖网,当两点之间直接通信不畅时,可以想办法通过其它结点的转发来实现更高效的通信。比如,当结点A无法向结点B发消息或者通信质量很差时,可能存在另一个结点C,A与C、C与B之间的通信都是畅通而良好的,这样A就可以将消息发给C,C再转发给B。
应用层组播(Application-Level Multicast)。
虽然IP层组播技术提出已经有十年之久,但一直没有被广泛使用,主要原因是它需要改变路由器算法,因此难以被广泛部署;而且IP组播需要记录组状态(组名与成员地址),使得协议十分复杂,也不符合Internet设计中一贯坚持的IP层无状态的基本原则。鉴于此,人们提出不需要IP层支持的应用层组播,也就是在需要收到消息的结点之间不断转发消息,以保证消息最终能够被该组的所有成员收到。很多应用层组播在结点之间通过树状结构进行组播,并且:(1)保证有结点进出时树状结构能够迅速修复;(2)优化这一树状结构,使其与下层Internet结构更为匹配,以提高组播效率,降低组播通信对Internet链路产生的压力。