微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > P2P对等网络路由模型及关键技术分析

P2P对等网络路由模型及关键技术分析

时间:06-30 来源:国外电子元器件 点击:
1 引言

P2P是近年来互联网最热门的技术,在VOIP、下载、流媒体、协调计算等领域得到飞速发展。P2P是Peer to Peer的缩写,即为对等计算或对等网络,可以简单的定义成通过直接交换,共享计算机资源和服务。P2P架构是一种资源分布利用和共享的体系架构,与网络中占据主导地位的客户端/服务器(C/S)体系架构相对应。在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网络无结构的状态。其中主流的方法就是采用分布式哈希表(Distributed Hash Table,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网络结合了集中式结构和分布式拓扑的优点,网络中存在着中间服务器,文件目录是分布的。在分布式模式的基础上引入了超级节点(Super Node)概念,将用户节点按能力(处理、存储、带宽等方面性能)分为搜索节点和普通节点两类.搜索节点与其临近的若干普通节点之间构成一个自治的簇(Cluster),簇内采用基于集中目录式的P2P模式,而整个P2P网络中存在着众多这样的簇,各个不同的簇之间再通过分布式P2P模式将搜索节点相连起来,甚至可在各个搜索节点之间,再次选取性能最优的节点或者另外引入一新的性能最优的节点作为索引节点,来保存整个网络中可以利用的搜索节点信息,并且负责维护整个网络的结构。混合式P2P模型消除了分布式P2P结构中使用Flooding算法带来的网络拥塞、搜索迟缓等不利影响,吸收了集中式拓扑的易管理性与分布式拓扑的可扩展性,在异构的P2P网络环境下是一种较好的模式选择。其中最典型的案例就是Fastrack,如图3所示。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top