对等网络(P2P)技术是目前国际计算机网络技术领域研究的一个热点,被《财富》杂志誉为将改变互联网未来的四大新技术之一,目前微软、Sun、IBM等很多著名的企业和公司都投入到对P2P技术的研究之中。
P2P计算并非一种全新的技术,在20世纪70年代就已出现,其典型代表是USENET和FidoNet两个分散、分布的信息交换系统,真正的P2P技术的大规模应用起源于文件交换软件Napster。虽然“客户/服务器”模型是目前互联网上占统治地位的计算模型,但从某种意义来说,P2P计算可以说是一种向传统互联网技术的回归,体现了互联网的本质,因为互联网最初的设计目标就是让网络上的计算机互相之间可以直接通信而不需要中介。
2 P2P技术概述
目前,业界对P2P的定义还没有一个标准的说法,Intel将P2P技术定义为“通过系统间的直接交换达成计算机资源与信息的共享”,这些资源与服务包括信息交换、处理器时钟、缓存和磁盘空间等。IBM则对P2P赋予了更广阔的定义,把它看成是由若干互联协作的计算机构成的系统并具备如下若干特性之一:系统依存于边缘化(非中央式服务器)设备的主动协作,每个成员直接从其他成员而不是从服务器的参与中受益;系统中成员同时扮演服务器与客户端的角色;系统应用的用户能够意识到彼此的存在而构成一个虚拟或实际的群体。
简单地说,P2P技术是一种用于不同PC用户之间、不经过中继设备直接交换数据或服务的技术,其网络通信方式如图1所示。它打破了传统的Client/Server模式,在对等网络中,每个节点的地位都是相同的,具备客户端和服务器双重特性,可以同时作为服务使用者和服务提供者。由于P2P技术的飞速发展,互联网的存储模式将由目前的“内容位于中心”模式转变为“内容位于边缘”模式,改变Internet现在的以大网站为中心的状态,重返“非中心化”,将权力交还给用户。
P2P技术有着广阔的应用领域,目前主要的应用有文件交换、分布式计算、协同工作、分布式搜索和电子商务等。
3 主要的P2P模式结构分析
P2P模式的变化经历了集中式、分布式和混合式3个阶段。P2P技术起源于文件交换技术,在P2P的发展过程中,文件交换技术的演变最具代表性,下面我们就以典型的P2P文件交换软件为例来研究P2P模式的几种主要形式。
(1)集中式对等网络
Napster提供的MP3下载服务就是最早的P2P实践。它并不提供MP3音乐资源,只是提供动态刷新的MP3目录服务。音乐资源散布在全球互联网上的用户手中,借助Napster几乎可以找到任何一首歌曲,这是一种集中式对等网络模式。
集中式P2P模式由一个中心服务器来负责记录共享信息以及反馈对这些信息的查询;每一个对等实体要对它所需共享的信息以及进行的通信负责,根据需要下载它所需要的其他对等实体上的信息。这种形式具有中心化的特点,但是它不同于传统意义上的Client/Server模式。因为传统意义上的Client/Server模式采用的是一种垄断的手段,所有资料都存放在服务器上,客户机只能被动地从服务器上读取信息,并且客户机之间不具有交互能力;而集中式P2P模式则是所有网上提供的资料都存放在提供该资料的客户机上,服务器上只保留索引信息,此外服务器与对等实体以及对等实体之间都具有交互能力。
集中目录式P2P模型还存在很多问题,主要表现为:
·中央服务器的瘫痪容易导致整个网络的崩溃,可靠性和安全性较低;
·随着网络规模的扩大,中央目录服务器维护和更新的费用将急剧增加,所需成本过高;
·中央服务器的存在引起共享资源在版权问题上的纠纷,这也是直接导致Napster破产的原因;
·缺乏有效的强制共享机制,资源可用性差。
集中式P2P可提供中心服务器目录检索、管理服务和标准的点到点通信,具有高效的检索和低效的交换服务的特点。集中式P2P对小型网络而言在管理和控制方面占有一定的优势,但对大型网络并不适合。
(2)分布式对等网络
Napster因为中央服务器的存在引起的版权纠纷导致了它的破产,以Gnutella和eDonkey或eMule为代表的后来者们吸取了Napster失败的教训,将Napster的理念推进一步。当用户PC安装这些软件后,就会立即变成一台能够提供完整目录和文件服务的服务器,并会自动搜寻其他同类服务器,从而联成一台由无数PC组成的网络超级服务器。与Napster网络不同,它不存在中枢目录服务器,或者说把所有机器都变成了服务器,这就是第二代P2P——分布式P2P。
在分布式P2P中,对等机通过与相邻对等机之间的连接遍历整个网络体系。每个对等机在功能上都是相似的,并没有专门的服务器,而对等机必须依靠它们所在的分布网络来查找文件和定位其他对等机。
以Gnutella网络为例,一台新对等机首先通过访问某特殊站点提供的“主机缓存服务”(Host Cache Services)机制来得到一台活动对等机地址,通过与它建立一个连接将自己接入Gnutella网络;接着,该新对等机主动探查网络中的其它对等机,找到与之相邻的对等机节点,在进行文件查找时,该对等机首先向与之相邻的所有活动对等点发送一个查询描述符Query,在其他对等机接收到该查询描述符后,检查本地是否有符合查询请求的文件内容,如果有,则按查询描述符的发送路径返回一个查询响应描述符QueryHit,无论本地是否存在符合查询请求的文件内容,其他对等机都会将该查询包通过扩散方式继续在网络中传递,直至查询包中TTL(Time of Life)属性值递减为0时才停止继续转发;一旦定位了响应查询文件的对等机之后,就与响应对等机建立TCP连接,通过HTTP协议从响应对等机中下载自己查询的文件。文件的传输不再经过Gnutella网络进行。
分布式对等网络模型也存在很多弊端,主要表现在以下方面:
·搜索请求要经过整个网络或者至少是一个很大的范围才能得到结果,因此,这种模式占用很多带宽,而且需要花费很长时间才能有返回结果。
·随着网络规模的扩大,通过扩散方式定位对等点及查询信息的方法将会造成网络流量急剧增加,从而导致网络拥塞,最终使Gnutella网络被分片,使得查询访问只能在网络很小的范围内进行,因此,网络的可扩展性不好,不适合大型网络。
·纯分布式的P2P模式很难被企业所利用,因为它缺少对网络上的用户节点数以及对他们提供的资源的一个总体把握。
·安全性不高,易遭受恶意攻击,如攻击者发送垃圾查询信息,造成网络拥塞等。
这种无中心、纯分布式系统的特点是:它不再是简单的点到点通信,而是更高效、更复杂的网络通信;eDonkey和eMule等软件引入了强制共享机制,在一定程度上避免了第一代P2P纯个人服务器管理带来的随意性和低效率。
(3)混合P2P网络
集中式P2P有利于网络资源的快速检索,并且只要服务器能力足够强大就可以无限扩展,但是其中心化的模式容易遭到直接的攻击;分布式P2P解决了抗攻击问题,但是又缺乏快速搜索和可扩展性。混合式P2P结合了集中式和分布式P2P的优点,在设计思想和处理能力上都得到了进一步的优化。它在分布式模式的基础上,将用户节点按能力进行分类,使某些节点担任特殊的任务。这些节点共分为3种:
·用户节点:普通节点,它不具有任何特殊的功能。
·搜索节点:处理搜索请求,从它们的“孩子”节点中搜索文件列表,这些节点必须有128 kbit/s RAM的网络连接速度,建议使用高性能的处理器。
·索引节点:连接速度快、内存充足的节点可以作为索引节点。索引节点用于保存可以利用的搜索节点信息,并搜集状态信息,维护网络结构信息。
一个节点可以既是搜索节点又是索引节点。用户节点可以选择3个搜索节点作为它的“父”节点,如果“父”节点接受该用户节点作为它的“孩子”的话,那么该用户节点就可以提交其所要共享的列表给它的“父”节点。在缺省的情况下,搜索节点可以最多维护500个“孩子”节点。在第三代P2P的软件体系结构中,采用了混合式P2P。这种模式的关键之一是引入了索引节点,索引节点不会直接连接到有版权的资料上,它就像搜索引擎一样,只是搜索和所需资料相关的地址,至于用户到底连接下载了什么内容则和它无关。这种模式的关键之二是引入搜索节点,搜索节点管理着所属用户的文件列表。用户节点通过索引节点获得搜索节点信息,之后用户节点就与获得的搜索节点相连,每一次查询都通过该搜索节点进行。当用户发出搜索请求后,如果和用户节点直接相连的搜索节点查询结果达到100个(这里的100个搜索结果,可以由用户自己来设定)就停止;如果不足100个,就向相邻的搜索节点发出请求,如果查询结果还不够,就继续向外快速发散,直到所有的搜索节点都被搜索到为止。若所有的搜索节点都被访问过,就意味着整个网络上的节点都被搜索到了,其速度要比纯P2P模式快得多。
BT就是第三代混合式P2P网络的典型代表,开创了新一代P2P的潮流,它批判地继承了前辈产品的优点,将中心目录服务器的稳定性同优化的分布式文件管理结合起来,从而在效率上远远超出了eDonkey这类产品。它要求提供一个或多个统一的Web发布服务器,以供发布和搜寻资料。在客户端,它通过一个IE插件提供下载、上传管理。BT把一份大文件切割成碎片,为每一个碎片标上特殊标识,用户无需到一个固定地点(例如传统网络的中心服务器)上下载完整的文件,系统会自动寻找、随机下载具有相同标识的文件碎片,将其
加以整合成为完整的文件。
4 电信运营商的业务运营模式
经过多年的发展和演进,P2P技术所蕴藏的巨大的创造力和应用前景正在逐步展现,正吸引着越来越多的企业投入到这方面的研究中。但P2P的发展还面临着很多问题:业界还没有统一的标准,引发了版权纠纷、安全和管理以及对网络带宽的占用等问题。
作为电信运营商,如何选择适当的P2P技术体制、标准,找到合适的业务运营模式,克服P2P在管理、安全和版权等方面存在的问题和隐患,发挥其新的技术特长,开发出新的业务和产品,是一个值得研究和探讨的问题。
(1)技术标准和技术体制的选择
由于目前P2P领域还没有统一的标准,因此为规避技术风险,应首先进行标准的选择和制定工作。
在进行技术体制选择时,要考虑以下因素:首先,电信级的网络要求是可运营、可管理的,要求具备集中控制能力,并提供服务质量保证;其次,电信运营商本身有着丰富的网络资源,并可提供代收费平台,具有为用户提供安全鉴权管理和文件加密的技术条件和手段;第三,为降低网络流量负担,节约网络资源,应减少用户访问对象的随机性,减小流量的不可预知性。
选择的技术标准应具备良好的体系架构,具备良好的开放性、灵活性和扩展性,并充分考虑安全性、可靠性和可管理性等原则。
(2)网络模式的选择
建议采用混合式的网络模式,索引节点和搜索节点由运营商负责建立,可在搜索算法等各方面进行控制,保证P2P业务网与运营商的承载网在流量上尽可能地接近。同时,融合网格计算的优点,引入用户的身份验证、鉴权和安全管理等功能,由索引节点和搜索节点完成用户的鉴权控制,各用户节点进行鉴权后,便成为P2P网络的一员,可在该网络内开展相应的P2P应用。这样可将用户的业务逻辑分为两个阶段:鉴权和安全管理阶段;用户服务阶段。通过这一过程的划分,可以解决用户的安全鉴权管理问题,在第二阶段,用户使用的P2P应用与其他的P2P应用完全一样。这种模式的另一个优点是可以避免版权纠纷,索引节点不会直接连接到有版权的资料上。
(3)关于开展业务的几点想法
通过运营商的网络解决了用户的身份鉴定、授权和防火墙保护等安全问题后,在这个网络之中的用户就可以组成一个统一的P2P网络,开展以下一些业务:
·支持在线商务,提供用户鉴权功能和密钥管理,为用户交互信息进行加密;
·可开发电子商务交易平台,出租给银行、证券等金融机构;
·借鉴Linux软件商Lindows将其操作系统经由P2P网络免费发放的成功案例,利用电信的网络进行软件发布、网络游戏下截等服务,利用P2P技术提供用户就近文件下载服务,内容存储点可由运营商管理。
·运营商组织进行分布计算,然后将这种资源出租给科研单位。
(4)改变计费模式
随着P2P等新技术的发展,传统的计费和结算模式已不能适应业务发展的需要,网络资源的占用并不再是单纯的时长占用,而是网络带宽、流量等的占用,运营商应考虑改变原计费方式为流量计费。