RSS
热门关键字:  数据挖掘  人工智能  数据仓库  搜索引擎  数据挖掘导论
当前位置 :| 首页>编程技术>p2p>

Peer to Peer ( P2P ) 综述

来源: 作者:unkonwn 时间:2004-11-30 点击:

1 绪言

1.1 Peer-To-Peer 介绍 数据挖掘实验室

最近几年,对等计算 数据挖掘研究院

目前,在学术界、工业界对于P2P没有一个统一的定义,下面列举几个常用的定义供参考:

定义:1、Peer-to-peer is a type of Internet network allowing a group of computer users with the same networking program to connect with each other for the purposes of directly accessing files from one another′s hard drives.

2、Peer-to-peer networking (P2P) is an application that runs on a personal computer and shares files with other users across the Internet. P2P networks work by connecting individual computers together to share files instead of having to go through a central server.

数据挖掘研究院

3、P2P是一种分布式网络,网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源需要由网络提供服务和内容,能被其它对等节点(Peer)直接访问而无需经过中间实体。在此网络中的参与者既是资源(服务和内容)提供者(Server),又是资源(服务和内容)获取者(Client)。 数据挖掘研究院

虽然上述定义稍有不同共同点都是P2P打破了传统的Client/Server (C/S)模式,在网络中的每个结点的地位都是对等的。每个结点既充当服务器,为其他结点提供服务,同时也享用其他结点提供的服务。P2P与C/S模式的对比如下图所示:

数据挖掘研究院

Client/Server模式 Peer to Peer 模式

P2P技术的特点体现在以下几个方面。Decentralization):网络中的资源和服务分散在所有结点上,信息的传输和服务的实现都直接在结点之间进行,可以无需中间环节和服务器的介入,避免了可能的瓶颈。P2P的非中心化基本特点,带来了其在可扩展性、健壮性等方面的优势 P2P网络中,随着用户的加入,不仅服务的需求增加了,系统整体的资源和服务能力也在同步地扩充,始终能较容易地满足用户的需要。整个体系是全分布的,不存在瓶颈。理论上其可扩展性几乎可以认为是无限的。 P2P架构天生具有耐攻击、高容错的优点。由于服务是分散在各个结点之间进行的,部分结点或网络遭到破坏对其它部分的影响很小。P2P网络一般在部分结点失效时能够自动调整整体拓扑,保持其它结点的连通性。P2P网络通常都是以自组织的方式建立起来的,并允许结点自由地加入和离开。P2P网络还能够根据网络带宽、结点数、负载等变化不断地做自适应式的调整。 /价格比:性能优势是P2P被广泛关注的一个重要原因。随着硬件技术的发展,个人计算机的计算和存储能力以及网络带宽等性能依照摩尔定理高速增长。采用P2P架构可以有效地利用互联网中散布的大量普通结点,将计算任务或存储资料分布到所有结点上。利用其中闲置的计算能力或存储空间,达到高性能计算和海量存储的目的。通过利用网络中的大量空闲资源,可以用更低的成本提供更高的计算和存储能力。

数据挖掘研究院

  • 非中心化

  • 可扩展性:在 数据挖掘研究院

  • 健壮性 数据挖掘实验室

  • 高性能 数据挖掘研究院

  • 隐私保护: 在P2P网络中,由于信息的传输分散在各节点之间进行而无需经过某个集中环节,用户的隐私信息被窃听和泄漏的可能性大大缩小。此外,目前解决Internet隐私问题主要采用中继转发的技术方法,从而将通信的参与者隐藏在众多的网络实体之中。在传统的一些匿名通信系统中,实现这一机制依赖于某些中继服务器节点。而在P2P中,所有参与者都可以提供中继转发的功能,因而大大提高了匿名通讯的灵活性和可靠性,能够为用户提供更好的隐私保护。 数据挖掘研究院

  • 负载均衡: P2P 网络环境下由于每个节点既是服务器又是客户机,减少了对传统C/S结构服务器计算能力、存储能力的要求,同时因为资源分布在多个节点,更好的实现了整个网络的负载均衡。 P2P技术具有无可比拟的优势。同时,P2P技术具有广阔的应用前景。Internt上各种P2P应用软件层出不穷,用户数量急剧增加。20043月来自www.slyck.com的数据显示,大量P2P软件的用户使用数量分布从几十万、几百万到上千万并且急剧增加,并给Internet带宽带来巨大冲击。P2P计算技术正不断应用到军事领域,商业领域,政府信息,通讯等领域。 数据挖掘研究院

与传统的分布式系统相比,

数据挖掘研究院

根据具体应用不同,可以把P2P分为以下这些类型: 数据挖掘研究院

1.2国内外P2P技术研究现状

数据挖掘研究院

1.2.1 P2P网络中的拓扑结构研究 数据挖掘研究院

拓扑结构是指分布式系统中各个计算单元之间的物理或逻辑的互联关系,结点之间的拓扑结构一直是确定系统类型的重要依据。目前互联网络中广泛使用集中式、层次式等拓扑结构, 数据挖掘研究院

P2P系统一般要构造一个非集中式的拓扑结构,在构造过程中需要解决系统中所包含的大量结点如何命名、组织以及确定结点的加入/离开方式、出错恢复等问题。P2P研究分为4种形式:中心化拓扑Centralized Topology);全分布式非结构化拓扑Decentralized Unstructured Topology);全分布式结构化拓扑Decentralized Structured Topology,也称作DHT网络)和半分布式拓扑Partially Decentralized Topology)。/服务器结构类似,容易造成单点故障,访问的“热点”现象和法律等相关问题,这是第一代P2P网络采用的结构模式,经典案例就是著名的MP3共享软件Napster 数据挖掘实验室

根据拓扑结构的关系可以将

其中,中心化拓扑最大的优点是维护简单发现效率高。由于资源的发现依赖中心化的目录系统,发现算法灵活高效并能够实现复杂查询。最大的问题与传统客户机

数据挖掘研究院

Napster是最早出现的P2P系统之一,并在短期内迅速成长起来。Napster实质上并非是纯粹的P2P系统,它通过一个中央服务器保存所有Napster用户上传的音乐文件索引和存放位置的信息。当某个用户需要某个音乐文件时,首先连接到Napster服务器,在服务器进行检索,并由服务器返回存有该文件的用户信息;再由请求者直接连到文件的所有者传输文件。

Napster首先实现了文件查询与文件传输的分离,有效地节省了中央服务器的带宽消耗,减少了系统的文件传输延时。这种方式最大的隐患在中央服务器上,如果该服务器失效,整个系统都会瘫痪。当用户数量增加到105或者更高时,Napster的系统性能会大大下降。另一个问题在于安全性上,Napster并没有提供有效的安全机制。

数据挖掘研究院

在Napster模型中,一群高性能的中央服务器保存着网络中所有活动对等计算机共享资源的目录信息。当需要查询某个文件时,对等机会向一台中央服务器发出文件查询请求。中央服务器进行相应的检索和查询后,会返回符合查询要求的对等机地址信息列表。查询发起对等机接收到应答后,会根据网络流量和延迟等信息进行选择,和合适的对等机建立连接,并开始文件传输。Napster的工作原理如图1所示。 数据挖掘研究院

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

(1)中央服务器的瘫痪容易导致整个网络的崩馈,可靠性和安全性较低。

数据挖掘实验室

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

(3)中央服务器的存在引起共享资源在版权问题上的纠纷,并因此被攻击为非纯粹意义上的P2P网络模型。对小型网络而言,集中目录式模型在管理和控制方面占一定优势。但鉴于其存在的种种缺陷,该模型并不适合大型网络应用。

Napster结构

Napster界面

全分布非结构化网络在重叠网络( 数据挖掘研究院

Gnutella是一个P2P文件共享系统,它和Napster最大的区别在于Gnutella是纯粹的P2P系统,没有索引服务器,它采用了基于完全随机图的洪泛(Flooding)发现和随机转发(Random Walker)机制。为了控制搜索消息的传输,通过TTL (Time To Live)的减值来实现。具体协议参照[Gnutella协议中文版

在Gnutella分布式对等网络模型N中,每一个联网计算机在功能上都是对等的,既是客户机同时又是服务器,所以被称为对等机(Servent,Server+Client的组合)。

数据挖掘实验室

随着联网节点的不断增多,网络规模不断扩大,通过这种洪泛方式定位对等点的方法将造成网络流量急剧增加,从而导致网络中部分低带宽节点因网络资源过载而失效。所以在初期的Gnutella网络中,存在比较严重的分区,断链现象。也就是说,一个查询访问只能在网络的很小一部分进行,因此网络的可扩展性不好。所以,解决Gnutella网络的可扩展性对该网络的进一步发展至关重要。 数据挖掘研究院

由于没有确定拓扑结构的支持,非结构化网络无法保证资源发现的效率。即使需要查找的目的结点存在发现也有可能失败。由于采用 数据挖掘研究院

因此发现的准确性和可扩展性是非结构化网络面临的两个重要问题。目前对此类结构的研究主要集中于改进发现算法和复制策略以提高发现的准确率和性能。 数据挖掘研究院

数据挖掘实验室

最初的Gnutella采用的Flooding搜索算法示意图

采用第二代Gnutella协议最经典的软件-Bearshare 数据挖掘研究院

由于非结构化网络将重叠网络认为是一个完全随机图,结点之间的链路没有遵循某些预先定义的拓扑来构建。这些系统一般不提供性能保证,但容错性好,支持复杂的查询,并受结点频繁加入和退出系统的影响小。但是查询的结果可能不完全,查询速度较慢,采用广播查询的系统对网络带宽的消耗非常大,并由此带来可扩展性差等问题。 数据挖掘研究院

另外,由于非结构化系统中的随机搜索造成的不可扩展性,大量的研究集中在如何构造一个高度结构化的系统。目前研究的重点放在了如何有效地查找信息上,最新的成果都是基于DHT的分布式发现和路由算法。这些算法都避免了类似Napster的中央服务器,也不是像Gnutella那样基于广播进行查找,而是通过分布式散列函数,将输入的关键字惟一映射到某个结点上,然后通过某些路由算法同该结点建立连接。 数据挖掘研究院

最新的研究成果体现在采用分布式散列表( 数据挖掘实验室

分布式散列表(DHT)实际上是一个由广域范围大量结点共同维护的巨大散列表。散列表被分割成不连续的块,每个结点被分配给一个属于自己的散列块,并成为这个散列块的管理者。 数据挖掘实验室

分布式散列表起源于 数据挖掘研究院

最近的研究集中在采用新的拓扑图构建重叠路由网络,以减少路由表容量和路由延时。这些新的拓扑关系的基本原理是在

DHT的结点既是动态的结点数量也是巨大的,因此非中心化和原子自组织成为两个设计的重要目标。通过加密散列函数,一个对象的名字或关键词被映射为128位或160位的散列值。一个采用DHT的系统内所有结点被映射到一个空间,如果散列函数映射一个位的名字到一个散列值,则有SDDSScalable Distribute Data Structures)[a]研究,Gribble等实现了一个高度可扩展,容错的SDDS集群。DHT表一维空间的基础上引入更多的拓扑结构图来反映底层网络的结构。

DHT类结构能够自适应结点的动态加入/退出,有着良好的可扩展性、鲁棒性、结点ID分配的均匀性和自组织能力。由于重叠网络采用了确定性拓扑结构,DHT可以提供精确的发现。只要目的结点存在于网络中DHT总能发现它,发现的准确性得到了保证,最经典的案例是Tapestry,Chord,CAN,Pastry 数据挖掘研究院

Tapestry提供了一个分布式容错查找和路由基础平台,在此平台基础之上,可以开发各种P2P应用(OceanStore即是此平台上的一个应用) Tapestry的思想来源于Plaxton。在Plaxton中,结点使用自己所知道的邻近结点表,按照目的ID来逐步传递消息。Tapestry基于Plaxtion的思想,加入了容错机制,从而可适应P2P的动态变化的特点。OceanStore是以Tapestry为路由和查找基础设施的P2P平台。它是一个适合于全球数据存储的P2P应用系统。任何用户均可以加入OceanStore系统,或者共享自己的存储空间,或者使用该系统中的资源。通过使用复制和缓存技术,OceanStore可提高查找的效率。最近,Tapstry为适应P2P网络的动态特性,作了很多改进,增加了额外的机制实现了网络的软状态(soft state),并提供了自组织、鲁棒性、可扩展性和动态适应性,当网络高负载且有失效结点时候性能有限降低,消除了对全局信息的依赖、根结点易失效和弹性(resilience)差的问题。

Pastry是微软研究院提出的可扩展的分布式对象定位和路由协议,可用于构建大规模的P2P系统。在Pastry中,每个结点分配一个128位的结点标识符号(nodeID) ,所有的结点标识符形成了一个环形的nodeID空间,范围从02128 - 1 ,结点加入系统时通过散列结点IP地址在128nodeID空间中随机分配。MIT,开展了多个与P2P相关的研究项目:ChordGRIDRONChord项目的目标是提供一个适合于P2P环境的分布式资源发现服务,它通过使用DHT技术使得发现指定对象只需要维护O(logN)长度的路由表。DHT技术中,网络结点按照一定的方式分配一个唯一结点标识符(Node ID) ,资源对象通过散列运算产生一个唯一的资源标识符(Object ID) ,且该资源将存储在结点ID与之相等或者相近的结点上。需要查找该资源时,采用同样的方法可定位到存储该资源的结点。因此,Chord的主要贡献是提出了一个分布式查找协议,该协议可将指定的关键字(Key) 映射到对应的结点(Node) 。从算法来看,Chord是相容散列算法的变体。MITGRIDRON项目则提出了在分布式广域网中实施查找资源的系统框架。

AT&T ACIRI中心的CAN(Content Addressable Networks) 项目独特之处在于采用多维的标识符空间来实现分布式散列算法。CAN将所有结点映射到一个n维的笛卡尔空间中,并为每个结点尽可能均匀的分配一块区域。CAN采用的散列函数通过对(key, value) 对中的key进行散列运算,得到笛卡尔空间中的一个点,并将(key, value) 对存储在拥有该点所在区域的结点内。CAN采用的路由算法相当直接和简单,知道目标点的坐标后,就将请求传给当前结点四邻中坐标最接近目标点的结点。CAN是一个具有良好可扩展性的系统,给定N个结点,系统维数为d,则路由路径长度为O(n1/d) ,每结点维护的路由表信息和网络规模无关为O(d)

DHT类结构最大的问题DHT的维护机制较为复杂,尤其是结点频繁加入退出造成的网络波动(Churn)会极大增加DHT的维护代价。DHT所面临的另外一个问题是DHT仅支持精确关键词匹配查询,无法支持内容/语义等复杂查询。

数据挖掘研究院

Chord的Identifier Circle

数据挖掘研究院

Pastry的消息路由 数据挖掘研究院

半分布式结构(有的文献称作 Hybrid Structure)吸取了中心化结构和全分布式非结构化拓扑的优点,选择性能较高(处理、存储、带宽等方面性能)的结点作为超级点(

KaZaa是现在全世界流行的几款p2p软件之一。根据CA公司统计,全球KaZaa的下载量超过2.5亿次。使用KaZaa软件进行文件传输消耗了互联网40%的带宽。之所以它如此的成功,是因为它结合了NapsterGnutella共同的优点。从结构 上来说,它使用了Gnutella的全分布式的结构,这样可以是系统更好的扩展,因为它无需中央索引服务器存储文件名,它是自动的把性能好的机器成为SuperNode,它存储着离它最近的叶子节点的文件信息,这些SuperNode,再连通起来形成一个Overlay Network. 由于SuperNode的索引功能,使搜索效率大大提高。

数据挖掘研究院

半分布式结构(含有SuperNode) 数据挖掘研究院

kaZaa界面 数据挖掘实验室

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

数据挖掘实验室

比较了4种结构的综合性能,比较结果如表1-1所示。14种结构的性能比较

 

数据挖掘研究院

比较标准/拓扑结构 数据挖掘研究院

中心化拓扑 数据挖掘实验室

全分布式非结构化拓扑

数据挖掘研究院

全分布式结构化拓扑 数据挖掘研究院

半分布式拓扑 数据挖掘研究院

可扩展性 数据挖掘研究院

数据挖掘研究院

可靠性

数据挖掘研究院

数据挖掘研究院

数据挖掘研究院

数据挖掘实验室

可维护性

最好 数据挖掘研究院

最好 数据挖掘研究院

数据挖掘研究院

数据挖掘研究院

发现算法效率 数据挖掘研究院

最高 数据挖掘研究院

数据挖掘研究院

复杂查询 数据挖掘研究院

支持 数据挖掘研究院

支持

数据挖掘实验室

不支持 数据挖掘研究院

支持 数据挖掘研究院

 

数据挖掘实验室

1.2.2 国内的P2P研究现状

数据挖掘研究院

学术机构研发

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

   Granary是清华大学自主开发的对等计算存储服务系统。它以对象格式存储数据。另外,Granary设计了专门的结点信息收集算法PeerWindow的结构化覆盖网络路由协议Tourist。 数据挖掘研究院

   AnySee是华中科大设计研发的视频直播系统。它采用了一对多的服务模式,支持部分NAT和防火墙的穿越,提高了视频直播系统的可扩展性;同时,它利用近播原则、分域调度的思想,使用Landmark路标算法直接建树的方式构建应用层上的组播树,克服了ESM等一对多模式系统由联接图的构造和维护带来的负载影响。 

  更详细介绍见[中国计算机学会通讯 Page 38-51 郑纬民等 对等计算研究概论]

数据挖掘实验室

企业研发产品

    POCO 是中国最大的 P2P用户分享平台 , 是有安全、流量控制力的,无中心服务器的第三代 P2P 资源交换平台 , 也是世界范围内少有的盈利的 P2P 平台。目前已经形成了 2600 万海量用户,平均在线 58.5 万,在线峰值突破 71 万,并且全部是宽带用户的用户群。 成为中国地区第一的 P2P 分享平台。[a] 数据挖掘研究院

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

数据挖掘研究院

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

   其他商业软件这里不一一列举,请访问P2P门户网站 http://www.ppcn.net/
数据挖掘研究院

1.2.3 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/ VisPastryRice大学也在Pastry的基础之上发布了FreePastry软件包。20008月,Intel公司宣布成立P2P工作组,正式开展P2P的研究。工作组成立以后,积极与应用开发商合作,开发P2P应用平台。2002Intel发布了. 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分布式存储系统是一个用于对等网络的数据存储系统,它可以提供高效率的、鲁棒的和负载平衡的文件存取功能。这些研究包括:OceanStoreFarsite等。其中,基于超级点结构的半分布式P2P应用如KazzaEdonkeyMorpheusBittorrent等也是属于分布式存储的范畴,并且用户数量急剧增加。

计算能力的共享 数据挖掘研究院

加入对等网络的结点除了可以共享存储能力之外,还可以共享

P2P 数据挖掘研究院

应用层组播。

应用层组播,就是在应用层实现组播功能而不需要网络层的支持。这样就可以避免出现由于网络层迟迟不能部署对组播的支持而使组播应用难以进行的情况。应用层组播需要在参加的应用结点之间实现一个可扩展的,支持容错能力的重叠网络,而基于 数据挖掘实验室

Internet

数据挖掘研究院

间接访问基础结构(Internet Indirection Infrastructure)。

为了使

数据挖掘研究院

P2P技术从出现到各个领域的应用展开,仅用了几年的时间。从而证明了P2P技术具有非常广阔的应用前景。

数据挖掘研究院

 

1.3 对研究内容有重大影响的几个方面

  随着

P2P应用的蓬勃发展,作为P2P应用中核心问题的发现技术除了遵循技术本身的逻辑以外,也受到某些技术的发展趋势、需求趋势的深刻影响。 

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
匿名?