什么是P2P技术? P2P是英文peer-to-peer的缩写,peer在英语里有“同等者”、“同事”和“伙伴”等意义。P2P可以理解为“伙伴对伙伴”的意思,或称为对等互联。国内的媒体一般将P2P翻译成“端对端”或者“点对点”。P2P是一种技术,但更多的是一种思想,它有着改变整个互联网基础的潜能。它的核心思想是:上网用户之间自由的、不受主服务器控制的信息交流。 P2P并不是什么新概念,P2P是互联网整体架构的基础。互联网最基本的协议TCP/IP并没有客户机和服务器的概念,所有的设备都是通讯的平等的一端。在十年之前,所有的互联网上的系统都同时具有服务器和客户机的功能。当然,后来发展的那些架构在TCP/IP之上的软件的确采用了客户机/服务器的结构:浏览器和Web服务器,邮件客户端和邮件服务器。但是,对于服务器来说,它们之间仍然是对等联网的。以E-mail为例,互联网上并没有一个巨大的、惟一的邮件服务器来处理所有的E-mail,而是对等联网的邮件服务器相互协作把E-mail传送到相应的服务器上去。另外,用户之间E-mail则一直是对等的联络渠道。 简而言之,P2P技术就是在个人电脑之间直接进行资源和服务的共享,而不象传统的browser/server或者client/server结构那样需要经过服务器的介入和服务。在P2P结构中,每台个人电脑同时充当服务器和客户端的角色,当需要其他电脑的文件或者服务时,两台电脑直接建立联系,本机是客户端,而当响应其他电脑的资源要求时,本机又成为提供资源与服务的服务器。通常这些资源和服务包括:文件的共享与交换,计算资源如CPU的共享使用等.P2P的实质就是把控制权重新还到用户手中去。人们通过P2P可以共享硬盘上的文件、目录甚至整个硬盘。这种能量是非常令人激动的,那些费心存储在自己的硬盘上的东西肯定是我们认为最有价值的东西,所有人都共享了他们认为最有价值的东西,这将使互联网上信息的价值得到极大的提升。 P2P技术第一次让个人计算机和高贵的服务器平起平坐,让PC焕发了新的活力。当人们加入P2P网络的时候,所有人都拥有了平等的机会,所有人都拥有了极容易地在网络上创造“内容”的机会。有一天,你忽然发现你不再需要到别人的网站申请免费主页空间和Email,你可以在自己的计算机上实现这些服务。无论走到哪里,你都可以使用上网设备(例如WAP手机)读取办公室或家里的计算机上的文件。凡此种种,P2P改变了互联网的游戏规则,也改变了我们的生活。
P2P技术的三个代表系统 代表系统:Napster Napster技术在1999年由仍在美国东北大学就读的Shawn Fanning开发成功,并迅速在众多mp3数字音乐爱好者中传播开来。Napster提供了一个客户端软件供MP3音乐迷在自己的硬盘上共享歌曲文件,搜索其他用户共享的歌曲文件,并到其他也使用Napster服务的用户硬盘上去下载歌曲。 代表系统:Gnutella 继Napster以后被认为是“令人称奇的软件产品“是Gnutella。该软件自从开发面世以后,转眼间就迅速普及。只要利用“搜索功能及(音乐及电影)等多媒体交换软件”就可以在个人之间收发各种软件。 Gnutella还有Napster所没有的特点。首先是Gnutella的功能无偿向技术人员公开。与做为免费操作系统(OS)被推广的Linux一样,正在不断涌现出改良版。 另外一个特点是不必使用进行信息管理的中央服务器。在Napster中交换音乐数据时是通过由该公司管理的中央服务器来进行的。而与此不同,Gnutella则是直接连接个人电脑。没有进行“统一管理”的服务器,而是从一台个人电脑直接传输给另一台个人电脑。 代表系统:SETI@home SETI@HOME项目是P2P应用的又一成功典范。它是一项旨在利用连入因特网的成千上万台计算机的闲置能力“搜寻地外文明(SETI)”的巨大试验。加州大学的科学家们将寻找地外生命的巨型射电望远镜从外太空所收集数据的分析任务分配给全球数百万台家庭用电脑中。这是目前最大的,也是运行时间最长的P2P计划。该项目组称,在不到两年的时间里,这种计算方法已经完成了单台计算机345000年的计算量。 SETI@home 程序是一类特殊的屏幕保护程序。象其他的屏幕保护程序一样,当用户离开计算机时它开始运作,一旦用户返回工作它就停止。而在此期间 它所做的却是独一无二的:在用户去喝咖啡、或吃午饭、或睡觉期间,计算机将通过分析世界上最大的射电望远镜获得的数据帮助搜寻地外文明。
[1] [2] [3]
P2P技术的应用前景 1.文件共享与交换 可以说文件交换的需求直接引发了P2P技术热潮。在传统的WEB方式中,要实现文件交换需要服务器的大力参与,通过将文件上传到某个特定的网站,用户再到某个网站搜索需要的文件,然后下载,这种方式的不便之处不言而喻。电子邮件是方便了个人间文件传递问题,却没法解决大范围的交换。这也是WEB的重要缺陷,Napster就是在情况下横空出世,抓住人们对MP3喜欢的需求,Napster的MP3交换直接引发了网络的P2P技术革命。在国外类似Napster的产品很多,如CuteMX、Freenet、Gnutella、iMesh、Toadnode、Scour Exchange等, 2.协同工作 公司机构的日益分散,给员工和客户提供轻松、方便的消息和协作的工具,变得日益重要。网络的出现,使协同工作成为可能。但传统的WEB方式实现,给服务器带来了极大的负担,造成了昂贵的成本支出。P2P技术的出现,使得互联网上任意两台PC都可建立实时的联系,建立了这样一个安全、共享的虚拟空间,人们可以进行各种各样的活动,这些活动可以是同时进行,也可以交互进行。P2P技术可以帮助企业和关键客户,以及合作伙伴之间建立起一种安全的网上工作联系方式,因此基于P2P技术的协同工作也受到了极大的重视。 3.搜索引擎 P2P技术的另一个优势是开发出强大的搜索工具。P2P技术使用户能够深度搜索文档,而且这种搜索无需通过Web服务器,也可以不受信息文档格式和宿主设备的限制,可达到传统目录式搜索引擎(只能搜索到20%-30%的网络资源)无可比拟的深度(理论上将包括网络上的所有开放的信息资源)。以P2P技术发展的另一先锋Gnutella进行的搜索为例:一台PC上的Gnutella软件可将用户的搜索请求同时发给网络上另外10台PC,如果搜索请求未得到满足,这10台PC中的每一台都会把该搜索请求转发给另外10台PC,这样,搜索范围将在几秒钟内以几何级数增长,几分钟内就可搜遍几百万台PC上的信息资源。可以说,P2P为互联网的信息搜索提供了全新的解决之道。著名的搜索引擎公司Google也宣称要采用P2P技术来改进其搜索引擎,一家名为infrasearch的新建公司也因为开发P2P技术的搜索引擎而获得了一笔巨额风险投资。 4.分布计算 P2P技术可以为企业或者研究机构提供大规模的运算效能。它可以利用整个网络上的电脑,运用其闲置的中央处理器,内存以及磁盘空间,让企业或者研究机构将大型的运算工作分散到多部电脑上。此外,其运算结果可以直接分享到对等网络上的其他机器上。以往未曾运用的计算资源,如今可以不通过分布式建构就得到充分运用的效果。其结果就是更快速的计算过程以及更低廉的成本。 5.智能代理 P2P技术也可以让电脑网络通过智能代理程序,进行灵活的人机互动。智能代理程序常驻在对等网络的电脑上,并互相传送信息进行通信。智能代理还可以为其他对等共享系统进行初始化操作。例如,智能代理可以用来根据网络进程的优先顺序进行排序,统计流量,查找本地的共享文档或者检测异常行为并中止其运行,避免病毒和黑客程序对网络的破坏。
影响P2P技术应用的限制 1.可管理性方面的问题 在实际应用方面,P2P的运算结构很容易引发错误和故障。例如,在P2P网络中,用户可能会突然关闭其它人正在访问的电脑设备。还有目前越来越多的商业人士使用便携的笔记本电脑,很可能当带有非常重要数据的笔记本电脑离开公司的内部网络,就会出现其他人无法访问的尴尬局面。 P2P网络的精髓在于其“乌托邦”式的管理方式,这种方式给了用户更多的自由,但是这也陷入了“无政府主义”的困境。可以想象,缺乏管理的P2P网络将会成为病毒、色情内容以及非法交易的温床。 2.安全问题 不少专家认为,不同的计算机平台、软件版本和大量存在的其他因素成为分布式计算得以广泛应用的一个难以逾越的障碍。微软的高级研究员Gordon Bell说:“要使P2P的梦想成为现实,安全和标准是最重要的。” 物理和逻辑安全是P2P模式所要关心的重点问题。公司用户理所当然地将他们的服务器放置在安全地点,同时使用安全软件进行保护。但是桌面电脑往往安全级别较低。如果将办公场所内的所有桌面电脑通过内部P2P网络进行互联,将大大增加不安全隐患--黑客可以只要访问其中一台电脑,就可以在整个网络中畅通无阻 著名的网络安全公司ISS(Internet Security System Inc.)的研究主任Chris Rouland先生曾针对Napster这样的音乐交换服务做出这样的评判:“我们将网上音乐下载称作危险的网络行为。”这种安全上的隐患通常来自两个方面:病毒和黑客。谁也不知道,自己下载的文件是否带有致命的病毒,而无孔不入的黑客能放过一个呈开放状态的电脑系统吗? 在Napster上,有一点是不容置疑的,那就是:你正和自己不认识、不信任的人分享代码及IP地址。一旦IP地址公开,用户便很可能引来入侵者或“拒绝服务”攻击。与拨号上网的方式相比,任何以高速方式连接网络和维持开放状态的电脑,其遭受攻击的风险更高。 3.成本仍然过高 商业应用的开发人员需要仔细的检测企业应用程序所需要的服务器资源和带宽。P2P模式则减少了这种仔细设计的可能性,而增加了大量的不确定带宽、服务器资源和分布式存储的需求。尽管理想中的P2P模式会将数据存储在消费者的客户端系统中,这样在实际的应用中就需要客户端和服务器端一样都拥有所需数据的备份。此外,P2P模式的应用越多,那么就必须拥有更快的硬件性能和更大的存储容量。而上述问题可能造成的结果必然是抵消了原来P2P可以减少服务器端费用支出的优势。 能源的消耗也是个问题--在P2P模式中,客户系统将需要24小时的不关机运行--而这种情况的出现,将会导致P2P解决方案的总体成本增高。虽然P2P系统所使用的硬件设备可能比服务器的价格较低,但专家指出,P2P模式的真正成本支出在于规划和管理。 4.仍没有非常吸引人的商业应用 P2P模式目前所存在的最大问题就是缺少足够吸引人的企业应用程序。而它最适应作相对简单、重复性的工作,可以把工作任务分配给数量众多的电脑系统中。上述的SETI是一个非常理想的分布式计算计划,由于运算结果不需要特定的排序,而任务是运行在大致相同的电脑系统中,因此数据可以更简便的汇总,日程安排也相对更加轻松。P2P模式也具有成为工作组协作系统的有力助手的潜力,但某些公司财政方面的操作,比如ERP(企业资源计划)和CRM(用户关系管理)等应用并不适合分布式计算环境。 5.吞噬网络带宽 由于P2P网络的用户众多,当某个用户进行搜索时,自然会得到大量的搜索结果。而除了少数有用的信息以外,其他大多数的信息可能都属于垃圾信息。用户将不可避免地陷入垃圾信息的汪洋大海。在P2P使网络变得空前活跃的同时,将大量吞噬网络带宽。特别是在大多数用户更喜欢传送大体积的MP3文件、视频文件的时候,这个问题更加不容忽视。在我国,网络带宽较窄成了P2P应用难以逾越的障碍。 可是,尽管对P2P存在着这样那样的疑虑,许多PC业专家仍然相信该技术将彻底推翻现在抑制分布式计算发展的藩篱。现在的桌面系统的性能远远超过以前的许多服务器,这为P2P的发展提供了巨大的硬件基础。随着宽带、高速网络的发展,PC将释放出前所未有的潜能,而VPN(虚拟个人网络)软件也将为P2P的发展提供保障。
[1] [2] [3]
(出处:http://www.sheup.com)
[1] [2] [3]