常用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网络结合了集中式结构和分布式拓扑的优点,网络中存在着中间服务器,文件目录是分布的。在分布式模式的基础上引入了超...