p2p通信模型
❶ 什么是P2P网络
P2P网络即对等网络/对等计算机网络:是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。
“Peer”在英语里有“对等者、伙伴、对端”的意义。因此,从字面上,P2P可以理解为对等计算或对等网络。国内一些媒体将P2P翻译成“点对点”或者“端对端”。
学术界则统一称为对等网络(Peer-to-peer networking)或对等计算(Peer-to-peer computing),其可以定义为:网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源通过网络提供服务和内容,能被其它对等节点(Peer)直接访问而无需经过中间实体。
在此网络中的参与者既是资源、服务和内容的提供者(Server),又是资源、服务和内容的获取者(Client)。
(1)p2p通信模型扩展阅读:
与客户端/服务器网络相比,对等网络具有下列优势:
1、可在网络的中央及边缘区域共享内容和资源。在客户端/服务器网络中,通常只能在网络的中央区域共享内容和资源。
2、由对等方组成的网络易于扩展,而且比单台服务器更加可靠。单台服务器会受制于单点故障,或者会在网络使用率偏高时,形为瓶颈。
3、由对等方组成的网络可共享处理器,整合计算资源以执行分布式计算任务,而不只是单纯依赖一台计算机,如一台超级计算机。
4、用户可直接访问对等计算机上的共享资源。网络中的对等方可直接在本地存储器上共享文件,而不必在中央服务器上进行共享。
❷ p2p的原理
P2P软件是基于P2P技术工作的
1、什么是p2p
P2P是一种技术,但更多的是一种思想,有着改变整个互联网基础的潜能的思想。
(1)p2p的概念
P2P是peer-to-peer的缩写,peer在英语里有“(地位、能力等)同等者”、“同事”和“伙伴”等意义。这样一来,P2P也就可以理解为“伙伴对伙伴”的意思,或称为对等联网。目前人们认为其在加强网络上人的交流、文件交换、分布计算等方面大有前途。
简单的说,P2P直接将人们联系起来,让人们通过互联网直接交互。P2P使得网络上的沟通变得容易、更直接共享和交互,真正地消除中间商。P2P就是人可以直接连接到其他用户的计算机、交换文件,而不是像过去那样连接到服务器去浏览与下载。P2P另一个重要特点是改变互联网现在的以大网站为中心的状态、重返“非中心化”,并把权力交还给用户。 P2P看起来似乎很新,但是正如B2C、B2B是将现实世界中很平常的东西移植到互联网上一样,P2P并不是什么新东西。在现实生活中我们每天都按照P2P模式面对面地或者通过电话交流和沟通。
即使从网络看,P2P也不是新概念,P2P是互联网整体架构的基础。互联网最基本的协议TCP/IP并没有客户机和服务器的概念,所有的设备都是通讯的平等的一端。在十年之前,所有的互联网上的系统都同时具有服务器和客户机的功能。当然,后来发展的那些架构在TCP/IP之上的软件的确采用了客户机/服务器的结构:浏览器和Web服务器,邮件客户端和邮件服务器。但是,对于服务器来说,它们之间仍然是对等联网的。以email为例,互联网上并没有一个巨大的、唯一的邮件服务器来处理所有的email,而是对等联网的邮件服务器相互协作把email传送到相应的服务器上去。另外用户之间email则一直对等的联络渠道。 当然但是过去的5年里,互联网的发展至少从表面上远离了P2P,互联网上绝大部分的节点也不能和其他节点直接地交流。Napster正是唤醒了深藏在互联网背后的对等联网。Napster的文件共享功能在局域网中共享目录也是再平常不过的事情。但是Napster的成功促使人们认识到把这种“对等联网”拓展到整个互联网范围的可能性。当然,在许多人的眼中,Napster并不是纯粹的P2P,它仍然需要一个处于中心协调机制。
事实上,网络上现有的许多服务可以归入P2P的行列。即时讯息系统譬如ICQ、AOL Instant Messenger、Yahoo Pager、微软的MSN Messenger以及国内的OICQ是最流行的P2P应用。它们允许用户互相沟通和交换信息、交换文件。用户之间的信息交流不是直接的,需要有位于中心的服务器来协调。但这些系统并没有诸如搜索这种对于大量信息共享非常重要的功能,这个特征的缺乏可能正 是为什么即时讯息出现很久但是并没有能够产生如Napster这样的影响的原因之一。
另外一个可以归入P2P是拍卖网站譬如eBay,人们在总结eBay的模式的时候用了C2C,是不是和P2P有一点类似?eBay就是一个将人们联系的和交易物品的社区,用户可以方便的搜索其他用户叫卖的商品。eBay提供了一些使得交易得以顺利进行的服务,但是交易是直接在用户之间进行的。如果将“交易”的概念推广,C2C就是P2P的一个特例,这里人们互相交换的是商品。
但如果仔细深究的话,Napster和即时讯息在赋予用户之间直接交流的能力、eBay使用户可以直接交易的同时,却破坏了服务器端的那种自互联网出现之初就存在的对等联网思想,因为它们都需要有一个位于中心的服务器来协调,而不是分布在世界上不同地方的、对等联网的许多服务器。这也正是诸如Gnutella和Freenet不断的宣称它们创造了“纯粹”的P2P,完全没有中心服务器的P2P服务。
(2)p2p的思想溯源:回到互联网的本质
如果回顾一下,我们会发现在WWW出现伊始P2P就是互联网的本质特征之一。人们各自建立网页、互相做链接,人们上网是沿着链接冲浪。那时的web是真正的“网”(web)。但是当Yahoo!和Lycos建立了搜索引擎和门户站点后,人们上网的方式被改变了,人们从此到一个地方去获取所有的信息。记得_blank">新浪曾经有一段时间说它们是“目标站点”模式,但是如果多问一句,现在人们一条一条地阅读_blank">新浪的新闻,在头脑中还有一个“网”的概念吗?最大的问题是,这些站点控制了信息的流动、充斥了过时的信息、阻碍了真正的交流,或者对于很多人来说,另外还有太多的广告。 P2P就是把控制权重新还到用户手中去。人们通过P2P可以共享硬盘上的文件、目录甚至整个硬盘。这种能量是非常令人激动的,那些费心存储在自己的硬盘上的东西肯定是我们认为最有价值,所有人都共享了他们认为最有价值的东西,这将使互联网上信息的价值得到极大的提升。是不是有一种和WWW刚刚出现的时候同样的激动呢?有一点。
因为每个Peer都代表了其后的人,基于自组织的网上社区也正在显现。与门户站点从上而下建立社区的方式不同,人们将以自发的方式形成社区。
当人们加入P2P网络的时候,所有人都拥有了平等的机会,所有人都拥有了极容易地在网络上创造“内容”的机会。当然,真正在网络上创造或提供内容的人还是少数的,据统计Gnutella的用户中仅仅有2%向其他用户提供了内容,即使在比较活跃的Usenet张贴文章的用户也仅占所有用户的7%。但是,P2P第一次使得所有上网的人都拥有了平等的机会。
下面试图用三句话来揭示P2P的影响:
对等联网:是只读的网络的终结(Peer-to-peer is the end of the read-only Web)
对等联网:使你重新参与互联网(Peer-to-peer allows you to participate in the Internet again)
对等联网:使网络远离电视(Peer-to-peer steering the Internet away from TV)如上文所言,P2P不是一个新思想,从某些角度看它甚至是整个最初创建互联网的最基本的思想。我们不妨花时间作一点回顾。
互联网的发展于近现代的许多尖端科学技术的发展模式并无不同,即都是先在军事工业形成,再转到民用领域。互联网发源于至今看来也十分新颖的战略思想:为了避免敌人的毁灭性武器命中全国的军事指挥控制中心,应该怎么办?传统的方法是一方面想方设法尽可能地不让敌人知道中心的确切位置,另一方面提高中心的抵御打击的能力。
但在当今的核武器年代,对方有着连一个星球都可以炸毁的核弹,再固若金汤的防御措施一旦受到攻击肯定马上化为乌有。而只要有机密存在,总有打探出机密的方法,所以靠保密中心所在位置的方法也不是长远之计。在这种情况下,美国的军事人员充分发挥逆向思维,想到既然不可能长期、有效地保护中心免受攻击,那么还不如根本不设中心!
让每一个基地乃至每一台电脑都能独立运作,这么一来等于有了无数中心,敌人除非真的将这个星球炸了,否则其中一个基地或电脑受损,也不影响其他基地或电脑继续发挥作用。正是这种“非中心化”的思想成为形成互联网最基本的概念。
但是许多技术出现之后往往并不会完全按照原先的设计发展,服务器/客户机的架构逐渐变成了互联网的主流,浏览变成了人们在互联网上最主要的生存方式。互联网的普通用户似乎在慢慢的退化、和电视观众一样被动地浏览着大网站们创造的内容。
人们在网络上的主要活动访问了在这么门户站点上,读新闻、参与讨论组、聊天。但是这使得设计的互联网的一个特性消失了——如果Yahoo因故中断服务如出现什么情况?这种假设不太容易看到,但是年初的黑客攻击各大网站造成的混乱似乎可以给我们一点联想的线索。
上面提到像Napster和即时讯息还是需要位于中心的服务器,那么Gnutella网站上的一句话可能表达了它们所推广的“纯粹”的P2P所包含的“非中心化”的理念:设计Gnutella是为了在核战中生存(Gnutella Is Designed to Survive Nuclear War)。
它的网站上这样描述,纽约的用户受到攻击至多只会影响那个地区的部分用户,而其他地方的Gnutella用户还能正常的使用,这不正是互联网最初的理想吗?
(3)Napster带来的革命
Napster是去年当时由只有18岁的肖恩·范宁(Shawn Fanning)开发的,它提供服务允许音乐迷们交流MP3文件。它与先前也被推上被告席的提供免费音乐下载MP3.com的不同就是在Napster服务器没有一首歌曲,Napster提供了一个新的软件供音乐迷在自己的硬盘上共享歌曲文件,搜索其他用户共享的歌曲文件,并到其他也使用Napster服务的用户硬盘上去下载歌曲。Napster在短时间里吸引了5000万用户,最终,它被五大唱片商以侵犯版权推上被告席而成为世界的焦点。
可能从来没有一个行业象唱片业这样,生存会因为一个小小的软件而受到如此深重的威胁。对于Napster引起的版权问题有过很多的讨论,但是多花一些时间讨论还是值得的,因为这个案件决定了也决定了P2P文件共享这一分支的前途,也决定了未来如何处理互联网上的版权问题。
10月31日原告之一BMG公司和Napster达成和解协议。舆论认为这表明唱片业意识到通过数字方式发布音乐将是不可阻挡的潮流,消灭Napster也无法阻止其他模仿Napster的服务商出现。因此还不如与之合作改变Napster,将之变成在线音乐销售的渠道。现在的唱片工业面临的可能不是如何“像压碎一个鸡蛋”那样压碎,而是与之合作,将Napster的5000万用户变成自己的客户。也就是将Napster的模式变成“合法化的Napster”模式。唱片工业的困境是如何防止那些Napster的模仿者继续免费提供歌曲。
2000年2月12日,美国旧金山第九巡回上诉法院的三名法官就音乐网站Napster版权纠纷案作出裁决,认为它侵害了各大唱片公司的版权。但是三名法官并没有应唱片公司的要求,决定立即关闭网站,而是把最初的判决送回给低一级的地方法院。法官们说,这项裁决内容过于复杂,需作进一步澄清。但错综复杂的法律过程和长达58页的判决书反映了现在既缺乏与互联网相关的版权法,也缺乏相应的司法实践。
但是,不管Napster案的结果如何都不能改变Napster后面的技术和思想给互联网带来的影响。“魔鬼”已经钻出了魔瓶,而魔瓶也已经被打破了。对于唱片界来说,至少它们销售唱片的方式被彻底改变了。下一个可能是好莱坞的电影工业,压缩技术和宽带网络将使得人们会在网络上轻易地传输整部电影。
事实上合法化的网络上已经出现了许多试图推出“合法化的Napster”模式的公司,譬如由Napster的创办人之一创办的lightshare.com和Flycode.com。P2P对于唱片商来说的确有吸引力,如果它们能够从用户身上收费的话。对于利用诸如一个集中的站点提供收费的mp3音乐下载,用户每次从网站下载的时候,网站都必须向电信交流量费,而使用P2P则使得这部分费用不再存在了。因此唱片商获得更多的利润,用户也应该可以得到更便宜的音乐。
从某种意义上软件也好像预测到了大规模盗版和文件共享可能带来的影响,这主要归功于开放源码软件给软件业带来的“头脑风暴”。在亚洲和东欧,软件业已经在反对盗版上打了败仗。这也正是微软极力推广一种“软件注册模式”,把软件作为按月付费的服务出售,而不再是向过去那样出售容易复制和盗版的硬拷贝。
当然,对所谓“合法化的Napster”模式还是有很多质疑。P2P的这种文件共享功能似乎没有带来什么附加值,尽管这个过程可能是非常有趣的。从另一方面来说,这项技术可能被用来推动人们重新参与互联网、创造他们自己的内容,这也许是价值所在。所有的社区网站都有一个“梦想”,让用户互动来产生内容,但是由于由上而下创建的社区的最根本上的问题,这种梦想从来没有真正实现过。P2P或许可以改变这一点。
Napster创造的奇迹同时也是揭示了在互联网时代普通人也具有改变整个世界的能力。当肖恩·范宁在波士顿的东北大学校园开发Napster的时候,他只不过是想和他在维吉尼亚的朋友共享mp3歌曲文件。现在这个小软件改变了整个世界。
(4)p2p改变了什么?内容转移到“边缘”
在回顾了Napster了问题和困境之后,下面将看看P2P的更多激动人心的东西和消除围绕这个新词的种种误解,以及看看P2P的机会主要在哪儿。
P2P带来的一个变化就是改变了“内容”所在的位置,内容正在从“中心”走向“边缘”,也就是说内容将主要不是存在几个主要的服务器上,而是存在所有用户的个人电脑上。
Napster的成功使我们不得不去质疑流传已久的两个断言,“应用服务提供商(ASP)是未来趋势”和“个人电脑死了”。ASP的一个基本假设就是对于大多数客户来说购买和维护高性能的服务器的成本太高了,但是P2P使得每个人办公桌上的电脑都可以成为“服务器”。用户原来是用台式电脑准备好数据之后再把数据上载到服务器上去,而使用P2P将不再需要这个过程。“个人电脑死了”这个断言就是个人电脑将主要用来浏览互联网、字处理等,因此最简单的瘦客户机就可以满足需求。P2P使得个人电脑再一次成为“中心”。P2P使得个人电脑重新焕发活力、不再是被动的客户端,而成为具有服务器和客户端的特征的设备,个人电脑将重新成为互联网的中心。
互联网的存储模式将由现在的“内容位于中心”模式转变为“内容位于边缘”模式。从这个角度看P2P带来了几个改变:
首先,客户不再需要将文件上载到服务器,而只需要使用P2P将共享信息提供出去;
其次运行P2P的个人电脑不需要固定IP地址和永久的互联网连接,这使得那些拨号上网的用户也可以享受P2P带来的变革,这部分用户在所有用户中占有极大的比重;
最后,P2P完全改变过去控制互联网的客户机/服务器模式,消除客户机和服务器二者之间的差别。
上文对Napster所遭遇的法律问题有很多讨论,但是换个角度来阐述,盗版问题往往也正显示存在大量未能满足的需求。Napster的惊人成功(这里指吸引大量用户而不是获得利润)是一种难得的对P2P的概念上可行性的证明,揭示了P2P改变互联网的潜力。直通桌面的宽带网络逐渐成为现实、个人电脑越来越强大足以胜任“服务器”功能也从另外的方面确保P2P发挥其能量。
个人电脑取代位于中心的服务器成为内容的主要存储地将对互联网的几个主要发展方向有着意义深远的影响:这可能改变Windows和Linux几年的“战争”的局面,当“桌面”和服务器逐渐融合,微软可能会极力推广其基于Windows2000的Web服务和“内容处于边缘”(内容处于桌面)模式,从而可能破坏Linux在服务器市场上存在的基础。
提供免费个人主页服务的公司存在的一个理由就是目前互联网使得普通用户很难拥有自己的服务器放置自己的内容。可以预言类似Napster的服务将会出现供人们在自己的个人电脑上发布主页和内容。
WAP等移动服务协议目前还主要关注让人们去使用处于中心的商业服务如新闻、股票信息等。但更多的时候人们最需要的信息是那些在他们的个人电脑上的信息,P2P使这成为可能。人们可以通过无线联网P2P访问他们的个人电脑,这也就是一些公司所宣传的个人化P2P(Personal P2P)的“无线版本”。
当然,这也不是说使用P2P的个人电脑可以取代服务器,那些安全的备份和需要专家来不断更新的数据还将存在于位于中心的服务器上。 可以这样看待P2P带来的转变,“内容位于中心”模式较好的适应了互联网初期的情况,个人电脑性能太差因而需要有专门的服务器、带宽太窄使得个人电脑不得不退化到被动浏览。宽带互联网、更稳定的更高性能的个人电脑使得我们有理由预言下一个5年将是由“内容位于边缘”模式主导。
(5)重新解读P2P
每个具有划时代意义的创新出现的时候它往往可能被人们误读。P2P这次也不例外,Napster让人们开始关注P2P,但也使得许多人认为P2P就是歌曲交换、文件交换,甚至认为P2P和盗版有着必然的联系。可以说人们对P2P的理解是被误导的和不完全的。
自由软件(Free software)出现之初也面临着误读的困境,人们开始的时候将Free理解为免费的,从而认为自由软件是不可靠的、认为自由软件运动是激进的“反文化的”。事实上Free更多的应该指自由地探索想法、在软件中表达出来和共享软件。这一点对自由软件的鼓吹者们来说是自然而然的,但是需要有人去告诉商界、媒体和公众自由软件在经济上和逻辑上是可行的。当时著名出版人O’reilly组织了一次自由软件峰会重新定义自由软件,将自由软件改名为开放源码软件(open source software)。这一重新定义使得人们开始拨开误解的乌云,了解Free的本质。开放源码将人们从有缺陷的软件、锁定效应和传统的软件分发渠道中解脱出来。自由表示合作将可以跨越公司的边界、共享基础性的开发,使人们可以把注意力集中到高附加值的服务上去。 今年8月,O’Reilly又组织另一次峰会来帮助人们认识P2P的潜力和消除Napster、Gnutella造成的P2P是盗版技术的负面影响。另外,他认为目前P2P的状态类似于“盲人摸象”,P2P技术的领导者们每个人都看到了P2P这头“巨象”的一些特征。,如果他们能够有机会交流思想,P2P将会更快地发展。这次P2P峰会主要有三个目的:定义P2P,我们要从中的到什么以及为什么;描述P2P的机会,P2P能解决什么样的问题;形成一个提供给大众的关于P2P的信息,消除那些负面影响。
参与P2P峰会的有媒体不断报道的那些提供文件交换服务如Napster、Gnutella、Freenet的开发者,也有那些试图挖掘P2P分布计算能力的公司和组织如Popular Power、SETI@home、distributed.net等的开发者。后面的三家公司希望使用P2P技术集中那些联接在网络上的电脑的空闲的CPU时间片断、内存空间、硬盘空间来替代“超级计算机”。其它正在进行的P2P应用还有,IBM、微软、Ariba也在合作开展一个名为UDDI的项目以将B2B电子商务标准化;Eazel正在建立下一代的Linux桌面;Jabber已经开发了一种基于XML、开放的即时讯息标准,Jabber被认为是建立了未来使用P2P数据交换的标准;由Lotus Notes的开发者创建的Groove试图“帮助人们以全新的方式沟通”;英特尔也在推广它的P2P技术以帮助更有效地使用芯片的计算能力。
列这样一个名单有一点枯燥,尤其是对于那些对于具体细节没有太多兴趣的读者,但这又是必要的。因为这些描述可以让我们更全面的了解。
(6)尚未被了解的P2P
Napster是与设备相关的,用户连接到到由它创建的P2P网络上是为了获取Mp3歌曲文件。但是对于即时讯息这一类P2P应用来说是完全不同的,别人连接的目的是和另一个Peer交流,而不必管他使用的是电脑、手持电脑或者手机。P2P提供了在网络上与设备无关的实时交流的能力。
这种将把用户实时的连接起来的能力是P2P最令人感到激动的特性。事实上我们可以从AOL的AIM、国内Oicq受欢迎的程度认识到这个事实。
能够实时地寻找和联络需要的人是商业应用的基本要求,电话可以做到这一点,而在网络上最常用的E-mail并不能做到这一点。因此,即时讯息将不仅仅是一个有趣的服务,更多的它将是下一个最基本的互联网商业工具。即时讯息现在看起来可能成为诸如客户服务、供应链管理等商业应用的平台。开发了一个开放源码的基于XML和Java即时讯息服务的Jabber似乎正是创建了一个这样的平台。Jabber的开发者似乎刻意集中了互联网现有的所有激动人心的东西:P2P、Java、XML和开放源码。它是不是有这种潜力呢?我们最好拭目以待,但Jabber的模式至少要比Napster要清晰得多。
Negroponte在其《数字化生存》中曾经有一个著名的论述,“网络上的东西将比人要多”。P2P将使得这些“东西”之间的直接交流成为可能,网络上每个设备都是“活跃”的,而不是像过去那样有部分是非常活跃,而有的则被动的,有时候直接交流的那些设备可能都是某一个用户自己的,譬如说掌上电脑和台式电脑的数据同步是最好的例子。如果用户的掌上电脑上有些数据和内容是台式电脑上没有的,台式电脑也应该能够向掌上电脑要求获取那些信息,这应该跟我们通过Napster到其他用户那儿去搜索和下载mp3歌曲一样。
最重要的一点是,不是网络上的节点数目而是这些节点如何参与网络决定网络是否强大、是否有价值。怎样使得网络上几亿的人和更多的设备都活跃地参与呢?P2P正是一系列架构、技术、策略的开端,它使得互联网的这一理想开始变为现实。现在人们看到的和预言的都只是冰山露出的一个小角,更多的还在水下。
(7)P2P中的P是人(People)!
Dave Winner的论断P2P中的P是人(people)!这可能是我读到的关于P2P最深刻的解读之一。
事实上,我们所处的真实生活是P2P的环境,人们可以和其他人直接地的交流。信息技术将我们带到了网络空间,在网络空间我们仍然希望还能够按照原来的P2P方式交流沟通。尽管互联网本质上是支持对等交流模式,但是网络的发展给对等交流增加了许多障碍。
正如许多技术专家所指出的,动态IP地址、_blank">防火墙、代理服务器从技术上使得对等连接变得很困难。更不用说目前的网络主导模式已经发展成为服务器/客户端模式,人们在网络上只能被动的接受那些大公司诸如Yahoo!、ABCnews.com等提供的信息,交流是非常困难的。(当然,在现实生活中诸如空间、社会等级等也束缚了人们的对等交流。但是如果网络能够使我们看到对等交流的可能性,为什么不去追求?)
可以这样类比,互联网的出现和电话的发明是具有同样的意义的,但是互联网最开始的主要特征是非实时的,更类似于传真,而没有提供像电话那样实时交流,现在P2P的即时讯息可能使得互联网上的实时交流变得和Web页面、E-mail那样普遍和不可或缺。
对于所有的P2P应用来说,最先要做的就是恢复互联网曾经失去的对等联网能力。这也正是Napster从概念上最大的缺陷。(email是具有P2P交流的特征的,但email缺乏实时交流的能力,它类似与传真,但我们还需要“电话”的。)
从“人”的角度上将,P2P发展的要点并不是P2P网络架构是如何,而是P2P将人们在网络上连接起来了,人们可以在网络这个更迅疾的媒介上处理那些需要沟通的问题。这是最重要的。尽管到今天还有人在怀疑互联网作为零售商业和B2B媒介的有效性,但是互联网已经从根本上改变了我们的交流方式是不需要任何讨论的。过分的谈了“纯粹的”的、完全消除控制的P2P是毫无意义的。中心化或者非中心化都只是工具,都是为了创造出使人们可以更有效地沟通的工具。
人类在现实生活中的经验至今仍只有极少的部分被应用到网络上,如新闻、B2C、B2B。现在,人们最常使用的P2P被移植到了网络空间。P2P可能改变一些我们已经熟知的、习惯了的产品和服务,也会创造更多。
究竟会出现些什么?预言未来的最好办法是去创造。