p2p网络结构模型探析

上传人:cc****pp 文档编号:209921696 上传时间:2021-11-12 格式:DOC 页数:3 大小:66.50KB
返回 下载 相关 举报
p2p网络结构模型探析_第1页
第1页 / 共3页
p2p网络结构模型探析_第2页
第2页 / 共3页
p2p网络结构模型探析_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《p2p网络结构模型探析》由会员分享,可在线阅读,更多相关《p2p网络结构模型探析(3页珍藏版)》请在金锄头文库上搜索。

1、P2P网络结构模型探析摘要:对等网络流媒体技术(P2P)可以利用客户端的计算机能力和带宽资源,使用户实现 下载的同时播放流媒体节目,并能利用自身的计算机空闲资源为其它用八提供服务。本文对 P2P网络架构进行探讨和研究。关键词:P2P;流媒体技术;网络架构、引言P2P网络是在1P网络基础之上,通过应用软件构筑起來的一个逻辑覆盖网(Logical Overlay Network)拼不是独立于现行的IP网络Z外的什么特殊网络。在实际物理网络中安装 有某种P2P软件的节点可以构成一个逻辑覆盖网络,而没有安装这种P2P软件的节点则被排 除在外。P2P网络架构,又称为P2P网络模型,是指P2P网络中节点的

2、逻辑组织结构,即节点互联 的拓扑结构和节点在与相邻节点保持连接时的行为规范,一般用一个连通的图來表示。但P2P 网络的连接图与物理网络的拓扑连接图不同,在覆盖网中相邻的节点可能在实际物理网络中 位于不同的子网中,中间相隔多个路山器,而在覆盖网中不相邻的节点在实际物理网络中却可 能是直接相连的。P2P网络模型主要分为结构化和非结构化两类,结构化P2P系统是指系统 中的数据存放的位置和数据的Key值有关,而非结构化P2P系统中,数据的存放位置与数据是 无关的。二、非结构化P2P网络模型非结构化P2P网络模型按节点的集中化程度又分:(1) 集中式P2P网络模型以Napster为代表的集中式P2P网络

3、架构是最早出现的P2P应用模式,由于仍具有 服务器,没有完全去除服务器的性质,所以乂被称为非纯粹的P2P网络。在Naps血系统中,资 源的检索过程类似于传统的C/S模式,即所冇节点向中央服务器查询资源,但与传统的C/S模 式不同的是,资源并非存储在服务器上,而是存储在各个节点中。从服务器的返I川结果中,杳询 节点根据网络流量和延迟等倍息选择合适的节点建立直接连接,进行数据传输,数据传输不需 要经过中央服务器。这种网络架构的资源搜索效率较高,但其主耍缺点是中央服务器是系统 的单故障点,如果服务器出现故障,则整个系统就会瘫痪,所有节点都没法查询到所需的 资源。(2) 纯P2P网络模型纯P2P网络架

4、构以Gnutella为代Gnutella系统完全取消了服务器的概念,是第一个真正采用无中心结构的P2P文件共亨系统。拓扑维护:Gnutella中每个节点维护了一个邻居节点列表,记录了与之和关联的结点的 IP地址等信息。相邻节点Z间彼此交换邻居节点信息來保持拓扑图的连通性,并替换因节点 离线而失效的连接。节点定期向邻居节点发送PING消息,收到PING消息的节点则回应一个 PONG消息,并附带了当前所拥冇的邻居信息。收到邻居列表后节点按照一定规则进行邻居 替换,保证自身拥有一定数量的有效邻居。当新的节点加入系统时(它需要知道系统中至少一 个节点的IP地址),它向系统己有的节点发送PING消息来获

5、得足够的邻居节点,从而加入系 统。信息搜索:Gnutella使用洪泛式(flooding)的资源查询机制。发起资源查询的节点向所冇邻 居节点发送QUERY消息,而收到QUERY消息的节点除了进行本地查询,即看口己有没有所 查询资源外,还把查询进一步转发给自己的所有邻居节点。这些节点收到这一消息后,重复进 行同样的操作,即进行本地查询和消息广播。为避免无穷递归,每个搜索消息都有一个 TTL(Time-to-Live)域,它随着转发的进行而递减,TTL为0时消息不再被转发。另外节点对近 期接收到的消息进行缓存,以避免重复处理同样的消息。搜索操作结束后,发起搜索的节点会 收到一些查询结果,记录了满足

6、条件的文件及其存放的节点IP,节点对从中选择一些节点来下 载所需文件。Gnutella具有较好的扩展性,也不存在单故障点,但其杏询机制效率较低,而且也 不能保证搜索到所需的、确实存在的资源,同时每次杳询都要产住人量的转发消息,容易形成 消息泛滥,增加了网络的负担。(3) 混合式网络模型KaZaA是混合式P2P模型的典型代表,它在纯P2P分布式模型基础上引入了超级节点 的概念,综合了集中式P2P快速查找和纯P2P去中心化的优势。KaZaA模型将节点按能力不 同(计算能力、内存人小、连接带宽、在线时间等)区分为普通节点和超级节点两类。当一个 普通节点启动KaZaA程序时,它首先与某一超级节点建立T

7、CP连接,然后向这个超级节点发 送它所拥有的文件的元数据,元数据包括:文件名,文件大小,文件内容的哈希值(Hash value),以 及其它信息(在按关键字查询时将川到这些信息)。文件内容哈希值是一个文件的唯一标识, 在某文件的卜载任务失败后,KaZaA客户端可以根据此文件内容的哈希值自动搜索哈希值相 同的文件。超级节点维护着所有隶属于它的普通节点的文件标识和对应的1P地址等信息,有点类 似于Naps血中的中央服务器。超级节点与其所属的若干个普通节点构成一个口治的簇。而 整个P2P网络中各个不同的簇之间再通过纯P2P的模式将超级节点连接起来,其至也可以在 各个节点Z间再次选取性能最优的节点,或

8、者另外引入一个新的性能最优的节点作为索引节 点来保存和维护整个网络中可以利用的超级节点信息,并且负责维护整个网络的结构。普通节点的文件搜索先在本地所属的簇内进行:普通节点向所属的超级节点发送查询 关键字,超级节点收到查询请求后,在本地冃录数据库中查找相关文件,若成功找到,则返111T文 件的元数据,包括文件所在节点的IP地址。貝有杏询结果不充分的时候,才在超级节点之间进 行有限的洪泛查询;超级节点向与其有连接关系的其他超级节点广播这个查询消息。收到这 个消息的超级节点做本地数据库查询,如果能找到,则向提交请求的普通节点返回查询结果, 否则,继续广播查询消息。KaZaA的这种混合式网络架构,可有

9、效地消除P2P结构中使川洪泛算法带來的网络拥 塞,也提高了资源搜索效率,并且超级节点的引入也能在一定程度上提高整个网络的负载平 衡。三、结构化P2P网络模型结构化(structured)P2P网络模型与非结构化P2P网络模型的根本区别在于每个节点所 维护的邻居是否能够按照某种全局方式组织起来,以利于快速查找。结构化P2P模式采用纯 分布式的消息传递机制,及根据关键字进行杏找的定位服务。目前的主流方法是采用分布式 哈希表(Distributed Hash Table,DHT)这种资源定位技术:首先将网络中的每一个节点分配虚拟 地址(VID),同吋用一个关键字(KEY)来表示其可提供的共享内容。取

10、一个哈希函数,这个函数 可以将KEY转换成一个哈希值H(KEY)。网络中节点相邻的定义是哈希值相邻。发布信息 的时候就把(KEY,VID)二元组发布到具有和H(KEY)相近地址的节点上去,其中VID指出了 文档的存储位置。资源定位的时候,就可以快速根据H(KEY)到和近的节点上获取二元组 (KEY,VID),从而获得文档的存储位置。不同的DHT算法决定了不同的P2P网络的逻辑拓扑,有的结构化P2P网络具有环形拓 扑结构,有的具有网状拓扑结构,而冇的是采用多维向量空间。Chord:Chord采用了相容哈希函数(consistent hashing),JE所有节点和节点的文档对应 到一个由N个整数

11、所形成的标识环(identifier circle)上。每个节点用一个节点标识(node id)来 代表节点在标识环中的位置,节点标识是节点IP的哈希值。而每个文档则用一个文档标识 (object id)来表示,文档标识也是通过对求文档的哈希值来得到。当一个新文档加入系统时,系 统会根据文档标识来寻找其在标识环中的后继者(successor)来保存这个新文档的信息,即保 存此文档的节点的IP地址等信息。一个标识K的后继者successor(K)均是从K开始,沿标识 环顺时针方向所找到的笫一个节点,即节点标识符大于等于K的第一个节点。CAN:相对于Chord使用环状架构,CAN则釆用基于虚拟的d

12、维笛卡尔坐标空间实现具 数据组织和查找功能,整个处标空间动态地分配给系统中的所有节点,每个节点都拥有独立的 互不相交的一块区域。虚拟坐标空间采用下面的方法保存(关键字,值)对。当保存(K1,V1)时, 使用统一的哈希函数把关键字K1映射成坐标空间中的点Po那么这个值将被保存在该点所 在区域的节点中。Pastry:在Pastry中,每一个节点都被分配了一个128位全局唯一的节点标识(nodeld),当 给定一条消息和一个关键字时,Pastry节点将会把这条消息路山到在当询所有的Pastry节点 中nodcld和关键字最接近的那个节点。Pastry考虑了网络的位置信息,它的H标是使消息传 递的距离最短。距离采用类似于IP路由的hop数的标最距离来度最。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号