成长记录

欢迎喜欢计算机技术的朋友进来交流
 
« 上一篇: 结构化和非结构化p2p zz 下一篇: 做人的四大原则 »
Jason @ 2008-02-28 10:32

网络资源的变迁,促使网络计算模式发生变化。相应的一种采用对等策略计算模式的网络——对等网络(P2P)得到了广泛关注。
P2P是一种分布式网络,网络的参与者共享他们所拥有的硬件资源,这些共享资源能被其他对等结点直接访问而无需经过中间实
体。网络中的参与者既是资源提供者,又是资源获取者。为了使读者对P2P有所了解,本讲座将分3期对P2P进行介绍:第1期介绍
P2P的拓扑结构、组织模式以及核心查找算法;第2期介绍P2P研究现状、应用情况以及下一步演进与拓展方向;第3期讨论P2P给
Internet带来的机遇和挑战,探讨P2P对电信运营商和设备制造商的影响。

  对等网络(Peer-to-Peer Networks, P2P)是一种采用对等策略计算模式的网络。在传统的互联网计算模式中,客户端/服务器
(C/S)模式占据了主流。当时,客户端的带宽和计算资源较弱,通过C/S模式可以降低对客户终端能力的要求,而将处理集中在服务
器端。近年来,不同资源的发展速度出现了以下特点:网络的流量以每6个月翻倍的速度增长,网络带宽以每7个月翻倍的速度增
长,计算资源近似依照摩尔定理速度增长(18个月翻倍),而存储能力每年仅提升7%。因此在诸多资源中,计算和存储资源可能逐渐
变为“瓶颈”。相应地,处于体系架构的中心服务器也成为性能的“瓶颈”,一旦中心服务器崩溃将造成整个服务系统崩溃。在这
样的技术发展背景下,人们引入了对等计算模式。

  随着终端技术和网络接入技术的发展,终端的能力越来越强,P2P采用处于网络边缘的终端的协作来弥补和解决集中式架构导
致的性能“瓶颈”。

  P2P打破了传统的C/S模式,在网络中的每个结点的地位都是对等的。每个结点既充当服务器,为其他结点提供服务,同时也
享用其他结点提供的服务。P2P与C/S模式的网络结构分别如图1和图2所示。
从不同的行业和视角来看,P2P的定义略有差别。一种典型定义为:P2P是一种分布式网络,网络的参与者共享他们所拥有的一部
分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源能被其他对等结点直接访问而无需经过中间实体。在
此网络中的参与者既是资源(服务和内容)提供者,又是资源(服务和内容)获取者。

  为了便于读者理解,本文中我们以一个下棋应用系统的简单例子来解释一些基本原理。在传统的C/S架构下,下棋系统由下棋
服务器和下棋者两类结点构成。一个下棋系统的工作流程是,下棋者A和B登陆下棋服务器,在服务器的撮合(组配)下,A和B在一个
桌子上坐下开始下棋,A每下一个子,是通过“A→下棋服务器→B”的流程来实现的,每一次下棋的控制管理流程(用户登陆和下棋
组配)和业务流程(具体的下棋流程)都需要服务器的参与。因此,提供给上百万并发用户的下棋系统需要数量庞大、功能强大的服务
器群才能正常运转。

  P2P技术的特点体现在如下几个方面:

  (1)非中心化

  网络中的资源和服务分散在所有结点上,信息的传输和服务的实现都直接在结点之间进行,无需中间环节和服务器的介入,避
免了可能的“瓶颈”。以下棋系统为例,下棋的业务流程直接在下棋者的两个结点之间完成,无需中心服务器的参与(除了统一计
费、记分等需要集中管理的服务)。非中心化是P2P的基本特点,带来了其在可扩展性、健壮性等方面的优势。

  (2)可扩展性

  在P2P网络中,随着用户的加入,不仅服务的需求增加了,系统整体的资源和服务能力也在同步扩充(因为新加入的用户本身也
提供服务和资源),因此能够较好地满足用户的需要。整个体系是全分布的,不存在明显的“瓶颈”。以下棋系统为例,下棋的业务
能力主要是通过下棋者的结点来提供(包括棋盘的绘制,下棋的流程规则管理等),对下棋服务器增加的负担较小。

  (3)健壮性

  P2P架构具有耐攻击、高容错的优点。P2P网络通常都是以自组织的方式建立起来的,并允许结点自由地加入和离开。不同的
P2P网络采用不同的拓扑构造方法,根据网络带宽、结点数、负载等变化不断自适应地调整拓扑结构。由于服务是分散在各个结点
之间进行的,部分结点或网络遭到破坏对其他部分的影响很小(即两个下棋人之间的网络被破坏,不会直接影响其他的下棋用户),
即便是部分结点失效了,P2P网络也能通过自动调整机制重构整体拓扑,保持与其他结点的连通性。

  (4)高性价比

  采用P2P架构可以有效地利用互联网中散布的大量普通结点,将计算任务或存储资料分布到所有结点上,利用其中闲置的计算
能力或存储空间,达到高性能计算和海量存储的目的。以下棋系统为例,采用P2P架构的下棋系统,不再需要那么多数量的服务
器,因为大部分的业务都被用户结点所分担。

  (5)隐私保护

  在P2P网络中,由于信息的传输分散在各结点之间进行而无需经过某个集中环节,用户的隐私信息被窃听和泄漏的可能性大大
缩小。目前,解决Internet隐私问题主要采用中继转发的技术方法,从而将通信的参与者隐藏在众多的网络实体之中。在传统的匿名
通信系统中,实现这一机制依赖于某些中继服务器结点(比如传统的下棋系统中的计费和记分,一般都需要通过中心服务器来实
现)。而在P2P中,所有参与者都可以提供中继转发的功能,因而大大提高了匿名通信的灵活性和可靠性,能够为用户提供更好的隐
私保护。这个优点恰恰也是P2P系统的缺点,这种特性导致了它常常被非法组织用于私密信息传递(比如,此时下棋人之间要想作弊
的话,就更为容易,因为没有中心服务器进行监管)。
1 网络资源与计算模式的变化

  1.1 技术和需求的平衡

  一种网络技术是否可以被广泛应用,可以用下面的公式来考量:

  网络系统的代价=人们愿意为获得信息服务而付出的代价?

  也就是说,构建一个满足人们需求的网络的总代价是否能和人们为了满足其信息服务需求所愿意付出的代价相等。

  在等式的左边,底层网络资源的变迁(包括资源的总量、结构和分布情况)将导致网络架构的改变。在传统的电信网络中,终端
的计算、存储和带宽资源都非常有限,基本不存在着应用P2P计算模式的可能。在窄带互联网,比如主要以拨号接入为主的网络环
境下,终端的计算和存储资源是足够的,但是带宽资源仍然是“瓶颈”。当以不对称数字用户线(ADSL)为主流的准宽带接入技术普
及后,终端的各类资源基本能够满足P2P计算模式的需求。比如,IP组播是人们研究了10多年而难于解决的方向,它对网络资源(主
要指组播路由和可靠传递)的需求远远超过了网络所能提供的资源,因此,通过P2P计算模式,将组播的路由和群组管理在终端上实
现,实质是对网络资源利用在结构和分布的调整。

  等式右边的变量随不同国家和地区具体情况而有所差异。在发达国家,人们的基本生活需求比重很低,而信息消费的需求比例
较高。在中国,人们的信息需求在整个人类生活的比重较低。因此,短信这样的业务取得成功是有深刻的道理的:系统投入的网络
资源低,而又能很大程度上满足人们的信息需求,当然,亚洲人灵巧的手指也是造成短信业务用户满意度高的一个因素。

  1.2 网络发展的“钟摆效应”

  在网络发展的历史上,网络底层资源变迁常常导致网络发展的“钟摆效应”(见表1),当然,每一次的“钟摆”都产生新一轮的
螺旋上升。

(1)骨干网络和接入网络“瓶颈”的交替

  事物总是螺旋式上升,波浪式前进的。在石英光纤大规模应用前,骨干网络是整个Internet的“瓶颈”,人们将主要的研究都聚
焦在骨干传送网上。光纤网络使得Internet的骨干网不再成为“瓶颈”,此时,基于Modem拨号方式的互联网接入成为网络的“瓶
颈”,人们将研究聚焦在接入网络上。随着不对称数字用户线(ADSL)、高速数字用户线(HDSL)、甚高速数字用户线(VDSL)、混合
光纤/同轴电缆(HFC)、无线局域网(WLAN)等多种宽带接入方式逐步商用,骨干网可能再度成为Internet的“瓶颈”。

  (2)网络技术与业务技术热点的交替

  在1995年前后,全球性的网络基础设施还没有构建完成,异步传输模式(ATM)和IP等网络技术成为技术热点;在网络层技术基
本解决后(1998年—2002年前后),业务层技术,比如智能网(IN)、电信管理网(TMN)、Web、IP语音(VoIP)、P2P等成为应用热点;
而当人们希望将P2P、下一代网络(NGN)、网络电视(IPTV)、第3代移动通信(3G)等业务承载在IP网上时,网络承载技术(服务质量:
差异化服务、业务接入控制、流量工程等)又成为必须解决的关键问题。

  (3)计算模式的交替

  在大型计算机时代,从单CPU发展到对称多分布结构,再到多结点机,对等计算的思想早已被广泛应用,只不过当时应用在近
程的分布计算中;随着远程通信网络和PC的发展,使得能力强大的服务器和功能较弱的客户端成为流行的计算模式;当网络和PC
的能力进一步发展到今天时,远程分布式对等计算再次流行起来。P2P应用正是在这种情况下开始引人瞩目。背景是:互联网的带
宽越来越大,互联网有同通信网和广播网融合的倾向,互联网改变了信息传播和获得的方式,互联网使得顾客从经济上讲有更大的
选择权和发言权。
2 P2P的拓扑结构

  拓扑结构是指分布式系统中各个计算单元之间的物理或逻辑的互连关系。结点之间的拓扑结构一直是确定系统类型的重要依
据。目前互联网络中广泛使用集中式、层次式等拓扑结构,集中式拓扑结构系统目前面临着过量存储、拒绝服务(DoS)攻击等一些
难以解决的问题。P2P系统要构造一个非集中式的拓扑结构,根据拓扑结构的关系可以将P2P研究分为4种形式:中心化拓扑、全分
布式非结构化拓扑、全分布式结构化拓扑和半分布式拓扑。在构造过程中需要解决的主要问题包括:系统中所包含的大量结点如何
命名、组织;如何确定结点的加入/离开方式;如何进行出错恢复等。

  2.1 集中目录式结构

  集中目录式P2P结构(中心化拓扑)是最早出现的P2P应用模式,因为仍然具有中心化的特点也被称为非纯粹的P2P结构,经典案
例就是著名的MP3共享软件Napster。

  Napster通过一个中央服务器保存所有Napster用户上传的音乐文件索引和存放位置的信息。当某个用户需要某个音乐文件时,
首先连接到Napster服务器,在服务器进行检索,并由服务器返回存有该文件的用户信息;再由请求者直接连到文件的所有者传输
文件。在Napster模型中,一群高性能的中央服务器保存着网络中所有对等计算机共享资源的目录信息。当需要查询某个文件时,
对等计算机会向一台中央服务器发出文件查询请求。中央服务器进行相应的检索和查询后,会返回符合查询要求的对等计算机地址
信息列表。查询发起对等计算机接收到应答后,会根据网络流量和延迟等信息进行选择,和合适的对等计算机建立连接,并开始文
件传输。Napster的结构模式和工作原理如图3所示。

以下棋应用为类比,Napster架构相当于由中心服务器完成下棋用户登陆、下棋撮合等管理服务工作,而一旦用户开始下棋后,下
棋流程就在两个下棋者之间完成,服务器就不再参与二者下棋的后续处理。因此,Napster实质上是实现了文件查询(管理服务)与文
件传输(具体的业务服务)的分离,有效地节省了中央服务器的资源消耗。中心化拓扑最大的优点是:维护简单;资源发现效率高;
由于资源的发现依赖中心化的目录系统,发现算法灵活高效并能够实现复杂查询。

  但是,这种对等网络模型存在很多问题,主要表现为:

  (1)最大的隐患在中央服务器上,由于Napster在文件查询服务上还采用集中式的架构,如果该服务器失效,整个系统都会瘫痪
(类比,下棋服务器一瘫痪,用户之间无法进行撮合服务,下棋业务也就瘫痪了)。当用户数量增加到105或者更高时,Napster系统
的性能会大大下降。中央服务器的瘫痪容易导致整个网络的崩溃,可靠性和安全性较低。

  (2)随着网络规模的扩大,对中央索引服务器进行维护和更新的费用将急剧增加,所需成本过高。

  (3)中央服务器的存在引起共享资源在版权问题上的纠纷。

  基于上述分析,对小型网络而言,集中目录式模型在管理和控制方面占一定优势,但该模型并不适合大型网络应用。

  2.2 纯P2P网络模型

  全分布非结构化网络是在重叠网络中采用随机图的结点拓扑组织方式,其最典型的案例是Gnutella系统。Gnutella是一个P2P
文件共享系统,它和Napster系统最大的区别在于Gnutella是纯粹的P2P系统,没有索引服务器,每个结点都随机维护自己本地局部
的拓扑连接关系,采用了基于完全随机图的“洪泛”发现和随机转发机制,工作原理如图4所示。当需要进行信息查找时,Gnutella
系统将发送一个广播消息给周边的结点,询问是否有相关的内容。如果周边结点存在相关的内容,则向查询结点发回查找结果。为
了控制搜索消息的传输范围,Gnutella系统引入了生存时间(TTL)减值的概念。

以下棋应用为类比,在这种架构下,没有中心的下棋服务器,某个下棋者如果想要下棋,就直接向周边的结点询问(这些周边结点的
拓扑知识是随机获得的,比如以前曾经和他下过棋的人,或者曾经询问过他的人),是否有人愿意与之下棋?如果有志愿者,业务撮
合就完成了;如果周边结点没人愿意,这些周边结点又会继续向它们周边的结点询问,直至联系到愿意下棋的伙伴或者失败。

  在Gnutella分布式对等网络模型中,每一个连网计算机在功能上都是对等的,既是客户机同时又是服务器,所以被称为对等计
算机。由于互联网上的结点数服从“Power-law”规律(幂率分布),即少数的结点拥有很高的连接度,这导致了小世界现象(在人类
社会中,任意两个不直接相识的人,通过最多6个中间人就可进行通信)。

  类比下棋应用,大多数情况下,通过多次询问,就可能找到志愿者,因此Gnutella的搜索模式能够较快发现目的结点,面对网
络的动态变化体现了较好的容错能力。

  但是,随着Gnutella连网结点的不断增多,网络规模不断扩大,通过这种“洪泛”方式定位对等点的方法将造成网络流量急剧
增加(比如有许多下棋人都同时询问周边的同伴,容易形成雪崩式的巨大噪声),从而导致网络中部分低带宽结点因网络过载而失
效,所以在初期的Gnutella网络中,存在比较严重的分区、断链现象(即Gnutella的用户群不能实现全体的互通)。资源发现的准确性
和可扩展性是非结构化网络面临的两个重要问题。和Gnutella系统类似,Freenet系统也采用了完全分布式的模型,而且增加了一些
改进措施。Gnutella和Freenet虽然支持分布式的查找策略,但是它们都采用类似于开放式最短路径优先(OSPF)路由协议(实际上,
OSPF协议本身也是一个对等网络系统)的“洪泛”机制,这种机制一方面造成网络通信负担较大,另一方面可扩展性也较差。正是
由于类似的原因,OSPF协议才主要被限制在Internet的自治域(AS)内部使用。

  由于非结构化网络一般不提供性能保证,查询可能没有结果。采用广播查询的系统对网络带宽的消耗非常大,由此带来可扩展
性差等问题。为了解决这些问题,大量研究集中在如何构造一个高度结构化的系统,也就是下面要讨论的基于全分布式结构化拓扑
的网络模型。

  2.3 结构化网络模型

  结构化模型与非结构化模型的根本区别在于每个结点所维护的邻居是否能够按照某种全局特定的规则(而不是随机的方式)组织
起来。结构化模型这种组织方式决定了结点之间可以方便地快速查找。

  结构化对等网络(P2P)模型是一种采用纯分布式的消息传递机制和根据关键字进行查找的定位服务模型,目前的主流方法是采
用分布式哈希表(DHT)技术。

  分布式哈希表是一个广域范围内大量结点共同维护的巨大散列表。散列表被分割成不连续的块,每个结点被分配给一个属于自
己的散列块,并成为这个散列块的管理者。在DHT技术中,网络结点按照一定的方式分配一个唯一的结点标识符,资源对象通过散
列运算产生一个唯一的资源标识符。(类比下棋应用中,每个下棋人都会被分配一个唯一的标识,通过这个标识,通过某种运算可联
系周边结点,这样所有的下棋人就被组织成了一个环)。当需要查找该资源时,通过散列运算可定位到存储该资源的结点。


  经典的DHT案例包括Chord、CAN、Pastry、Tapestry等算法。

  Chord算法的主要贡献是提出了一个分布式查找协议,该协议可将指定的关键字映射到对应的结点。在Chord算法中,结点并
不需要知道所有其他结点的信息,在由N个结点组成的网络中,每个结点只需要维护其他O(logN)个结点的信息,同样,每次查找只
需要O(logN)条消息。

  CAN算法采用了多维的标识符空间来实现分布式散列算法。CAN将所有结点映射到一个n维的笛卡尔空间中,并为每个结点尽
可能均匀地分配一块区域。CAN采用的路由算法相当直接和简单,知道目标点的坐标后,就将请求传给当前结点四邻中坐标最接近
目标点的结点。

  Pastry算法是微软研究院提出的可扩展的分布式对象定位和路由算法,可用于构建大规模的P2P系统。在Pastry算法中,每个
结点分配一个128比特的结点标识符,所有的结点标识符形成了一个环形的空间,范围从0到2128-1,结点加入系统时通过散列结
点的IP地址在128比特空间中随机分配。

  Tapestry算法的思想来源于Plaxton算法,在Plaxton算法中,结点使用自己所知道的邻近结点表,按照目的标识符来逐步传递
消息。Tapestry算法在Plaxtion算法的基础上,加入了容错机制,从而可适应P2P动态变化的特点。

  由于采用了确定性拓扑结构,DHT类结构能够自适应结点的动态加入和退出,有着良好的可扩展性、鲁棒性、结点标识分配的
均匀性和自组织能力。DHT可以提供精确的资源发现,只要目的结点存在于网络中,DHT总能发现它。总的说来,DHT算法比较适
合大规模对等网络应用,目前这种技术的应用主要集中在数据和文件共享系统上。

  DHT网络结构最大的问题是DHT的维护机制较为复杂,尤其是结点频繁加入和退出造成的网络波动会极大地增加DHT的维护代
价(类比下棋应用中,每次下棋人进入系统和离开系统,都需要重新调整P2P结点的拓扑)。DHT所面临的另外一个问题是由于DHT
建立在精确哈希散列的基础上,因此仅支持精确关键词匹配查询,无法支持内容/语义等复杂查询(比如下棋应用中,只能通过标识
来逐步发现下棋人,不能通过一些模糊信息,比如下棋人的段位信息、下棋人和自己之间的网络性能信息进行查询)。基于分布式哈
希表的路由机制也有无法解决的问题,比如经过哈希运算之后,结点的位置信息被破坏了,来自同一个子网的站点很可能结点号相
距甚远,不利于查询性能的优化(通过DHT建立起来的拓扑可能与实际的网络拓扑不相符合,比如湖北和广州的两个棋友可能被分配
在相邻的位置,而两者在网络通信上时延很大)。

  2.4 混合式网络模型

  Kazaa模型是P2P混合式模型(半分布式结构)的典型代表(如图5所示,eDonkey、eMule等也可以划分为这个类型),它在纯P2P
分布式模型基础上引入了超级结点的概念,综合了集中式P2P快速查找和纯P2P去中心化的优势。Kazaa模型将结点按能力不同(计
算能力、内存大小、连接带宽、网络滞留时间等)区分为普通结点和搜索结点两类。其中搜索结点与其临近的若干普通结点之间构成
一个自治的簇,簇内采用基于集中目录式的P2P模式,而整个P2P网络中各个不同的簇之间再通过纯P2P的模式将搜索结点相连起
来,甚至也可以在各个搜索结点之间再次选取性能最优的结点,或者另外引入一个新的性能最优的结点作为索引结点来保存整个网
络中可以利用的搜索结点信息,并且负责维护整个网络的结构。
由于普通结点的文件搜索先在本地所属的簇内进行,只有查询结果不充分的时候,再通过搜索结点之间进行有限的“泛洪”。这样
就极为有效地消除了纯P2P结构中使用“泛洪”算法带来的网络拥塞、搜索迟缓等不利影响。同时,由于每个簇中的搜索结点监控
着所有普通结点的行为,这也能确保一些恶意的攻击行为能在网络局部得到控制,并且超级结点的存在能在一定程度上提高整个网
络的负载平衡。总的来说,基于超级结点的混合式P2P网络结构比以往有较大程度的改进。然而,由于超级结点本身的脆弱性也可
能导致其簇内的结点处于孤立状态,因此这种局部索引的方法仍然存在着一定的局限性。

  半分布式结构的优点是性能、可扩展性较好,较容易管理,但对超级结点依赖性大,易于受到攻击,容错性也受到影响。


  2.5 各种结构模型的性能比较

  表2对中心化拓扑、全分布式非结构化拓扑、全分布式结构化拓扑、半分布式拓扑4种结构模型的综合性能进行了比较。可以看
出不同结构模型在系统复杂性、可扩展性、功能上有不同的均衡性能。
3 P2P网络的典型应用

  Internet最初产生和发展的主要动力之一就是资源共享。而文件交换的需求直接导致了P2P技术的兴起,这是P2P最初的应用,
也是最成功的应用之一。针对这类应用的共享软件Napster使得人们在客户/服务器模式下开始重新认识P2P思想对人们使用网络习
惯的影响。

  随着人们对P2P思想的理解和技术的发展,作为一种软件架构,P2P还可以被开发出种类繁多的应用模式,除了最初的文件交
换之外,还出现了一些分布式存储、深度搜索、分布式计算、个人即时通信和协同工作等新颖应用。其中最著名的例子是基于分布
式计算的搜索外星文明的科学实验SETI@home,每个志愿参加者只需下载并运行相应软件,就可以贡献自己闲置的计算能力,参
与分析Arecibo射电望远镜的无线电磁波数据并回送计算数据。另外,随着Sun公司将其JXTA协议扩展到诸如个人数字助理(PDA)和
移动电话等手持终端上,并允许人们屏蔽具体的物理平台进行资料共享和文件交换等,P2P技术在移动通信和智能网领域也开始呈
现出较大应用前景。

  近年来,Internet上各种P2P应用软件层出不穷,P2P计算技术正不断应用到军事、商业、政府信息、通信等领域。根据具体应
用不同,P2P可以分为如下类型:

  (1)提供文件和其他内容共享的P2P网络,例如Napster、Gnutella、eDonkey、emule、BitTorrent等。

  (2)挖掘P2P对等计算能力和存储共享能力的应用,例如Xenoservers[25]、SETI@home、Avaki、Popular Power等。

  (3)实现基于P2P方式的协同处理与服务共享平台,例如JXTA、Magi、Groove、NET My Service等。

  (4)提供即时通信交流,例如ICQ、OICQ、Yahoo Messenger等。

  (5)实现安全的P2P通信与信息共享,例如Skype、Crowds、Onion Routing等等。

  (6)实现P2P应用层组播。就是在应用层实现组播功能而不需要网络层的支持,这样就可以避免由于网络层迟迟不能部署对组播
的支持而使组播应用难以进行的情况出现。应用层组播需要在参加的应用结点之间实现一个可扩展的,支持容错能力的重叠网络,
而基于DHT的发现机制正好为应用层组播的实现提供了良好的基础平台。例如天天在线、QQ视频、深圳蓝波网络、PPLive等。


  (7)实现Internet间接访问基础结构。为了使Internet更好地支持组播、单播和移动等特性,Internet间接访问基础结构提出了基
于汇聚点的通信抽象。在这一结构中,并不把分组直接发向目的结点,而是给每个分组分配一个标识符,目的结点根据标识符接收
相应的分组。标识符实际上表示的是信息的汇聚点。目的结点把自己想接收的分组的标识符预先通过一个触发器告诉汇聚点,当汇
聚点收到分组时,将会根据触发器把分组转发给相应的目的结点。Internet间接访问基础结构实际上在Internet上构成了一个重叠网
络,它需要对等网络的路由系统提供相应的支持。
4 P2P网络的研究和市场现状

  4.1 中国学术机构P2P研究现状

  (1)北京大学的Maze系统

  Maze是北京大学网络实验室开发的一个中心控制与对等连接相融合的对等计算文件共享系统,结构类似于共享软件Napster,
对等计算搜索方法类似于共享软件Gnutella。网络上的一台计算机,不论是在内网还是外网,可以通过安装运行Maze的客户端软件
自由加入和退出Maze系统。每个结点可以将自己的一个或多个目录下的文件共享给系统的其他成员,也可以分享其他成员的资源。
Maze系统支持基于关键字的资源检索,也可以通过好友关系直接获得。

  (2)华中科技大学的AnySee系统

  AnySee是华中科大设计研发的视频直播系统。它采用了一对多的服务模式,支持部分网络地址转换(NAT)和防火墙的穿越,提
高了视频直播系统的可扩展性。

  4.2 企业研发产品

  (1)广州数联软件技术有限公司的POCO平台

  POCO是中国最大的P2P用户分享平台,是有安全、流量控制力的无中心服务器的第三代P2P资源交换平台,也是世界范围内
少有的盈利的P2P平台。目前已经形成了可以支持2 600万用户的能力,平均在线用户58.5万,在线用户峰值突破71万,并且全部
是宽带用户。

  (2)深圳市点石软件有限公司的OP平台

  OP又称为Openext Media Desktop,一个网络娱乐内容平台,是共享软件Napster的后继者,它可以最直接的方式找到用户想
要的音乐、影视、软件、游戏、图片、书籍以及各种文档,随时在线共享文件,容量数以亿计,号称“十万影视、百万音乐、千万
图片”。OP整合了Internet Explorer、Windows Media Player、RealOne Player和ACDSee,是中国的网络娱乐内容平台。

  (3)基于P2P的在线电视直播共享软件PPLive

  PPLive是一款用于互联网上大规模视频直播的共享软件。它使用网状模型,有效地解决了当前网络视频点播服务的带宽和负载
有限问题,实现用户越多,播放越流畅的特性,整体服务质量大大提高(2005年的超级女声决赛期间,这款软件非常地火爆,同时通过它观看湖南卫视的观众达到上万人)。

  4.3 国际P2P技术应用情况

  国际开展P2P研究的学术团体主要包括P2P工作组(P2PWG)、全球网格论坛(Global Grid Forum,GGF)。目前P2PWG已经和
GGF合并,由该论坛管理P2P计算相关的工作。GGF负责网格计算和P2P计算等相关内容的标准化工作。

  从国外公司对P2P计算的支持力度来看,Sun公司、Microsoft公司和Intel公司投入较大。

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

础上,用户可以开发各种JXTA平台上的P2P应用。

  Microsoft公司成立了Pastry项目组,主要负责P2P计算技术的研究和开发工作。目前Microsoft公司已经发布了基于Pastry的软
件包SimPastry/VisPastry。美国休斯顿莱斯(Rice)大学也在Pastry的基础之上发布了FreePastry软件包。

  Intel公司成立了P2P工作组开展P2P的研究。工作组成立以后,Intel公司积极与应用开发商合作,开发P2P应用平台。2002年
Intel公司发布了Net基础架构之上的P2P加速工具包(Accelerator Kit)和P2P安全应用编程接口(API)软件包,从而使得微软NET开发
人员能够迅速地建立P2P安全Web应用程序。
5 P2P网络的继续演进

  图6表明了P2P应用进化的几个方向(网络结构、计算资源、信息、人际网、智能化)及其对网络的促动。基于这些要素的组合,
P2P应用在不断进化之中。
5.1 对计算能力的拓展

  “计算拓展”意味着分散的计算机和设备的剩余处理能力的有效应用。因特网就是一个拥有巨大剩余能力的计算机。在这个虚
拟的拥有数量巨大的分散CPU的超级计算机上所能做的事情超乎想象。在这方面已经有很多成功的应用,比如搜索外星文明实验和
癌症基因分析等,都利用了分散的计算能力。现在,通常意义上的计算机的CPU处理能力还在不断提高,内存容量也在不断扩大。
另一方面,PDA、移动电话等等也可以看成多样化的计算机。宽带通信的出现使得CPU的处理能力发生了巨大的变化。在有限的网
络环境里长时接续变得平常普遍,从IPv4到IPv6的演变是不可避免的发展趋势。

  5.2 对信息/数据应用的拓展

  “信息/数据拓展”意味着分散数据库访问技术的发展应用。在同步检索、文件传输、备份文件保管方面,基于分散形式的数字
化产品的开发体现了分散数据的活力。信息通常被保存在各种数据库、文件库、图书馆、博物馆,或者以数字化商品的形式存在。
通常在分散的环境里保存保管数据的方案并不十分有效。但是在人们离开保存信息的固定场所以后,希望通过网络检索获取信息的
时候,分散环境保存保管数据的益处就体现出来了。

  在因特网上,信息检索的工具从开始的Fetch、Gopher到通用的Browser,再到最新的P2P文件共享。可扩展标记语言(XML)在
这种数据交换的背景下得到了广泛应用。当然这种发展也带来数字版权(Digital Copyright)等亟待解决的问题。如何使P2P技术更有
效合理地得到应用需要进一步研究。

  5.3 人际网的拓展

  “人际网拓展”意味着要确保信息发送和接收的主体同未知或已知的同伴之间可以容易地进行交流,特别是同商业伙伴之间能
容易地经常地交流。像ICQ这样的即时交流工具就是P2P应用的一个典型代表。利用这些交流工具人们可以在网络上方便地同具有
相同爱好的个人、组织进行交流。

  人在本质上都是“移动地”存在的,对各种“位置”关心或厌恶的同时,维持着“总体”的关系,这导致人们总是有欲望同他
人交流信息和资源,无论是真实的还是虚拟的。也就是说人的本性之一就是:在不安于现状,拒绝千篇一律的同时,对新奇和与众
不同的事物有挑战的欲望。这种矛盾的存在是P2P进化的基本动力。

  电子商务的本质使人们能够在市场交易中获得有效的竞争力。因为商业的目的,依据人们的兴趣取向的不同,各种各样的网络
交流社区出现了。比如几乎同e-mail和Web一样,聊天(Chat)、空间信息网格(SIG)等越来越引人注目。现在网上拍卖也成为P2P的
商业形式。进一步发展,虚拟公司、虚拟组织会渐渐成为人们生活的一部分。

  5.4 智能化方面的拓展

  智能到底能否被创造?这是似乎是个遥远的问题。现有的神经元系统的主要局限在于:

  (1)单个神经元及其传导模型仿真过于简单。

  (2)神经元系统只能模拟数量在几百万量级的神经元系统,而人脑有几十亿甚至几百亿的神经元。

  (3)对人脑的工作机理了解不足。

  在P2P分布式网络下,每一个结点可以模拟足够复杂的神经元及其传递模型,只要网络足够大,就可能达到几百亿结点的规
模,再加上有线/无线传感器网络作为系统的“感知器官”,已经有了创造智能的条件。
6 P2P带来的挑战

  6.1 管理机制缺乏问题

  传统的客户机/服务器(C/S)模式为服务器提供了更多的特权,整个网络上传播的信息通过服务器进行集中控制,客户机只是简
单地从服务器提取所需的资源。在这种架构下,系统维护者对客户和整个系统的管理相对容易,并且有最高的权限。对等网络
(P2P)最大的特点就在于它为用户提供了极大的自由,各个用户都以对等的身份存在于P2P网络中。在P2P网络中,由于不在受固定
的IP地址的限制,用户可以在不同地点和不同时间随时进入和退出网络,整个网络没有设置全局集中的监视节点,因此用户的行为
和活动难以控制(以下棋应用为例,在全分布的架构下,下棋者之间走了哪些棋,服务器可能完全不知情,也无从进行管理,对于作
弊等问题的防范变得困难)。缺乏管理的P2P网络将成为病毒、色情内容以及非法交易的温床。

  许多P2P公司打算通过P2P网络开展电子商务,但是付费、流量统计、商品价值验证都存在一时很难以克服的技术问题,因此
开展业务困难重重。到目前为止,还没有一种完全可以解决P2P网络管理问题的方法。由于缺乏中心监管以及具有自由平等的动态
特性,自组织的P2P网络在技术层面也有许多难以解决的问题。

  6.2 数字版权问题

  在P2P共享网络中普遍存在着知识产权保护问题。尽管目前Gnutella、Kazaa等P2P共享软件宣传其骨干服务器上并没有存储
任何涉及产权保护的内容,而仅仅保存各个内容在互联网上的存储索引。但无疑的是,P2P共享软件的繁荣加速了盗版信息的传
播,提高了知识产权保护的难度。美国唱片工业协会(RIAA)与这些共享软件公司展开了漫长的官司拉锯战,著名的软件Napster便
是这场官司的第一个牺牲者。另一个涉及面很广的战场则在RIAA和使用P2P来交换正版音乐的平民之间进行。从2004年1月至今
RIAA已提交了1 000份有关方面的诉讼。尽管如此,现在每个月仍然有超过1.5亿的歌曲在网络上被自由下载。后Napster时代的
P2P共享软件较Napster更具有分散性,也更难加以控制。即使提供P2P共享软件的运营公司被判违法而关闭,但整个网络仍然存
活,至少会正常工作一段时间。

  另一方面,Napster以后的P2P共享软件也在寻找和媒体发布厂商共生互利之道。如何更加合法合理地应用这些共享软件,是
一个新课题。毕竟P2P不是为共享盗版软件而存在,它可以共享相当多的有益信息。如果能够通过P2P网络来实现内容产品在更广
泛的群体中传递,并实现收费,使得单个内容产品的价格降低,这也是一种有益的良性循环。也就是说,好的产品,可以为更多的
人分享,每个人的单价更低,这对个体是有益的;而产品的生产者所获得的产品总收益,也超过P2P网络之前的收益(以前可能只能
卖100份,每份10元,总收益1 000元,现在可以卖10 000份,每份只卖0.2元,总收益为2 000元),这对产品的生产者也是有益
的。而且,由于P2P在传播机制上所具备的“强者越强”特性,好的产品会很快流行,而差的产品很快就会被人们遗忘,也有利于
人们分辨产品的品质。

  网络社会与自然社会一样,自身具有一种自发地在无序和有序之间寻找平衡的趋势。P2P技术为网络信息共享带来了革命性的
改进,而这种改进如果想要持续长期地为广大用户带来好处,必须以不损害内容提供商的基本利益为前提。这就要求在不影响现有
P2P共享软件性能的前提下,一定程度上实现知识产权保护机制,目前已经有些P2P厂商和一些利益相关公司一起合作展开这方面
的研究。这是下一代P2P共享软件面临的挑战性技术问题之一。

  6.3 网络病毒传播问题

  随着计算机网络应用的深入发展,计算机病毒对信息安全的威胁日益增加。特别是在P2P环境下,方便的共享和快速的选路机
制,为某些网络病毒提供了更好的入侵机会。

  由于P2P网络中逻辑相邻的结点地理位置可能相隔很远,而参与P2P网络的结点数量又非常大,因此通过P2P系统传播的病
毒,波及范围大,覆盖面广,从而造成的损失会很大。

  在P2P网络中,每个结点防御病毒的能力是不同的。只要有一个结点感染病毒,就可以通过内部共享和通信机制将病毒扩散到
附近的邻居结点。在短时间内可以造成网络拥塞甚至瘫痪、共享信息丢失、机密信息失窃,甚至通过网络病毒可以完全控制整个网
络。

  一个突出的例子就是2003年通过即时通讯(Instant Message)软件传播病毒的案例显著增多。Symantec公司和McAfee公司的高
层技术主管都预测:即时通讯软件将会成为网络病毒传播和黑客攻击的主要载体之一。

  随着P2P技术的发展,将来会出现各种专门针对P2P系统的网络病毒。这些病毒利用系统漏洞,达到迅速破坏、瓦解、控制系
统的目的。因此,网络病毒的潜在危机对P2P系统安全性和健壮性提出了更高的要求,迫切需要建立一套完整、高效、安全的防毒
体系。

  6.4 安全问题

  随着P2P网络的发展,除了病毒之外的安全问题,尤其是分布式哈希表的安全问题越来越引起研究人员的重视。最近的P2P研
究热点主要集中在如何提供有效的哈希查找系统并基于它构建更复杂的系统。这些系统当它们正确执行时,的确具有很好的性能,
但是它们都没有考虑如何对付行为不正确的结点,比如,对分布式哈希表系统的一种攻击方式是使系统向应用程序返回不正确的数
据。现在已经有人对基于分布式哈希表查找的大规模P2P系统的固有安全问题进行研究。上述攻击可以通过数据加密技术解决,比
如使用自验证路径名技术。这种技术可以使系统检测出没有经过验证的数据并将这些数据丢弃。

  另一种类型的攻击通过阻止系统的参与结点找到数据来危害系统的正常运行。一般来说,查找协议都必须要维护一个常量以确
保系统中的数据可以被检索到。比如在Chord系统中,结点号位于一维的标识符空间中,那么Chord需要的常量就是每个结点都必
须知道结点号空间中紧跟在它后面的那个结点。如果攻击者能够破坏这个常量,Chord就肯定不能正常工作。这种类型的攻击主要
包括:路由攻击、存取攻击、行为不一致攻击、目标结点过载攻击等。

  在P2P的安全方面,网络安全工作者需要做更多的工作。

  6.5 竞争问题

  在可以实现P2P的宽带环境下,一切皆IP,这对实现IP语音(VoIP)有很大促进作用。但是,VoIP业务与现在拥有电话运营权的
传统电信企业的业务产生了激烈竞争。一旦电话被VoIP取代,传统电信公司怎么办?数字鸿沟(类似贫富差距,信息的发布和获得也
会有差距)怎么办?现在即使没有商业电力供应,电话也可以独立接通,但到VoIP时代能否离开商业电力供应?

  移动通信市场存在着诸多的困难:移动电话在带宽、长时接续上都存在限制;移动因特网系统的网络构造、网关设计等方面都
存在“瓶颈”问题;针对移动因特网的垃圾邮件占用本来就狭窄的带宽,至今没有有效的对策解决这一问题;伴随未来的宽带移动
通信的普及,移动通信的收费问题也将成为棘手问题,收费太低会导致企业经营恶化,收费太高会抑制移动通信的发展;另外,在
城市里移动通信还面临着无线网络的竞争。现在已经有一些学者在研究移动P2P的应用系统,如果在移动终端上实现这类P2P应
用,用户将进一步获得更多的服务和更大的自由空间,但是移动通信市场的竞争将变得越发激烈。

  6.6 信用问题

  从某种意义上来说,P2P网络和人际网络具有一定的相似性。一般来说,每个P2P网络都是众多参与者按照共同兴趣组建起来
的一个虚拟组织,结点之间存在着一种假定的相互信任关系,但随着P2P网络规模的扩大,这些P2P结点本质所特有的平等自由的
动态特性,往往与网络服务所需要的信任协作模型之间产生矛盾。激励作用的缺失使结点间将更多地表现出“贪婪”、“抱怨”和
“欺诈”的自私行为,因此P2P中预先假设的信任机制实际上非常脆弱,同时信任也难以在结点之间传递,导致了全局性信任的缺
乏,这将直接影响整个网络的稳定性与可用性。

  随着P2P系统的演化,P2P领域的信用问题,将逐步演化得越来越类似人类社会人与人、组织与组织之间的复杂信用问题。构
建P2P信用模式,实现对恶意组织和恶意个体的攻击的检测,也是P2P需要面对的重大课题。

  6.7 带宽与流量流向问题

  由于P2P网络规模的不断扩大和用户下载文件数量的增多,吞噬网络带宽问题成为P2P应用进一步拓展的障碍。以Gnutella系
统为例,该网络通过广播式的定位方法发现网络中存在的活动对等点,随着网络规模的不断扩大,广播式定位方法产生的广播消息
将充斥整个网络,势必造成网络通信流量急剧增加,很容易造成网络拥塞。

  另外,许多P2P软件都提供“人人为我,我为人人”的传送方式,因此,它的传送模式和互联网的树型结构并不相称。


  从流量流向上看,以往的互联网应用主要是基于C/S、浏览器/服务器(B/S)架构,流量大都是从客户终端到数据中心(IDC)的下
行数据流。现在的互联网的拓扑和带宽资源主要是考虑这种流量模式而设计的(如图7所示),即IDC到骨干网络的接口带宽速率很
高,从骨干网、城域网到达接入网时,带宽资源逐渐变小。对于不对称数字用户线(ADSL)等接入方式,通常客户的上行带宽会小于
下行带宽,这种拓扑资源设计主要针对基于C/S、B/S架构的应用,很适合传统的以下载为主要需求的业务。但是,基于P2P的应用
系统的流量大都分布在客户终端之间,即主要分布在城域网的各个汇聚接入点之间(这一点世界各国的运营商都有相关数据证实)。
这导致互联网在接入网和城域网部分出现严重的拥塞问题,严重影响了基于C/S、B/S架构的应用(比如各类电子商务、电子政务、
娱乐、教育等服务)。
另外,从流数目上看,目前提供文件共享的P2P终端软件主要基于多传输控制协议(TCP)的连接方式进行工作,即通过多个TCP同
时从多个结点下载,并同时通过多个TCP连接为多个其他结点提供上传服务。这将导致两个严重后果:一是当P2P应用和传统基于
单TCP应用(大部分基于C/S、B/S架构的应用)竞争时,P2P应用将占据绝对优势。因为在互联网的“尽力而为”机制下,各个流获
得的吞吐量近似于与发送速率成正比,因此一个应用建立的TCP连接愈多,这个应用占用的网络资源也愈多。这样,基于单TCP应
用的性能将严重恶化。二是我们是否将传统的单TCP应用也简单地改成多TCP方式就可以解决问题?简单地看,似乎是只要增加传
统应用的TCP连接数就可以解决。但是,这种方法存在如下问题:首先要对现有应用进行大规模修改,实际上很难做到;其次如果
所有应用都从单TCP转为K个TCP连接,那么从网络整体上看,网络中的TCP流(连接)总数目将从原来的N个(假定原先是N个)变为
近似K×N个。如果整个网络的流数目剧增,将使得路由器中的高速流表无法满足需求,导致路由器的吞吐能力大大下降。结果是造
成整个网络的能力和效率大大下降。

  如果要考虑P2P流和IPTV等视频或者VoIP等话音流混合传送,问题就更为复杂。如何使P2P应用与传统的基于单TCP或者UDP
的应用友好相容,也是P2P传送控制技术必须解决的问题。
7 P2P应用带来的影响

  P2P应用将导致电信行业内部(电信用户、运营商、设备制造商)以及行业之间(电信和广电等)的多方博弈,形势将变得更为错综
复杂。本文以电信运营商和设备制造商作为对象进行分析。从业务层面和网络层面来考察P2P应用的正、负面影响。

  7.1 业务层

  (1)即时通讯类业务

  一方面,QQ、Skype等即时通讯类业务分流了国际长途业务和部分国内长途和市话业务;另一方面,QQ等增进了人们的交
流,使得人们的通信总需求增加,这对电信业务是正面的促进。

  (2)网络电视

  一方面,网络电视丰富了电信业务,更好地满足了人们的需求;另一方面,网络电视对IP承载的服务质量(QoS)支撑能力提出
了前所未有的高要求,IP网“尽力而为”的服务方式可能将逐步推出历史的舞台。

  (3)娱乐类业务

  一方面,娱乐类业务的内容客观上丰富了人们的生活;另一方面,娱乐类业务的知识产权和数字版权问题严重。行业之间的博
弈在所难免,国家政策对此影响甚大。

  (4)信息私密性问题

  一方面,个人通信私密性需要提升;另一方面,信息监控更加困难,网络成为病毒、非法交易的温床。

  (5)业务和技术竞争问题

  P2P应用一方面加剧了电信行业内不同技术潮流的竞争,这对保护行业内部投资不利;另一方面,提升了电信运营商行业之间
的竞争能力(比如网络电视),特别是相对于广电的竞争力。

  要从根本上解决这些问题,通过简单地增加带宽是不行的,需要实现从面向接入服务(上网时间)的计费模式向提供差异化服务
(不同等级的网络服务)或者更高层次的面向业务计费的模式转变,需要对现有网络进行一次变革,变革将集中体现在基础网络层面
和业务支撑系统层面。

  7.2 网络层

  (1)网络带宽

  一方面,P2P应用将推动运营商扩容的步伐,有利于设备商,而且增加了电信用户个人平均可消费的带宽量;另一方面,P2P
应用大量吞噬网络带宽,如果人人都用P2P,将会造成网络拥挤。

  (2)网络拓扑

  一方面,P2P应用使得对流量流向分析的需求增加,网络规划和优化的任务加重;另一方面,可能导致网络拓扑改进和演化

  (3)接入控制能力

  一方面,P2P应用对传统全开放式的Internet的接入控制方式提出了挑战;另一方面,P2P应用将促成IP电信网实现从全开放到
半开放(以前已开放的业务继续开放,之后的新业务保留收费的权力)的转变。
8 结束语

  从中国网络建设进程看,P2P和Internet的融合大概可分3个阶段。

  第一阶段:网络宽带化(指大量应用ADSL,“宽”是ADSL相对拨号的宽带而言)之初,丰富的P2P应用成为运营商吸引客户从
窄带过渡到宽带的重要动力,此时,P2P的正面影响是主要的。

  第二阶段:中国网络宽带化基本完成后,假定大部分业务转化为P2P模式,网络用户整体(个数为n)对网络资源的需求可能从O
(n)增长到O(n2)(注:这仅仅是可能,有待进一步证明)。此时,用户对资源需求的增长速度O(n2)将大大超过用户发展的速度O(n)。
P2P应用对网络带宽的吞噬、版权问题等负面影响逐步浮出水面。对流量进行等级区分、对业务接入进行更加严格的控制等问题将
被提上议事日程,将涉及对现有网络的大规模改造。

  第三阶段:当网络接入控制智能化实现后,电信业务能力和客户需求达到一个新的平衡点,P2P导致的浪潮基本告一段落。


  挑战就是机遇,任何事物总是在矛盾中不断发展。P2P是一次新的浪潮,这个浪潮将给电信用户、运营商、设备商、其他相关
行业领域都带来机遇和挑战。
9 参考文献
.




评论 / 个人网页 / 扔小纸条
* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 


 

分类小组论坛
杂谈 , 娱乐、八卦 , 文学、艺术 , 体育 , 旅游、同城 , 象牙塔 , 情感 , 时尚、生活 , 星座 , 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定

日历
网志分类
『所有网志』 (322)
生活 (41)
工作 (11)
运动 (3)
情感 (1)
java (65)
c/c++ (16)
.net (23)
linux (6)
网络 (73)
数据结构与算法 (6)
数据库 (4)
体系结构与编译技术 (2)
Flash (0)
图形图像 (0)
黑客与系统安全 (8)
病毒 (0)
XML (1)
windows视窗 (2)
操作系统 (13)
wimax (12)
手机 (14)
数学 (4)
日语 (0)
法语 (0)
美剧 (0)
计算机硬件 (6)
站内搜索
友情链接
我的歪酷 非非共享界
订阅 RSS
0047911
歪酷博客