您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 基于P2P资源服务的调研文档
常用P2P工具的资源服务管理模式--P2P对等网络路由模型及关键技术分析1引言P2P架构是一种资源分布运用和共享的体系架构,与网络中占据主导地位的客户端/服务器(C/S)体系架构相对应。P2P则泛指闲散资源的组织。在P2P网络模式中,每个节点的地位都是对等的,整个网络一般不依赖于专用集中的服务器。每个节点同时承担服务器和客户端两个角色,既提供资源和服务,也享用其他节点的资源和服务。通常这些资源和服务包括:信息的共享与交换、存储资源、硬盘空间和计算资源等的共享运用。2主流P2P网络模型分析2.1集中目录式P2P模型集中目录式P2P结构是最早的P2P运用模式,因其仍具有中心化的特点也被称为非纯粹的P2P结构,Napster是这种模型的典型代表,如图l所示。集中目录式模型,是由一个中心服务器来负责记录共享信息以及反馈对这些信息的查询,每一个对等实体要对它所需共享的信息以及执行的通信负责。当某节点希望搜索一个不知道位置的资源时,该节点向目录服务器发送请求,目录服务器在数据库中查询到匹配的资源后将其定位信息返回该节点,然后在两个节点之间执行交互。与传统的客户朋艮务器模式不同,这种模式中客户所须要的资料并非存储在服务器上,而是存贮在P2P网络内的各个节点中,当查询节点收到节点地址信息列表后,会根据网络流量和延迟等信息选择合适的节点建立直接连接,其文件传递并不经过中央目录服务器,而是直接在节点之间通过TCP协议执行。此外服务器与对等实体以及对等实体之间都互有交互能力。集中目录式P2P首先实现了文件查询与文件传输的分离,有效地节约了中央服务器的带宽消耗,减少了系统的文件传输延时。但中央目录服务器却成为脆弱的瓶颈,如果该服务器失效,整个系统都会瘫痪。而且,不同等级的用户连接速度也会使系统性能大大降低。在Napster之后的P2P系统,都在这一点上执行重点改良,系统基本上都采用无中心结构,准确性和可扩展性都得到极大提高。2.2分布式P2P模型分布式P2P网络采用随机图的组织方式,运用TTL(Time-to-Live),洪泛(Flooding),随机漫步或有选择转发等方式搜索网络资源。当节点度数服从幂率(power—law)规律时,该方式能够较快发觉目标结点,而且面对网络的动态变化体现了较好的容错能力。代表性网络是Gnutella,如图2所示。在分布式P2P模式下,所有节点都参与服务,控制流和数据流都在对等节点之间交互,处理了中心化的疑问,防止服务器瓶颈,部分节点出疑问也不会影响整个网络的运行,搜索结果更新比较及时,时效性高;但是,采用flooding方式传播搜索请求,造成网络额外开销比较大,随着P2P网络规模的逐渐扩大,网络开销成指数级上升。因此准确性和可扩展性是非结构化网络面临的两个主要疑问。2.3结构化P2P模型结构化P2P模式是一种采用纯分布式的消息传递机制和根据关键字(KEY)的定位服务,从根本上改动了P2P网络无结构的状态。其中主流的要领就是采用分布式哈希表(DistributedHashTable,DHT)技能,是目前扩展性最好的P2P路由方式之一。DHT首先为网络中的每一个节点分配虚拟地址(VID),同时用一个关键字(KEY)表示其可提供的共享内容。通过一个特定的哈希函数(一般运用的是安全哈希函数,如SHA一1等)将文件名(KEY)与节点信息(VID)运算为一个哈希值H(KEY,VID),当网络上其它节点执行资源定位的时候,可以容易地根据H(Key)值获得文档的精确存储位置。由于DHT各节点并不须要维护整个网络的信息,只在节点中存储其临近的后继节点信息,因此较少的路由信息可有效地实现到目标节点,同时又取消了洪泛算法,该模型有效地减少了节点信息的发送数量,增强了P2P网络的扩展性。同时,出于冗余度及延时的考虑,大部分DHT总是在节点的虚拟标识与关键字最接近的K个节点上备份冗余信息,防止了单一节点失效的疑问。基于DHT的路由方式是P2P系统研究的主流之一。所涉及的系统一般都假定节点的能力相当,这对于较小规模的系统非常有效,但这种假设并不适合大规模的Intemet部署。目前,成功运用也比较少见。2.4混合式P2P模型混合式P2P网络结合了集中式结构和分布式拓扑的优点,网络中存在着中间服务器,文件目录是分布的。在分布式模式的基础上引入了超级节点(SuperNode)概念,将用户节点按能力(处理、存储、带宽等方面性能)分为搜索节点和普通节点两类.搜索节点与其临近的若干普通节点之间构成一个自治的簇(Cluster),簇内采用基于集中目录式的P2P模式,而整个P2P网络中存在着众多这样的簇,各个不同的簇之间再通过分布式P2P模式将搜索节点相连起来,甚至可在各个搜索节点之间,再次选取性能最优的节点或者另外引入一新的性能最优的节点作为索引节点,来保存整个网络中可以运用的搜索节点信息,并且负责维护整个网络的结构。混合式P2P模型消除了分布式P2P结构中运用Flooding算法带来的网络拥塞、搜索迟缓等不利影响,吸收了集中式拓扑的易管理性与分布式拓扑的可扩展性,在异构的P2P网络环境下是一种较好的模式选择。其中最典型的案例就是Fastrack,如图3所示。从上述分析知,这4种结构各具优缺点,有的还存在着本身难以克服的缺陷,在目前P2P技能还未到成熟的阶段,这4种结构依然会共存,甚至出现相互借鉴结合的趋势。3P2P资源发现与定位目前P2P技术已在文件交换,分布式计算,搜索,信息共享,协同工作,即时通信,网络游戏等等方面得到了广泛的应用,还有一些公司在开发基于P2P的平台。但是,无论是通信、P2P协作、分布式搜索引擎还是共享计算和交互式游戏等功能的实现,都只能以很好解决网内资源的迅速准确定位问题为前提。所以,P2P网络中资源发现是及其重要的。目前,资源的定位一般采用的是“地址查询”的方法,即:每个资源有一个全局唯一标识符OID和一个包含其所在地址的指针P,系统将OID,P保存起来,当用户需要访问该资源时,根据OID来查询P,从而进行定位。定位机制有不同的实现方法。按照实现系统的体系结构,主要可以分为两类:集中目录式、泛洪请求式2.1集中目录式在集中目录式(CentralIndexServer)中,有一个类似于服务器的节点集中提供资源索引信息。当用户共享资源时,需将资源的OID,P向索引服务器进行资源注册,索引服务器中保存着系统中所有资源的标识符和指针列表。当用户需要查找资源时,首先通过资源标识符查询索引服务器,服务器返回该资源的指针,用户通过该指针定位。当定位到资源的存储位置后,资源的下载在节点之间直接进行,与索引服务器没有关系。集中式的优点是:简单、容易实现。大多数的分布式系统采用的都是这种方法,例如:三种分布式对象计算环境(CORBA,DCOM,JAVARMI)提供的分布对象名字服务、大量的通用目录服务(如X.500、LDAP和NIS)和一些实用分布式系统(如Napster)的资源定位方法等。集中式的缺点很明显:类似于C/S模式,缺乏可扩展性和存在单点故障问题。图1集中目录式图2泛洪请求式图3分布式Hash式2.2泛洪请求式与集中目录式不同,泛洪请求式(FloodingRequest)没有中央目录服务器,用户的请求通过所有连接的节点传递,这些节点或者响应该请求,或者在不能满足请求时,将该请求向与自己相连的其他节点广播,直到请求得到响应为止(泛洪)。为了减少广播带来的网络带宽浪费,一般将广播传递限制在7~8跳以内,即如果请求在经过有限的循环广播之后,仍不能得到响应,则发送请求的节点将得到一个错误信息。Gnutella是泛洪的经典之作,Gnutella协议设置了三种机制来控制消息数量的指数增长。机制一:消息生存时间(Time-to-Live简称TTL)消息生存时间主要是控制消息在网络中传播时能够生存的时间,是消息头中的一个字段,在消息生成时被赋予一个初始值。当消息被发送出去,其它主机结点接收到该消息时,首先将该消息的TTL值减1,如果为零,则将该消息丢弃掉。否则,发给它的邻居结点。TTL值越大,消息能传播的距离就越远,反之,就越近。
本文标题:基于P2P资源服务的调研文档
链接地址:https://www.777doc.com/doc-1590040 .html