:解码真实的P2P—P2P的本质、问题及前景

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 02:31:03
■ 魏亮

P2P并不是一个全新的技术概念,早在20世纪90年代就已经出现,但是对网络架构、流量流向、运营模式、价值链等真正产生影响的却是在Napster、BT下载以及Skype等P2P应用出现以后。这些应用的影响如此之大,以至于一直以来漠视互联网应用的电信运营商也开始关注P2P应用。P2P应用的本质究竟是什么?它是网络拥塞、盗版猖獗的罪魁祸首,还是互联网精神的真实回归?它会因为运营商的封堵而受挫吗?运营商是否应该对P2P采取对抗性态度?

P2P的本质

当前业界对P2P有不同的认识与理解:Intel 将P2P计算定义为“通过系统间的直接交换所达成的计算机资源与信息的共享”,这些资源与服务包括信息交换、处理器时钟、缓存和磁盘空间等;IBM则给P2P赋予了更宽泛的定义,把P2P看成是由若干互联协作的计算机构成的系统,并具备如下若干特性之一——系统依存于边缘化(非中央式服务器)设备的主动协作,每个成员直接从其他成员而不是从服务器的参与中受益,系统中成员同时扮演服务器与客户端的角色,系统应用的用户能够意识到彼此的存在构成一个虚拟或实际的群体。

由于P2P技术发展迅速,当前P2P的涵盖范围尚未完全达成共识,因此目前还没有统一的技术标准和规范。

P2P与当前典型的互联网业务模式有所不同。典型的互联网业务与使用P2P技术业务的区别,并不在于是否使用C/S或者B/S模式,而在于运营商与用户扮演的角色以及用户的参与程度。

在典型的互联网业务例如邮件以及Web浏览中,运营商通过提供大容量、稳定、知名的服务器等方式吸引用户并提供服务,用户简单地使用服务。虽然用户有权选择运营商,但是一旦选择后运营商占主导地位,运营商因故障等原因停止提供服务时,该运营商的用户就无法使用服务。业务网络的能力取决于服务器的数量、能力等。网络的价值与用户数的平方成正比。当然,理论上说如果每个用户都设置邮件服务器的话也是P2P技术,每个用户设立Web服务器也是P2P技术(虽然这样的话Web服务和E-mail服务就不会像现在这样成功)。

对于使用P2P技术的业务而言,用户既扮演服务提供者角色,又扮演服务使用者的角色。运营商可以参与到P2P业务中,但是与用户地位等同。理论上,即使运营商停止服务,用户相互服务还是能维持的(不排除运营商通过私有协议和不开放的专用软件,强迫用户在某些关键步骤上必须依赖运营商设备)。网络的力量取决于用户的数量以及用户终端的能力。据笔者理解,网络的价值应当与用户数量的立方成正比。用户间提供服务和使用服务,同样也可以采用C/S或者B/S模式。

因此,典型的互联网业务(非P2P)与P2P技术的业务的本质区别在于,用户是否参与到业务提供中,或者说,能否通过消除网络成员角色上的差别来维持尽可能的平等。

P2P的技术发展

国外开展P2P研究的学术团体主要包括P2P工作组(P2PWG) 、全球网格论坛(Global Grid Forum ,GGF)等 。P2P工作组成立的主要目的是希望加速P2P计算基础设施的建立和相应的标准化工作。P2PWG成立之后,对P2P计算中的术语进行了统一,也形成了相关的草案,但是在标准化工作方面进展缓慢。目前P2PWG已经和GGF合并,由该论坛管理P2P计算相关的工作。GGF则负责网格计算和P2P计算等相关的标准化工作。

从国外公司对P2P计算的支持力度来看,Microsoft公司、Sun公司和Intel公司投入较大。Microsoft公司成立了Pastry项目组,主要负责P2P计算技术的研究和开发工作。目前Microsoft公司已经发布了基于Pastry的软件包SimPastry/ VisPastry。Rice大学也在Pastry的基础之上发布了FreePastry软件包。

2000年8月,Intel公司宣布成立了P2P工作组,正式开展P2P的研究。工作组成立以后,积极与应用开发商合作,开发P2P应用平台。2002年Intel发布了.Net基础架构之上的Accelerator Kit (P2P加速工具包) 和P2P安全API软件包,从而使得微软. Net开发人员能够迅速地建立P2P安全Web应用程序。

Sun公司以Java技术为背景,开展了JXTA项目。JXTA是基于Java的开源P2P平台,任何个人和组织均可以加入该项目。因此,该项目不仅吸引了大批P2P研究人员和开发人员,而且已经发布了基于JXTA的即时聊天软件包。JXTA定义了一组核心业务:认证、资源发现和管理。在安全方面,JXTA加入了加密软件包,允许使用该加密包进行数据加密,从而保证消息的隐私、可认证性和完整性。在JXTA核心之上,还定义了包括内容管理、信息搜索以及服务管理在内的各种其他可选JXTA服务。在核心服务和可选服务基础上,用户可以开发各种JXTA平台上的P2P应用。

当前P2P实际的应用主要体现在P2P分布式存储、计算能力共享、P2P应用层组播以及Internet间接访问基础结构(Internet Indirection Infrastructure)等方面。

P2P的六宗“罪”

无论是否是P2P技术的本意,当前P2P应用确实引发了一些问题。主要的问题如下:

一、基于P2P技术的下载应用使网络拥塞。BT、EMule等下载工具的广泛应用引起了互联网运营商的极大恐慌:BT类业务的流量占据了超过40%的网络带宽,影响了其他所有业务的服务质量。更可怕的是,无论如何扩容,带宽似乎永远不够,运营商之间互联带宽加倍后会在短短的几周内被占满。

究竟是什么原因引发了网络拥塞呢?是P2P的原因吗?答案是否定的。无论P2P的技术和理念如何先进或者合理,用户不可能使用超过端口限制的带宽。P2P类的下载只是给用户一个非常方便好用的工具,以至于网络带宽需求极大地增加了,导致原来运营商对用户行为模型的流量流向估计有了较大的偏差,这才导致网络拥塞。严格地说,使用P2P技术的下载服务在文件共享方面取得了革命性的进步,极大地方便了信息交流,同时也为便宜得像面条一样的光纤资源找到了用武之地。运营商应该做的不是使用封堵等手段遏制P2P下载来维护当前既得利益,而是提供恰当的商业模式,在满足日益增长的需求的同时获取更大的利益。

二、基于P2P技术的下载业务使盗版猖獗。BT、EMule等下载工具的广泛应用同样引起了音像制品出版商的恐慌。网络上如此方便地交换高质量的非正版产品,可能冲击出版商。虽然没有看到音像制品因P2P类下载业务减少销售的数字,但是至少我们可以看到,盗版光盘市场因P2P类下载业务的兴起而萧条。P2P类下载为交换文件提供了方便而且好用的工具,P2P本身并不区分文件是否盗版。然而P2P类下载应用也可以用于分发正版软件、资料,因此也不能因为P2P类下载可用于盗版而禁止(确实有少数国家禁止了Napster或者使用Napster传播盗版软件)。你可以禁止Napster的使用,但是不可能禁止人们交换文件的需求,因此也无法禁止层出不穷的P2P类应用的存在。打击盗版和杜绝盗版不应当是简单地禁止P2P类应用,而应该从法律社会层面实施。


图 典型互联网业务与P2P业务特性

三、基于P2P技术的即时通信工具使合法监听难以实施。传统电信网络都具备合法监听的手段。为保障国家安全,通信网络在保障个人通信自由和通信秘密的前提下,还需要设立合法监听的监听点。基于P2P技术的即时通信工具在业务层没有一个集中的点来建立呼叫或者安排路由,因此不能基于业务控制设置合法监听点。当然P2P技术的即时通信工具所产生的控制流和通信流一般也会依次经过接入设备、汇聚设备、骨干设备、互连设备、再到通信对端的骨干设备、汇聚设备以及接入设备,虽然可以在骨干设备或者互连设备上得到经过该设备的所有数据,但是由于数据量过大,一般很难进行实时的海量分析。因此在基于P2P技术的即时通信中合法监听实施相对困难。此外由于P2P通信由两端计算机直接协商,很容易实现端到端强加密,即使第三方得到通信数据,也很难在较短时间使用较小代价解密。

四、基于P2P技术的应用环境中病毒和垃圾信息更容易传播。当前垃圾信息中被广泛关注的是垃圾邮件和垃圾短信。就短信和邮件两种业务而言,都是基于客户/服务器模式实现的。当前应对垃圾邮件一种比较有效的手段是将大量发送垃圾邮件的服务器列入黑名单;应对垃圾短信的手段可以通过举报直接封堵终端,也可以在短信网关实施合法的过滤。对于基于P2P技术的应用而言,上述手段都难以实施:P2P是端到端通信,没有集中的服务器,将大量终端列入黑名单显然也不现实;IP环境下难以溯源,因此也很难封堵终端。因此P2P类业务如果不能有效控制例如信息或者类似病毒的恶意代码的话,其前景也不容乐观。

五、基于P2P技术的业务难以运营。对基于P2P技术的业务来说,用户行为难以控制,用户直接通信使用物理资源时难以计费;服务质量难以保障,P2P类下载一般用户越多下载越快,但是没有一个底限保障;用户参与服务提供时,是否有必要计算用户贡献,如何计算,能否体现。对于这个问题,首先P2P业务未必能运营,其次P2P业务也并非不能运营,至少Skype就是运营实例。

六、基于P2P技术的业务相互查找效率较低。应用P2P技术时,通常需要洪泛式的查找,一方面效率低,一方面比较慢。此外当前P2P类业务资源共享时对区域的考虑较少,有时会造成信息不合理的流向,该问题有待进一步解决。

正确看待P2P

最初的互联网是一个教育科研网,人们在互联网上共享、贡献、协作、互助,似乎是一个相对理想的社会。随着网络的商业化运作,越来越多的现实生活渗透到互联网中:网站的专业化运作、赢者通吃规则的盛行、对网络行为的立法等等,现实生活中的规则越来越多地应用到互联网中。这里并非说网络商业化不好,毕竟随着网络的商业化运作,大量资金投入到互联网业,网络上的资源越来越丰富、专业化程度越来越高、骨干网带宽越来越大,给大家带来了实实在在的好处。

但是,越来越商业化的互联网似乎有些偏离互联网的初衷:越来越多的互联网用户仅仅通过网络获取信息成为单纯的信息接收者,网络运营者希望通过垄断提供服务来收取费用。

P2P应用的出现打破了运营商的“垄断”,实现了最初互联网精神的回归——用户在获取的同时也在做贡献,真正参与到业务提供中。因此P2P应用的使用,不但可能带来确实性能上的提高,而且是团队协作的体现,可能给人一种精神上的满足。

无论运营商是否喜欢,P2P技术已经存在,而且将在很长的时间内继续存在下去。毕竟P2P技术依赖的是广大群众的力量,参与者越多,P2P应用就越好用,这样的力量不是单一的运营商可以比拟的。也许封堵等手段技术上并非不可行,但是运营商不应去对抗P2P技术。因为P2P技术并非想要,或者能够替代原有的模式,只是对原有技术和模式一种有益的补充。运营商应当合理利用P2P技术中所重视的用户的力量(智能终端的能力和资源),设计合理的商业模式,在被P2P技术进一步放大的市场上获取更大的蛋糕。

P2P技术的应用的确给当前的网络带来了一些问题,即使这些问题不一定是P2P技术自身的问题,但是这些问题确实存在。然而,这些问题在困惑运营商的同时,也延缓了一些P2P应用的广泛使用。同时这些问题并非不能解决,随着网络规模的进一步扩大,网络信任体系的进一步建设,网络行为准则的进一步确立,计算能力和海量数据处理能力的进一步增强等,上述问题都可以解决,或者得到一定程度的缓解。

就P2P技术本身而言,由于它在体现网络力量的基础上进一步增强了网络的力量,同时能够满足用户参与的需求,因此在未来一定能得到进一步发展。

专家简介

魏亮,信息产业部电信传输研究所IP与多媒体通信研究室高工,信息产业部电信研究院通信标准研究所副总工程师。目前主要从事数据网络、IP领域安全方面研究工作。

小辞典

P2P,Peer to Peer的简称,中文一般译为对等网络技术。P2P技术是当前国际上计算机/电信网络技术领域研究的热点,国内外各大企业、研究机构都在研究,被《财富》杂志誉为将改变互联网未来的四大新技术之一。

链接一:P2P的技术优势

相比较传统的C/S模式,P2P具有很多良好的技术特性,可以以较低的成本解决原有互联网应用中很多难题。

一、解决业务应用扩展过程中的硬件瓶颈和扩展成本问题。

在P2P网络中,每个参与者都会自动承担一部分信息提供者的角色,并且将自身的硬件资源贡献出来,以扩充业务网的整体性能。也就是说,随着业务应用的扩展、用户的增加,提供服务的硬件资源也在自动平滑地补充进来,始终保持着一个较为平衡的状态。而且,资源的增加是每个参与者的自动行为,没有成本、资金的困扰。因此,理论上采用P2P技术的业务应用的扩展根本不存在资源瓶颈问题。

二、提高业务节点失效后的自动恢复效率。

在传统的互联网应用中,为了提高业务网的可靠性,必须采用各种成本高昂的备份技术以防备业务/网络节点的失效。由于P2P的最初设计理念是利用用户主机来完成业务的实现,而用户主机的一个最明显的特征就是频繁地退出和加入,因此,所有P2P网络的设计者都会充分考虑到这一特征,通过良好的自适应算法在某些节点不工作的时候自动调整网络,保证业务不受影响。从某种角度讲,P2P模式业务网比C/S模式业务网具有更高的业务可靠性,且安全保障的成本要低得多。

三、提高信息存储、共享过程中的安全。

安全一直是困扰互联网的重要问题之一,而网络中信息的存储和共享传送安全则是重中之重。首先是信息存储安全。一样东西如何才能保证其存放的安全性?中国有句成语“狡兔三窟”,言简意赅说明了其中的道理。如果存在多个地点,自然能够提高东西的存放安全性。那么再进一步,把一样东西分成若干份,分别存在不同的地点,那安全性就更高。利用P2P技术不仅可以做到把一份文件分开存放,还可以自由变幻存放的位置,以提高信息存储的安全性。对于信息共享过程中的安全问题,利用P2P技术进行信息共享的过程中,信息的流量流向、参与者都不固定,任何一次通信都可能包含许多潜在的用户,因此攻击者也很难确定其攻击/截获/篡改的目标,从而在一定程度上保证了信息传送的安全。(谢玮)

链接二:几种常见的P2P应用

一、ICQ类的即时通信软件。两个或多个用户互相使用文字、语音或视频进行交流,相对快速、直接,而且该类软件不依赖设备即可辨别用户。利用P2P技术可以弱化甚至摆脱对中央服务器的依赖,这样的通信更接近于人与人的通信模式,例如电话。

二、Farsite(Microsoft)、Ocean Store类数据存储软件。用于在网络上将存储对象分散化存放,而不像现在放于专用服务器。这样减轻了服务器负担,增加了数据的可靠性和传输速度。

三、BT类软件。实现数据和文件共享,使用者可以直接从任意一台安装同类软件的PC上下载及上载文件,而不是从服务器。用户可以检索、复制共享的文件。软件自动发现最新的文件列表,发布者无需担心发布的问题。

四、Infrasearch、Pointera类数据搜索及查询软件。用来在P2P网中完成信息检索。一旦形成P2P专用网,其上的数据搜索与现在互联网中数据存在中央服务器的情况有所不同,必须要考虑动态地将当前P2P网络中各个Peer的内容进行收集,并且有效地向用户传递。

五、Netbatch(Intel)类协同计算软件。其实验可连接近一万台PC,利用它们的空闲时间进行协同计算,完成超大计算量的工作(如空间探测、分子生物学计算、芯片设计)。

六、Groove类数据或行动协同软件。它是基于P2P连接的软件工具,可以建立一个安全的企业级协同工作平台(P2P网),提供供求信息链上的互动信息沟通,如货品目录、库存及发货清单,帮助使用者进行经销渠道维护、客户服务和支持。

七、游戏软件。许多网络游戏均是P2P方式的,尤其是那些双人及多人对弈游戏。

(计算机世界报 2006年05月08日 第16、17期 C5、C6)