p2p的原理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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可能改变一些我们已经熟知的、习惯了的产品和服务,也会创造更多。
究竟会出现些什么?预言未来的最好办法是去创造。 参考技术A 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则一直对等的联络渠道。
��事实上,网络上现有的许多服务可以归入P2P的行列。即时讯息系统譬如ICQ、AOL Instant Messenger、Yahoo Pager、微软的MSN Messenger以及国内的QQ是最流行的P2P应用。它们允许用户互相沟通和交换信息、交换文件。用户之间的信息交流不是直接的,需要有位于中心的服务器来协调。但这些系统并没有诸如搜索这种对于大量信息共享非常重要的功能,这个特征的缺乏可能正为什么即时讯息出现很久但是并没有能够产生如Napster这样的影响的原因之一。
下面试图用三句话来揭示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不是一个新思想,从某些角度看它甚至是整个最初创建互联网的最基本的思想。我们不妨花时间作一点回顾。
一、横空出世---P2P 身为何物?
互联网能够发展至今,根本原因在于其布建的任何一根血脉都是为人与人之间的交流而设置的。而现在能够引起互联网震动的,无非也只有交流方式的变革本身。 如今,在基于网络的各种技术充斥于我们周围之时,恐怕只有很少人不知道P2P的概念了,即便您没有深入探究,但您每日在互联网间进行的活动几乎没有不沾P2P技术的。一个简单的例子,在你使用QQ尽情聊天之时,实际上就享受着P2P技术给你带来的快感与兴奋。P2P技术究竟意味着什么呢?关于P2P技术的两种解释或许可以说明这个问题。
一种解释是,P2P即peer-to-peer。而peer在英语里是“(地位、能力等)同等者”、“同事”和“伙伴”的意思。这样一来,P2P也就可以理解为“伙伴对伙伴”的意思,或称为对等联网,我甚至觉得解释成为person-to-person更好一些。反正交流也都是人的交流。
而另一种解释是,P2P就是一种思想,有着改变整个互联网基础的潜能的思想。客观讲,单从技术角度而言,P2P并未激发出任何重大的创新,而更多的是改变了人们对因特网的理解与认识。正是由于这个原因,IBM早就宣称P2P不是一个技术概念,而是一个社会和经济现象。
不管是技术还是思想,P2P是直接将人们联系了起来,让人们通过互联网直接交流。它使得网络上的沟通变得更容易、更直接,真正地消除中间环节。这听起来仿佛全新的概念,但其实并不是什么新鲜事。我们每天见面,或者通过电话直接交流都是P2P最直接的例子。而这个时候你有没有从电话的发展的历史中隐约感觉到,P2P必将在互联网时代有着突飞猛进的发展,因为他可以改变现在的Internet以大网站为中心的状态、重返“非中心化”,并把权力交还给用户,让我们的语言影像以最直接的方式传递到对方身边。它最符合互联网络设计者的初衷,给了人们一个完全自主的超级网络资源库。现在在业界,比较认同的P2P计算应用系统的目标主要有以下几类:
1.信息、服务的共享与管理
2.协作
3.构建充当基层架构的互联系统
二、生机勃勃--窥探P2P的发展历程
如果说涉及此种特点便称之为信息技术中的P2P的诞生,那么它的历史这可就远了。P2P 本身的基本技术的存在时间和我们曾经熟悉的USENET、FidoNet 这两种非常成功的分布式对等网络技术几乎是一同的,甚至更长些。翻翻资料就可以知道,USENET 产生于 1979 年,FidoNet创建1984年,它们都是一个分散、分布的信息交换系统。在最初的 P2P 应用出现时,许多使用该技术的人们甚至不会使用计算机。然而正是这种孕育着思想的网络技术为P2P的出现搭建了温床。
P2P正式步入发展的历史可以追溯到1997年7月,那几乎就是互联网在中国起步的阶段。在一段介绍此时P2P技术的时间表中这样写着:“Hotline Communications is founded, giving consumers software that lets them offer files for download from their own computers.”(1997年7月,Hotline Communications公司成立,并且研制了一种可以使其用户从别人电脑中直接下载东西的软件)
或许有人还记得,早在1998年,美国东北波士顿大学的一年级新生、18岁的肖恩?范宁为了能够解决他的室友的一个问题——如何在网上找到音乐而编写的一个简单的程序,这个程序能够搜索音乐文件并提供检索,把所有的音乐文件地址存放在一个集中的服务器中,这样使用者就能够方便地过滤上百的地址而找到自己需要的MP3文件。到了1999年,令他们没有想到的是,这个叫做Napster的程序成为了人们争相转告的“杀手程序”——它令无数散布在互联网上的音乐爱好者美梦成真,无数人在一夜之内开始使用Napster。在最高峰时Napster网络有8000万的注册用户,这是一个让其他所有网络望尘莫及的数字。这大概可以作为P2P软件成功进入人们生活的一个标志。
时间表中这样记录着这一段历史:
January 1999:
Shawn Fanning, 18, creates the Napster application and service while a freshman at Northeastern University.
(1999年1月,18岁的美国东北波士顿大学的一年级新生肖恩?范宁开始了Napster程序的服务)
May 1999:
Napster Inc. is founded.
(1999年5月,Napster公司宣告成立)
之所以我们注重开端,是因为这是一个非同意义上的起始,也正是从这天起,P2P开始了它曲折但极富生命力的发展。
到了2000年,P2P技术的发展就得使用月甚至日来记载了。直到现在使用P2P技术的软件比比皆是,人们也在不知不觉中感受到了P2P作为高科技发展载体的快乐。平常我们使用的QQ 、MSN就不提了,其他软件更是铺天盖地,让人目不暇接。简单罗列一下,以飨读者。
软件名称 简介
eMule eMule 是以 eDonkey2000 网络为基础的新型 P2P 文件分享工具。
OPENEXT 一款P2P软件。通过它,Internet用户之间可以直接建立点对点的连接。
迅雷Thunder “光速般”的智能下载软件——迅雷(thunder2.2.0)。迅雷它拥有比目前用户常用的下载软件快7—10倍的下载速度。
易载ezpeer 易载ezPeer简体中文版,免费注册使用!ezPeer 是一个革命性的P2P(点对点)文件共享软件。
Kuro M3 Kuro-全球第一款全中文界面的火爆MP3超强抓歌软件!
酷狗(KuGoo) “KuGoo”是酷狗的简称,是基于中文平台专业的P2P音乐及文件传输软件。通过KuGoo,用户可以方便、快捷、安全地实现国内最大的音乐搜索查找。
APIA APIA 是一个正在发展中的 P2P 网络系统,如同目前熟知的 eDonkey、Gnutella 与 Kazaa 等软件。
iMesh 能够让你设定分享文件的类型,音乐、影片或其他文件;也能够让你搜寻并且下载你想要的文件。
BearShare BearShare 是一个非常好的文件分享软件,它让你、你的朋友、在世界上的每一个人都可以分享文件。
三、珠联璧合---P2P和BT
说到P2P,就不能不提BT,这个被人戏称为“变态”的词几乎在大多数人感觉中与P2P成了对等的一组概念,而它也将P2P技术发展到了近乎完美的地步。实际上BitTorrent(中文全称比特流,简称BT)原先是指是一个多点下载的P2P软件。它不象FTP那样只有一个发送源,BT有多个发送点,当你在下载时,同时也在上传,使大家都处在同步传送的状态。应该说,BT是当今P2P最为成功的一个应用。
如果解释一下的话,BT首先在上传者端把一个文件分成了多个部分,客户端甲在服务器随机下载了第N部分,客户端乙在服务器随机下载了第M部分。这样甲的BT就会根据情况到乙的电脑上去拿乙已经下载好的第M部分,乙的BT就会根据情况去到甲的电脑上去拿甲已经下载好的第N部分。
有一句话可以作为BT最为形象的解释就是:“我为人人,人人为我”。而最初听到此概念时,有人对我说,别用BT,会坏你的硬盘的!大概指的就是前一句。现在看来,没有贡献怎么会有获取?这大概最可以概括BT下载传输的精髓。工具软件BTJoy,将这一技术以软件的形式完美起来,这个诞生仅有一年的软件已经迅速热遍了整个网络——对于BT下载的爱好者来说,120G的硬盘都可以被迅速塞满!我的同学在不长的时间里竟然用他的刻录机完成了一百来部的电视剧的保存,拿他的话来说,可以开一个小店面了!
四、风生水起---P2P是盗版者最好的温床?
在我们尽在说P2P的好时,也不得不想到,就如同历史总是在曲折中前进,任何新事物的发展总不会是一帆风顺的。我们来看下面的日程表:
1999 年 5 月,由范宁和帕克共同创办的文件共享社区网站—Napster正式成立,他们面临的麻烦就由此而起。
12 月 7 日,美国唱片业协会(RIAA)代表环宇音乐、索尼音乐、华纳音乐、百代唱片、BMG等七大唱片公司以违反版权保护法为由把Napster公司推向法庭。他们称Napster向网民提供MP3文件共享软件侵犯了音乐版权,要求法院关闭该公司并赔偿损失1亿美元。
2000 年 4 月 13 日,重金属乐队Metallica起诉 Napster,称其侵犯了自己的版权,并涉嫌诈骗。
6 月 12 日,美国唱片协会(RIAA)和美国音乐出版协会(NMPA)向加利福尼亚州北地区联邦地方法院起诉Napster公司,请求法院禁止在社会上流通Napster公司的MP3文件交换软件“Napster”。
7 月 11 日,参议院就围绕Napster展开的诉讼召开听证会,无果而终。一些议员敦促国会立法,以澄清Napster公司是否违反了知识产权法;而支持Napster一方的人却认为国会不应该现在介入双方的争端,以免影响新技术的发展。
7 月 26 日,Patel同意美国RIAA的要求,作出初步判决,命令Napster立即停止服务。
2001 年 2 月 12 日,美国第九巡回上诉庭作出决定,Napster必须终止其免费互联网服务,并不再向音乐迷提供共享版权保护音乐的服务。
3 月 6 日,美国地区法官Marilyn Hall Patel做出判决, 责令Napster在五个工作日内删除所有存在争议的歌曲。
……
就在今天,就在此时,争议仍然不绝于耳。国外有关于P2P技术的纠纷一发而不可收拾,这种全新的极富生命力的传输方式从一诞生就和音乐,和版权联系在一起。为什么会引起音乐制作商们这么大恐慌?显然是其前所未有的传输速度挑起了他们的不安。在他们极力拦截还没有来得及开始的时候,一首歌曲便以迅雷不及掩耳之势传遍了整个互联网,而更加确切的说应该是全球,这显然是传统的盗版方式所不能比拟的。
五、风景这边独好—P2P在中国
同样,在传统的方法不能奏效的情况下,出版商们便只有从源头上遏制了。不知道国外关于此的争闹还会继续多久,然而在中国却又是另一种风景。众所周知,现阶段中国的版权保护制度和国外还有实质上的差距,这实际上使P2P技术的运用在相当长的一段时间内可以规避版权问题的困扰。按照国内我们的理解,P2P软件提供的只是一个资源共享平台,并不需要对其中传播的内容负主要责任,只要适当地监督引导当然可以大胆运作。从这方面来说,国内的P2P软件厂商处境要比国外的同行幸福很多,路已经有前人开好,又不必像国外的先行者如Napster一样面临官司的压力。而我们面对现状,一个形象的比喻是:你愿意挥汗如雨在天桥淘碟,还是愿意轻松候意在家享受宽带视频下载? 网络传输这种传播方式迟早有一天会取代传统的以磁带、光盘为载体的影视音乐发行渠道,从而成为人们获取影音资源的主要渠道,这似乎已经成了一个不争的事实。看看国外已经进行了多少年的争端,能不能给我们一些启示。在中国这样一个走进任何一家音像店,你都可以用低廉的价格获取几乎与正版没有任何区别的音像制品的情况下,利用新技术的无穷魅力与优势建立一个全新的发行渠道,打破以往那种发行模式才有可能避免切肤之痛。或许,国内的P2P行业有可能比国外的同行更有优势率先实现成熟的商业模式。
参考资料:http://zhidao.baidu.com/question/16020438.html
参考技术B P2P简介 P2P(Peer-to-Peer)这个词如果仅仅理解为一种网络拓扑结构,那不能称之为新鲜事物,因为早在许多年之前Internet刚刚诞生时就已经有了,而且当时的Internet就是一个P2P结构的大网络。人们之间完全是以“点-点”方式通讯的,根本不存在现在所谓的Server和Client。这可以看作是P2P最原始的形势。 经过几十年的发展,Internet上的资源逐渐丰富起来,并呈现爆炸式增长的态势。而与此同时,资源的流向却趋于集中化,大量公开的资源以所谓的Server形式在Internet上提供,网络应用也多以集中化方式提供服务,比如:Web、FTP等。不可否认,这种集中化的发展大大促进了Internet的普及与应用,成就了今天Internet的神话。然而,在这个唯一全球互联的网络上,集中化的方式使服务缺少个性,并充满着浓烈商业气息,人们每天机械地访问几个熟悉的门户网站的Web Server,去Mail Server上收发Email,到各种FTP Server去下载文件,就连人们喜欢的ICQ、QQ等即时通讯也是基于典型的Client/Server模型。今天的Internet已经完全“笼罩”在Server的控制中。 我们不否认Server对于Internet发展的重要贡献,因为“网络社会”同人类社会一样,也是由原始社会的“原始的民主”慢慢发展到“封建专政”,最后还会慢慢过渡到现代的民主,整个过程是在进步的。但应该看到,Server集中式的服务方式有许多技术弊端。一个最主要的问题就是资源无法得到充分利用。Internet最大的特点是全球互联,在Internet上最大的资源拥有群不是Server而是Client。可以说Client才是Internet的主体。有资料统计,全球Server提供的资源加在一起还不足Internet资源总量的1%。也就是说最多最好的资源实际上是存在于我们每一个人的PC中。随着硬件水平的发展,现在的PC无论是性能还是功能已经远远超越了原先对PC的定义。许多PC可以提供大容量的存储能力和高速的计算能力。人们迫切希望能打破Server的垄断,在Internet上拥有属于自己的空间。P2P技术正是基于这个目标而诞生的。 P2P技术不同于前面所说的基于Server的应用技术,它是基于P2P拓扑结构发展起来的一项新型网络通讯技术。从诞生之日起,P2P的宗旨就是要打破Server垄断,提供Server所不能提供的功能,弥补Server的不足,并充分利用和丰富现有的Internet资源。也就是说P2P不是要从根本上废除Server,在相当长的一段时间内,会与Server并存而共同发展。因此,从技术上讲,P2P技术一般都是基于成熟的TCP/IP协议的,并且借鉴Server应用中许多成熟的技术。从层次上划分,P2P应该属于网络应用层技术,与Web和FTP等应用是并列的。然而,P2P技术又比这些应用要复杂的多。 P2P非常强调一个词:Serverless。Serverless的提出意味着P2P技术将Internet服务提供方式划分为3种,完全基于Server(Server-based),少量借助Server(with-Server),完全脱离Server(non-Server)。P2P主要面向后两种情况。微软对Serverless这个词的解释是:“No server, but works better with server”。这或许是对Serverless概念比较精妙的概括。 “少量借助Server”这种方式是现在比较常见的P2P解决方案。像曾惹来广泛争议的Napster、现在欧美非常流行eDoney&eMule,以及我国P2P fans开发的Jelawat、Workslink等,都属于这类产品。目前这类产品多以File sharing服务为主,并兼有简单即时通信功能。这种方式的一个主要特点是,Server的功能已经远远退化,一般只作为Index Server使用,提供所有Peer以及之上各种文件列表查找索引服务。 “完全脱离Server”方式是P2P研究的重点和难点,也是P2P技术最终的目标。这种方式完全不需要Server的存在,所有Peer都是平等的,在P2P网络中所有的资源按照某种规则共享,同时任何Peer可以在任何时候在任何地点加入到某个P2P网络群体中。而这一切都根本不需要Server的配合和支持,当然works better with server。 二、P2P技术的应用前景 P2P技术带来的诸多好处是显而易见的。最大的好处就是资源将得到充分利用和最大化的共享,并且P2P技术还加强和改进了许多原有的应用。Microsoft在《Introduction to Windows Peer-to-Peer Networking》一文中列举了几种应用情景(scenarios): l Real-time communications (RTC),实时通讯 n Serverless Instant Messaging,Serverless型即时通信 Instant Messaging(IM)在当今全球已经变得相当普遍。国外的ICQ、Yahoo Messenger、MSN Messenger以及国内的QQ等都已经吸引了大量用户使用。IM之所以能成为当今Internet上最受欢迎的应用,主要是因为它满足了人们对于通讯实时性的要求。然而,目前IM软件还是基于C/S模型设计的,用户的帐号、好友列表等信息都保存在Server上,甚至用户有时发出的消息也需要Server帮助转发。如果服务商的Server坏掉了或者正在检修,许多功能就会在一定时间内无法使用。Serverless型的IM基本不需要Server的支持,只要人们以某种形式(如:Workgroup)形成了P2P网络互联,就可以相互之间识别并通讯,中间过程无需Server的帮助。这不但会大大降低IM应用提供商的运营成本,而且减少人们对于Server稳定性的依赖。无论你是在Internet上,还是在独立的公司局域网上,甚至是在家中,都可以随时组成P2P网络进行通讯。 n Real-time Matchmaking and Game Play,实时比赛和游戏 网络游戏的发展速度同样是惊人的,而且现在新推出的游戏大都提供连线对战功能。然而与即时通信应用相似,基于C/S模型的连线对战同样需要性能强劲的游戏服务器支持。虽然也有许多游戏支持局域区连线对战,但如果我们想和海外的高手对战来一争高低又不得不约他们到指定厂商的Server上,造成许多麻烦和不便。P2P技术允许任何Peer可以单独建立区域型的P2P网络,可以让Internet上的任何人随时加入到其中,共同游戏娱乐。 l Collaboration,协同工作 n Project Workspaces Solving a Goal,项目组内协作 “协同工作”的概念现在越来越受到推崇和重视,一个很重要的原因就是现在的项目规模不断扩大,仅靠两三个人的力量是根本无法胜任的。而要很好地实现“协同工作”就必须有相应的软件支持。在Office的各个组件中,已经开始加入了“协同工作”的功能,在Visual Studio.NET里也引入了相应的功能,但这些仍然是基于C/S模型的“协同工作”。P2P技术实现的协同工作是无需Server支持的,而且同样可以组合成一个个Workgroup,在之上共享信息、提出问题、商讨解决方案等,提供更好的“协同工作”能力。 n Sharing Your Files with Other People,与其他人共享文件 File sharing已经相当普遍了,上面说的诸如eDonkey、eMule等都已经实现了这方面功能。但P2P技术真正想提供的是一种无Server的File sharing能力。我们如果想和远在美国的几个朋友分享一个MP3音乐文件,使用eDonkey等软件来Transfer这个文件是十分麻烦的,因为这些软件只提供全局共享能力。如果使用P2P技术开发的File Sharing软件,只要十分简单地形成一个P2P网络,就可以互相看到对方共享的文件,并随时下载,而且这种File sharing比现在的方式更加出色。而且这些是不需要Server的支持的。 n Sharing Your Experiences,共享体验 随着Wireless应用的普及,移动设备上网并收发MMS等应用已经变得不新鲜了,但对无线业务稍有了解的人都应该知道,我们的MMS还都是需要运营商Server的转发才能实现的。你有没有想过当你遇到一个令你激动的情景,只需要用手机的摄像头对准它,就可以将这个情景以Video的形式直接传送到你的朋友们那里,而这些看似只有在科幻电影中才有的镜头,在P2P技术中是完全可以方便地实现的。 l Content distribution,内容分发 n Text Messages,文本消息 Netmeeting中的White Board功能许多人应该都使用过,包括Chatroom中的聊天功能也都支持许多人一起聊天,所有人都能看到聊天信息。但这同样必须有Server在中间做存储转发才可以实现,而且许多Server都有聊天时间和聊天信息多少的限制,不能一直都挂在网上并随时看到所有的聊天信息。P2P可以实现一个Workgroup中7*24小时在线互联,并且随时分发通话的信息。新加入到这个Workgroup中的人还可以看到以前的信息。这是Server-based的Chat应用很难实现的。 n Audio and Video,音频和影像 现在十分流行的基于网络的电视电话会议应用也很普遍,在许多场合都发挥着重要的作用。而这种系统大都是由主会场的一台Server做中央控制服务器,将主会场的音频和视频信号压缩编码后通过有线或无线网络不断发送出去,到达分会场后再解码播放。如果想看到分会场的情况,必须不断地将分会场的信号传回主会场的中央Server,由它再分发到其他分会场。可以看出这个中转过程中浪费了不少网络传输资源。但这是基于C/S模型无法避免的弊端。P2P技术使所有的会场都处于平等的地位。一个会场的信号会同时广播到所有的会场,会议系统只需要通过切换不同的接收信号,就可以收到所有会场的情况。 n Distribution of Product Updates,分发产品升级补丁 产品推出后经常需要打补丁以解决发现的BUG或安全隐患,如Microsoft的Service Packs或Update。然而目前打补丁的方法基本上采用让用户自己下载网站上发布的补丁包,自行安装补丁的方法。这会造成许多问题,最严重的问题就是用户对补丁包的真伪不得而知,有时下载的补丁包实际是个大木马或者大病毒。这会给用户带来难以估量的损失。尽管有些软件已经提供自动升级能力,但基于Server补丁下载模式仍然没有变,同样会带来对Server稳定性和安全性的依赖。P2P技术使产品的分发变得十分简单,所有拥有这种产品的人会自动形成一个Workgroup,并且有严格的身份认证。产品厂商随时在这里提供升级补丁服务,而P2P技术会使你的电脑在不知不觉中完成打补丁和各种升级服务。 l Distributed processing,分布式计算 n Division and Distribution of a Task,分解和分发任务 分布式计算是当前计算领域一个热门的研究课题,也是P2P技术的高级应用。如何将一个大任务分解为许多个小任务,并通过网络分发到所有Workgroup中的电脑上进行计算,最后将结果统一汇总到一台电脑上,是分布式计算的一个主要的应用。这种想法的初衷是因为现在的PC计算能力已经大大加强,分布于世界各地的无数台PC拥有巨大的“计算潜能(Computing Potential)”。如何开采这部分潜能,使之共同协作完成就连巨型计算机都无法在短期完成的计算任务,是许多计算机科学家孜孜以求的目标。P2P技术为完成分布式计算提供了很好的平台。当然真正实现良好的分布式计算还需要许多技术的共同配合才能完成,P2P只是核心技术中的一种,但应该看到应用P2P技术实现分布式计算的应用正在慢慢实现,许多大公司如IBM、Intel都希望在这一领域有所作为而正在加紧实验。 n Aggregation of Computer Resources,整合计算资源 “网格计算(Grid Computing)” 的概念许多人都应该听说过,我国中科院也在这一领域做出了许多重要的研究成果。“网格计算”的核心思想就是要最大限度地利用闲置的网络资源,达到“积跬步以成千里,积小流以成江海”的巨大计算资源汇集效应。有人曾做过比喻:“如果你出门在外,家中的暖气是被浪费的热能,如果将一个城市中这些热能集中起来,不亚于一个小型发电站”。这种应用在高能物理、核物理、气象、水文、太空研究等海量计算领域有巨大的应用前景。而这恰恰是P2P技术擅长的地方。 l Improved Internet technologies,改良和增强现有的Internet技术 Network Address Translator (NAT,网络地址转发)现在应用十分普遍,特别是在局域网和Internet互联上更是发挥了重要的作用。然而导致NAT技术和其他类似地址转发技术出现的根本原因是由于IPV4的地址已经即将分配完。没有足够的IP地址为所有的电脑分配全球唯一的IP标识。因此不得不采用NAT等技术进行地址的翻译和转发。虽然通过端口映射等技术手段在NAT上实现内部电脑与Internet上电脑的间接互联也是可行的,但P2P技术为我们提供了更加直接和便捷的互联方式。由于P2P技术是基于IPV6协议的,而IPV6的地址分配量是一个惊人的天文数字。在这样一个“可以为地球上的每一粒砂子分配一个IP地址”的环境里,每一台电脑甚至每一个灯泡和开关都可以拥有IP地址。难怪有人会开玩笑说,P2P技术可以使你在美国用手机控制你中国家里的厨房顶灯。在P2P技术支持下这的确不只是幻想。 三、P2P技术发展中的问题 世界上的一些事物都有其缺点,P2P技术也不例外。从诞生那天起,P2P就与版权问题、安全问题和盈利问题有着千丝万缕的联系。如果说版权问题可以通过法律手段加以规定和限制来解决,盈利问题可以通过构建良好的盈利模型加以克服的话,那么安全问题就是现在P2P发展过程中最亟待解决的核心问题。由于P2P允许全球的电脑互联,这其中难免会有不怀好心的人,他们利用网络和P2P系统的漏洞,有可能攻入到用户的电脑中,窃取重要的机密信息,甚至进行破坏,给用户造成难以估量的损失。在Server时代通过严密的Firewall都很难从根本上杜绝恶意攻击,那么在P2P时代通过何种技术来最大限度阻止这一切的发生,已经成为当今各个P2P研究机构头等重要的课题。 目前解决安全问题的基本思路是“Authorization(授权、认证)”。通过建立一个个基于比较完善的加密机制而形成的Workgroup,对进入该Workgroup的PC加以严格的身份检验和授权,以达到保护Workgroup自身安全的目的。当然,如果要实现比较坚实的P2P安全体系,还需要许多安全技术的配合才能得以实现,不是简单的一两种技术就可以完成的。 应该看到,安全问题对于P2P技术的发展至关重要,可以说关系P2P的成败。在这样一个日益注重网络安全的时代,如何实现“可信赖计算”是摆在所有P2P研究人员面前的头等大事。我们衷心希望不远的将来,在美好的P2P时代,我们都能在P2P网络中简单、愉快、安全的进行各种计算活动,一起感受P2P给我们带来的全新的体验。欧拉函数模板
转载 http://www.cnblogs.com/E-star/archive/2012/08/03/2621025.html
求欧拉函数的模板:
int euler(int n)//返回euler(n) { int i; int res = n,a = n; for(i = 2;i*i <= a; ++i) { if(a%i == 0) { res -= res/i; //p(n) = (p - p/p1)(1 - 1/p2)...... while(a%i == 0) a/=i; } } if(a > 1) res -= res/a;//存在大于sqrt(a)的质因子 return res; }
欧拉函数打表:
void SE()//select euler//类似于素数筛选法 { int i,j; euler[1] = 1; for(i = 2;i < Max; ++i) euler[i]=i; for(i = 2;i < Max; ++i) { if(euler[i] == i)//这里出现的肯定是素数 { for(j = i; j < Max; j += i)//然后更新含有它的数 { euler[j] = euler[j]/i*(i - 1); // n*(1 - 1/p1)....*(1 - 1/pk).先除后乘 } } } //for (int i = 1; i <= 20; ++i) printf("%d ",euler[i]); }
以上是关于p2p的原理的主要内容,如果未能解决你的问题,请参考以下文章