2024年3月17日发(作者:)
P2P技术的应用及其研究现状
摘要
自1999年以来,对等网络(P2P)技术因其充分利用网络资源和网络带宽等诸多优
点而受到国内外学术界和商业组织的广泛关注。美国《财富》杂志更称之为改变因特网发展
的四大新技术之一,甚至被认为是无线宽带互联网的未来。文中首先介绍P2P的概念及其
四种网络模型:集中目录式、纯分布式、混合式和结构化,并将P2P模型与C/S模型进行
对比,结果表明:在有效利用网络中的大量闲置信息、存储空间、处理器周期等资源、避免
服务器带来的瓶颈问题、降低服务器成本等方面,P2P有着明显的优势;然后介绍P2P文件
交换、对等计算、协同工作等应用模型及其研究现状;最后讨论P2P网络存在的问题。
关键字
对等网络(P2P)技术 客户端∕服务器(C/S)模型 模型
引言
随着Internet网络的广泛普及、网络带宽
的大幅增加以及基于Internet的端系统计算
能力迅速增强,在客户端∕服务器(C/S)
模式(通常只有服务器节点资源得到利用)
中被忽略的且广泛存在的用户端设备成为
一种宝贵的计算资源。因此,“充分利用网
络边缘资源”成为新的研究和应用目标之
一,其中“网络边缘资源”是指那些在传统
应用模式中作为客户端而往往被忽略的计
算设备。而对等网络(P2P)技术正是在这
样的形势下迅猛兴起,如今P2P技术研究的
涉及面已十分广阔,包括网络拓扑、分布式
存储、安全性和可靠性等。P2P技术应用更
是涵盖诸多方面,商业和民用领域的文件与
数据共享和存储、、科研领域的协同和并行
计算等。然而P2P也同样在其发展历程中存
在着许多或难以克服或存在缺陷的问题,比
如版权问题、安全问题等。尽管问题如此之
多,不置可否,P2P技术正不断变革着网络,
并且改变人们的生活。
1 P2P的概念及其网络模型
目前在学术界以及商业组织上对于P2P
没有一个统一的定义,下面有三种定义:
1 P2P是一种通信模型,其中每个参与者都
有相同的能力。在Internet上,P2P是一种
网络类型,它允许相同网络程序的计算机相
互建立连接,直接访问对方的硬盘上的文
件。
2 P2P网络是一种具有较高扩展性的分布
式系统结构,系统中的各个节点不再区分服
务器和客户端的角色关系,每个节点既可请
求服务,也可提供服务,节点之间可以直接
交换资源和服务而不必通过服务器。
3 P2P是一种以非集中方式使用分布式资
源来完成关键任务的一类系统和应用。
虽然上述的定义稍有点不同,但共同点
是它们共同打破了传统的C/S模式,在网络
中每个结点的地位都是对等的。每个结点既
可以接收其他结点所提供的服务,同时也充
当服务器,为其他结点服务。P2P系统的最
大特点是用户之间可以直接共享资源,其核
心技术就是分布式对象的定位机制,这也是
提高网络可扩展性、解决网络带宽被吞噬的
关键所在。迄今为止,P2P网络已经历了三
代不同网络模型,目前正处于第四代模型的
研究当中,各种模型各有优缺点,有的还存
在着本身难以克服的缺陷,因此在目前P2P
技术还远未成熟的阶段,各种网络结构依然
能够共存,甚至呈现相互借鉴的形式。
(一)第一代P2P模型即是集中目录式,
它仍然具有中心化的特点,也被称为非纯粹
P2P网络(如图1)。其用户注册与文件检
索过程类似于传统的C/S模式,区别在于所
有资料并非存储在服务器上,而是存贮在各
个节点中。查询节点根据网络流量和延迟等
信息选择合适的节点建立直接连接,而不必
(图1)
经过中央服
务器进行。这种网络结构非常简单,但是它
显示了P2P系统信息量巨大的优势和吸引
力,同时也说明这种对等网络模型存在很多
问题,主要表现为:
(1)中央服务器的瘫痪容易导致整个网络的
崩馈,可靠性和安全性较低。
(2)随着网络规模的扩大,对中央索引服务器
进行维护和更新的费用将急剧增加,所需成
本过高。
(3)中央服务器的存在引起共享资源在版权
问题上的纠纷,并因此被攻击为非纯粹意义
上的P2P网络模型。对小型网络而言,集中
目录式模型在管理和控制方面占一定优势。
但鉴于其存在的种种缺陷,该模型并不适合
大型网络应用。
(二)第二代P2P模型是纯P2P网络模
型,它取消了集中的中央服务器,每个用户
随机接入网络,并与自己相邻的一组邻居节
点通过端到端连接构成一个逻辑覆盖的网
络(如图2)。对等节点之间的内容查询和内
容共享都是直接通过相邻节点广播接力传
递,同时每个节点还会记录搜索轨迹,以防
止搜索环路的产生。典型的纯P2P网络应用
(图2)
例子Gnutella。
它采用了基于完全随机图的洪泛(Flooding)
发现和随机转发(Random Walker)机制。
为了控制搜索消息的传输,通过TTL (Time
To Live)的减值来实现。
然而随着联网节点的不断增多,网络规
模不断扩大,通过这种洪泛方式定位对等点
的方法将造成网络流量急剧增加,从而导致
网络中部分低带宽节点因网络资源过载而
失效。所以在初期的Gnutella网络中,存在
比较严重的分区,断链现象。也就是说,一
个查询访问只能在网络的很小一部分进行,
因此网络的可扩展性不好。所以,解决
Gnutella网络的可扩展性对该网络的进一步
发展至关重要。目前对此类模型的研究主要
集中于改进发现算法和复制策略以提高发
现的准确率和性能。
(三)第三代P2P模型为混合式P2P模型,
它在纯P2P分布式模型基础上引入了超级节
点的概念,综合了集中式P2P快速查找和纯
P2P去中心化的优势(如图3)。在各个超级
点上存储了系统中其他部分结点的信息,发
现算法仅在超级点之间转发,超级点再将查
询请求转发给适当的叶子结点。混合式结构
(图3)
也是一个层次
式结构,超级点之间构成一个高速转发层,
超级点和所负责的普通结点构成若干层次。
其中搜索节点与其临近的若干普通节点之
间构成一个自治的簇,簇内采用基于集中目
录式的P2P模式,而整个P2P网络中各个不
同的簇之间再通过纯P2P的模式将搜索节点
相连起来,甚至也可以在各个搜索节点之间
再次选取性能最优的节点,或者另外引入一
新的性能最优的节点作为索引节点来保存
整个网络中可以利用的搜索节点信息,并且
负责维护整个网络的结构。Kazza就是一个
典型的案例。
由于普通节点的文件搜索先在本地所
属的簇内进行,只有查询结果不充分的时
候,再通过搜索节点之间进行有限的泛洪。
这样就极为有效地消除纯P2P结构中使用泛
洪算法带来的网络拥塞、搜索迟缓等不利影
响。同时,由于每个簇中的搜索节点监控着
所有普通节点的行为,这也能确保一些恶意
的攻击行为能在网络局部得到控制,并且超
级节点的存在也能在一定程度上提高整个
网络的负载平衡。
然而,由于超级节点本身的脆弱性也可


发布评论