献给对P2P网络感兴趣的朋友们:
Peer-to-Peer 计算综述
罗杰文
luojw@ics.ict.ac
中科院计算技术研究所 2005-4-25
1绪言 (3)
1.1研究的意义 (3)
1.2国内外P2P技术研究现状 (5)
1.3对研究内容有重大影响的几个方面 (12)
1.3.1度数和直径的折衷关系(TRADEOFF)对发现算法的影响 (13)
1.3.2 S MALL WORLD理论对P2P发现技术的影响 (14)
1.3.3语义查询和DHT的矛盾 (14)
1.4 P2P发现技术研究的成果与不足 (15)
2复杂P2P网络拓扑模型 (15)
2.1 I NTERNET拓扑模型 (15)
2.1.1随机网络与拓扑模型 (16)
2.1.2随机网络参数 (16)
2.1.3拓扑模型 (17)
2.2 S MALL W ORLD网络 (20)
3非结构化P2P搜索算法 (21)
3.1 B LIND SEARCH (21)
3.2 I NFORMED S EARCH M ETHODS (22)
3.2.1 C ACHE M ETHOD (22)
3.2.2 M OBILE A GENT BASED M ETHOD (23)
4主要P2P软件模型研究 (23)
4.1 N APSTER (23)
4.2 G NUTELLA (24)
4.3 K A Z AA (26)
1绪言
1.1研究的意义
最近几年,对等计算( Peer-to-Peer,简称P2P) 迅速成为计算机界关注的热门话题之一,财富杂志更将P2P列为影响Internet未来的四项科技之一。
根据被引用比较多的Clay Shirky的定义,P2P技术是在Internet现有资源组织和查形式之外研究新的资源组织与发现方法,P2P技术最大的意义在于不依赖中心结点而依靠网络边缘结点自组织对等协作
的资源发现(Discovery,Lookup)形式。
顾名思义,对等网络打破了传统的Client/Server模式,对等网络中的每个结点的地位都是对等的。每个结点既充当服务器,为其他结点提供服务,同时也享用其他结点提供的服务。P2P技术的特点体现在以下几个方面。
非中心化(Decentralization):网络中的资源和服务分散在所有结点上,信息的传输和服务的实现都直接在结点之间进行,可以无需中间环节和服务器的介入,避免了可能的瓶颈。
可扩展性:在P2P网络中,随着用户的加入,不仅服务的需求增加了,系统整体的资源和服务能力也在同步地扩充,始终能较容易地满足用户的需要。整个体系是全分布的,不存在瓶颈。理论上其可扩展性几乎可以认为是无限的。
健壮性:P2P架构天生具有耐攻击、高容错的优点。由于服务是分散在各个结点之间进行的,部分结点或网络遭到破坏对其它部分的影响很小。P2P网络一般在部分结点失效时能够自动调整整体拓扑,保持其它结点的连通性。P2P网络通常都是以自组织的方式建立起来的,并允许结点自由地加入和离开。P2P网络还能够根据网络带宽、结点数、负载等变化不断地做自适应式的调整。
高性能/价格比:性能优势是P2P被广泛关注的一个重要原因。随着硬件技术的发展,个人计算机的计
peer算和存储能力以及网络带宽等性能依照摩尔定理高速增长。采用P2P架构可以有效地利用互联网中散布的大量普通结点,将计算任务或存储资料分布到所有结点上。利用其中闲置的计算能力或存储空间,达到高性能计算和海量存储的目的。通过利用网络中的大量空闲资源,可以用更低的成本提供更高的计算和存储能力。
与传统的分布式系统相比,P2P技术具有无可比拟的优势。同时,P2P技术具有广阔的应用前景。Internt上各种P2P应用软件层出不穷,用户数量急剧增加。2004年3月来自www.slyck的数据显示,大量P2P软件的用户使用数量分布从几十万、几百万到上千万并且急剧增加,并给Internet带宽带来巨大冲击。
同时,P2P计算技术正不断应用到军事领域,商业领域,政府信息等领域。
在欧洲,爱立信通信公司和SUN公司正在帮助瑞典军事力量实现网络中心战的支撑平台。计划在2005年之前完成瑞典网络中心战操作演示系统。爱立信和SUN在这个系统中使用的一项主要技术是JXTA P2P开发和计算平台,一个SUN倡导的P2P研究项目。JXTA技术是SUN在2001年2月提出的一项新技术,主要用于提供构建P2P虚拟网络所需的基础服务。该技术致力于创建一个通用的平台,以简单而有效的方式构建特定的对等和分布式服务与应用,使得开发者不需要过多考虑如何解决对等计算的技术问题,而可以专注于如何实现与完善可扩展、互操作性。
JXTA对等点、对等组的概念帮助所有使用者构建成一个无缝的虚拟网络;JXTA管道提供一种分布式穿越虚拟网络相互访问的能力;JXTA的安全机制可以提供加密、认证、签名和对设备的授权访问。所有这些概念相对于军事操作而言都是必须的。JXTA首先认识到了军事网络的特点:移动性、自组织性和动态性。利用超级点虚拟网络和无结构的重叠网络(overlay)试图解决这些问题。
为解决互联网结构脆弱、容易受到攻击这一持续性问题,美国国家科学基金会集中了多所著名高等院校的强大科研力量开发实现分散式管理的更加安全可靠的互联网系统。科学家们将这个新的系统称作“弹性互联网系统基础结构”(IRIS),其目标是采用分布式散列表技术(Distribute Hash Table)开发出一个适用于分布式应用软件的通用基础结构。
IRIS是一个新的分布式体系结构,它采用分布式散列表的特性开发下一代大规模分布式应用。DHT最核心的特性就是面对故障、攻击和不可预测的负载时的鲁棒性。它具有良好的可扩展性,很容易地扩大系统的规模而不会导致大量的网络负载;它可以自组织、自动的处理结点的加入和离开,不必手工干预;它提供了一个简单和灵活的API接口简化了分布式应用的开发。
另外还包括Google等搜索引擎公司开展的P2P搜索系统;国内开展的上海城市网格中P2P虚拟协同平台的研究;以及文件共享下载系统;与Web Service
技术融合的协同工作系统、即时通信、即时E-mail等。在无线通信领域,也相应展开了Ad hoc网络和P
2P技术融合的无通信方式应用。
(1)从技术发展趋势来看,P2P计算是一种新兴的技术,具有很多新的特点,并与其他信息技术的发展出现了融合趋势。作为一种新的技术以及带来的新的技术价值应该予以关注。
(2)从应用需求来看,P2P技术应用的不断发展,也带来了新的问题。为了解决这些问题,需要研究P2P技术本身。
(3)从与其他技术的融合角度,P2P技术发展趋势主要包括网络计算技术的演变、网格计算的促进和无线通信的推动三个方面。这些技术的不断发展,不仅为P2P提供了技术基础,促进了P2P技术的出现,也为P2P提供了很好的应用模型。
1.2国内外P2P技术研究现状
目前,P2P技术的主要研究体现在拓扑结构、基于不同拓扑结构的发现算法和基于不同发现算法的应用,体现出研究的层次性。我们从这3个层次进行综述,以期比较全面了解P2P发现技术的研究现状。
1.2.1 P2P网络中的拓扑结构研究
拓扑结构是指分布式系统中各个计算单元之间的物理或逻辑的互联关系,结点之间的拓扑结构一直是
确定系统类型的重要依据。目前互联网络中广泛使用集中式、层次式等拓扑结构,Interne本身是世界上最大的非集中式的互联网络,但是九十年代所建立的一些网络应用系统却是完全的集中式的系统、很多Web应用都是运行在集中式的服务器系统上。集中式拓扑结构系统目前面临着过量存储负载、Dos攻击等一些难以解决的问题。层次式拓扑结构是一种应用比较广泛的分布式拓扑结构,DNS系统是其最典型的应用。
P2P系统一般要构造一个非集中式的拓扑结构,在构造过程中需要解决系统中所包含的大量结点如何命名、组织以及确定结点的加入/离开方式、出错恢复等问题。
根据拓扑结构的关系可以将P2P研究分为4种形式:中心化拓扑(Centralized Topology);全分布式非结构化拓扑(Decentralized Unstructured Topology);全分
布式结构化拓扑(Decentralized Structured Topology)和半分布式拓扑(Partially Decentralized Topology)。
其中,中心化结构最大的优点是维护简单发现效率高。由于资源的发现依赖中心化的目录系统,发现算法灵活高效并能够实现复杂查询。最大的问题与传统客户机/服务器结构类似,容易造成单点故障,访问的“热点”现象和法律等相关问题。
全分布非结构化网络在重叠网络(overlay)采用了随机图的组织方式,结点度数服从“Power law”规律,从而能够较快发现目的结点,面对网络的动态变化体现了较好的容错能力,因此具有较好的可用性。同时可以支持复杂查询,如带有规则表达式的多关键词查询,模糊查询等。
由于没有确定拓扑结构的支持,非结构化网络无法保证资源发现的效率。即使需要查的目的结点存在发现也有可能失败。由于采用TTL(Time-to-Live)广播洪泛、随机漫步或有选择转发算法,因此直径不可控,可扩展性较差。
因此发现的准确性和可扩展性是非结构化网络面临的两个重要问题。目前对此类结构的研究主要集中于改进发现算法和复制策略以提高发现的准确率和性能。
最新的研究成果体现在采用分布式散列表(DHT)的完全分布式结构化拓扑和发现算法。DHT类结构能够自适应结点的动态加入/退出,有着良好的可扩展性、鲁棒性、结点ID分配的均匀性和自组织能力。由于重叠网络采用了确定性拓扑结构,DHT可以提供精确的发现。只要目的结点存在于网络中DHT总能发现它,发现的准确性得到了保证。
DHT类结构最大的问题是DHT的维护机制较为复杂,尤其是结点频繁加入退出造成的网络波动(Churn)会极大增加DHT的维护代价。DHT所面临的另外一个问题是DHT仅支持精确关键词匹配查询,无法支持内容/语义等复杂查询。
半分布式结构吸取了中心化结构和全分布式非结构化拓扑的优点,选择性能较高(处理、存储、带宽等方面性能)的结点作为超级点(SuperNodes, Hubs, UltraPeers, Reflectors, superpeer、Rendezvous),在各个超级点上存储了系统中其他部分结点的信息,发现算法仅在超级点之间转发,超级点再将查询请求转发给适当的叶子结点。半分布式结构也是一个层次式结构,超级点之间构成一个高速
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论