chord算法..ppt

上传人:b****9 文档编号:130308 上传时间:2022-10-04 格式:PPT 页数:56 大小:601KB
下载 相关 举报
chord算法..ppt_第1页
第1页 / 共56页
chord算法..ppt_第2页
第2页 / 共56页
chord算法..ppt_第3页
第3页 / 共56页
chord算法..ppt_第4页
第4页 / 共56页
chord算法..ppt_第5页
第5页 / 共56页
点击查看更多>>
下载资源
资源描述

chord算法..ppt

《chord算法..ppt》由会员分享,可在线阅读,更多相关《chord算法..ppt(56页珍藏版)》请在冰豆网上搜索。

chord算法..ppt

2.P2P网络分类

(1),非结构化P2P网络拓扑是任意的内容的存储位置与网络拓扑无关结构化P2P网络拓扑结构是有规律的每个节点都随机生成一个标识(ID)内容的存储位置与网络拓扑相关内容的存储位置与节点标识之间存在着映射关系,2.P2P网络分类

(2),内容索引在P2P网络中,内容一般使用内容索引来表示,内容索引包括key和value两部分,其中key是内容的关键字,value是存放内容的实际位置,因此内容索引也表示为对内容索引表示电影夜宴可以从http:

/,2.1几种非结构化P2P,完全分布式的P2P网络不存在任何中心节点,peer通过网络泛洪查找key所对应的valuePeer之间直接建立连接下载内容基于目录服务器的P2P网络所有peer将索引发布到目录服务器上Peer通过目录服务器来查找key所对应的valuePeer之间直接建立连接下载内容层次P2P网络Peer根据能力的不同,例如是否拥有足够强的计算存储能力,是否拥有公网IP,分为超级节点和一般节点超级节点之间构成完全分布式的P2P网络超级节点和其所连接的一般节点构成基于目录服务器的P2P网络,其中超级节点具有目录服务器的功能,2.1.1完全分布式的P2P网络:

Gnutella

(1),谁拥有xyz.mp3?

2.1.1完全分布式的P2P网络:

Gnutella

(2),特点实现简单、不存在单点失效问题,但泛洪即全网广播查询消息的增加了网络负担,而且随着网络规模的增大,查询延时增加,因而不能保证查询结果,2.1.2基于目录服务器的P2P网络:

Napster

(1),拥有xyz.mp3的节点,发布(key=xyz.mp3,value=1.2.3.4),Insert(xyz.mp3,1.2.3.4),AIP=1.2.3.4,目录服务器,索引发布,目录服务器上存储的是内容索引,而不是真正的内容!

2.1.2基于目录服务器的P2P网络:

Napster

(2),内容定位,拥有xyz.mp3的节点,AIP=1.2.3.4,目录服务器,谁拥有xyz.mp3?

Search(xyz.mp3)1.2.3.4,B4.3.2.1,2.1.2基于目录服务器的P2P网络:

Napster(3),内容下载,AIP=1.2.3.4,目录服务器,B4.3.2.1,直接从peer下载,不再需要经过目录服务器!

拥有xyz.mp3的节点,2.1.2基于目录服务器的P2P网络:

Napster(4),特点索引发布和内容定位通过目录服务器进行,因此查询简单、高效,但是和客户/服务器模式一样,目录服务器存在瓶颈和单点失效问题,而且可扩展性差,2.1.3层次P2P网络:

KazaA

(1),索引发布,拥有xyz.mp3的节点,Insert(xyz.mp3,1.2.3.4),超级节点,1.2.3.4,超级节点上存放有其连接的一般节点的内容索引,2.1.3层次P2P网络:

KazaA

(2),内容定位,谁拥有xyz.mp3?

超级节点,1.2.3.4,Search(xyz.mp3)1.2.3.4,拥有xyz.mp3的节点,2.1.3层次P2P网络:

KazaA(3),内容下载,超级节点,1.2.3.4,拥有xyz.mp3的节点,直接从peer下载,不再需要经过超级节点!

2.1.3层次P2P网络:

KazaA(4),特点考虑到了节点能力的不同,将其分为一般节点和超级节点,泛洪只在超级节点之间进行,与完全分布式的P2P网络相比,减少了泛洪开销当网络规模比较大时,随着超级节点数量的增加,泛洪的范围也将增大,因此查询时间具有不确定性,2.1.4几种非结构化P2P,总结非结构化P2P的内容下载采用完全在节点之间进行,不需要任何中心节点但是内容定位(也称为索引查询)或者采用泛洪,或者采用目录服务器的方式,缺乏有效的、可扩展的索引查询机制,不能满足大规模网络的需求,2.2几种结构化P2P,ChordPastryCANTapestry,基于分布式Hash表(DHT:

DistributedHashTable),结构化P2P:

直接根据查询内容的关键字定位其索引的存放节点,2.2.1Hash函数概述,Hash函数可以根据给定的一段任意长的消息计算出一个固定长度的比特串,通常称为消息摘要(MD:

MessageDigest),一般用于消息的完整性检验。

Hash函数有以下特性:

给定P,易于计算出MD(P)只给出MD(P),几乎无法找出P无法找到两条具有同样消息摘要的不同消息Hash函数MD5:

消息摘要长度固定为128比特SHA-1:

消息摘要长度固定为160比特,2.2.1Hash函数应用于P2P的特性,唯一性:

不同的输入明文,对应着不同的输出摘要将节点IP地址的摘要作为节点ID,保证了节点ID在P2P环境下的唯一性SHA-1(“202.38.64.1”)=24b92cb1d2b81a47472a93d06af3d85a42e463eaSHA-1(“202.38.64.2”)=e1d9b25dee874b0c51db4c4ba7c9ae2b766fbf27,2.2.2DHT原理

(1),将内容索引抽象为对K是内容关键字的Hash摘要K=Hash(key)V是存放内容的实际位置,例如节点IP地址等所有的对组成一张大的Hash表,因此该表存储了所有内容的信息每个节点都随机生成一个标识(ID),把Hash表分割成许多小块,按特定规则(即K和节点ID之间的映射关系)分布到网络中去,节点按这个规则在应用层上形成一个结构化的重叠网络给定查询内容的K值,可以根据K和节点ID之间的映射关系在重叠网络上找到相应的V值,从而获得存储文件的节点IP地址,2.2.2DHT原理

(2),内容,内容关键字key,内容存储位置等信息value,内容索引,K=Hash(key),提取,kv,Hash表,电影夜宴,电影、夜宴,http:

/,内容索引,K=hash(电影,夜宴)V=http:

/,2.2.2DHT原理(3),kv,a.Hash表,b.分布式Hash表,规则?

N1,N48,N16,N32,N8,Chord、CAN、Tapestry、Pastry,在许多情况下,节点ID为节点IP地址的Hash摘要,2.2.2DHT原理(4),插入(K1,V1),(K1,V1),查询(K1),A128.1.2.3,B,K1=Hash(xyz.mp3)V1=128.1.2.3,xyz.mp3,C,索引发布和内容定位,2.2.2DHT原理(5),定位(Locating)节点ID和其存放的对中的K存在着映射关系,因此可以由K获得存放该对的节点ID路由(Routing)在重叠网上根据节点ID进行路由,将查询消息最终发送到目的节点。

每个节点需要到其邻近节点的路由信息,包括节点ID、IP等网络拓扑拓扑结构由节点ID和其存放的对中的K之间的映射关系决定拓扑动态变化,需要处理节点加入/退出/失效的情况,在重叠网上节点始终由节点ID标识,并且根据ID进行路由,2.2.3Chord:

概述,UCBerkeley和MIT共同提出采用环形拓扑(Chord环)应用程序接口Insert(K,V)将对存在放到节点ID为Successor(K)上Lookup(K)根据K查询相应的VUpdate(K,new_V)根据K更新相应的VJoin(NID)节点加入Leave()节点主动退出,2.2.3Chord:

Hash表分布规则,Hash算法SHA-1Hash节点IP地址m位节点ID(表示为NID)Hash内容关键字m位K(表示为KID)节点按ID从小到大顺序排列在一个逻辑环上存储在后继节点上Successor(K):

从K开始顺时针方向距离K最近的节点,ID=hash(IP)=14,N56,K=hash(key)=54,N1,N8,N14,N21,N32,N38,N42,N48,N51,m=6,2.2.3Chord:

简单查询过程,每个节点仅维护其后继节点ID、IP地址等信息查询消息通过后继节点指针在圆环上传递直到查询消息中包含的K落在某节点ID和它的后继节点ID之间速度太慢O(N),N为网络中节点数,N56,K54,Lookup(K54),N56,N1,N8,N14,N21,N32,N38,N42,N48,N51,m=6,2.2.3Chord:

指针表,N56,指针表,N8+1,N8+2,N8+4,N8+8,N8+16,N8+32,N14,N14,N14,N21,N32,N42,节点S的第i个指针successorn+2(i-1),1im,2.2.3Chord:

基于指针表的扩展查找过程,指针表中有O(logN)个节点查询经过O(logN)跳,N56,K54,指针表,N8+1,N8+2,N8+4,N8+8,N8+16,N8+32,N14,N14,N14,N21,N32,N42,Lookup(K54),指针表,N42+1,N42+2,N42+4,N42+8,N42+16,N42+32,N48,N48,N48,N51,N1,N14,2.2.3Chord:

网络波动(Churn),Churn由节点的加入、退出或者失效所引起每个节点都周期性地运行探测协议来检测新加入节点或退出/失效节点,从而更新自己的指针表和指向后继节点的指针,2.2.3Chord:

节点加入,新节点N事先知道某个或者某些结点,并且通过这些节点初始化自己的指针表,也就是说,新节点N将要求已知的系统中某节点为它查找指针表中的各个表项在其它节点运行探测协议后,新节点N将被反映到相关节点的指针表和后继节点指针中新结点N的第一个后继结点将其维护的小于N节点的ID的所有K交给该节点维护;,2.2.3Chord:

节点退出/失效,当Chord中某个结点M退出/失效时,所有在指针表中包含该结点的结点将相应指针指向大于M结点ID的第一个有效结点即节点M的后继节点为了保证节点M的退出/失效不影响系统中正在进行的查询过程,每个Chord节点都维护一张包括r个最近后继节点的后继列表。

如果某个节点注意到它的后继节点失效了,它就用其后继列表中第一个正常节点替换失效节点,2.2.3Chord:

拓扑失配问题

(1),O(LogN)逻辑跳数,但是每一逻辑跳可能跨越多个自治域,甚至是多个国家的网络重叠网络与物理网络脱节实际的寻路时延较大,2.2.3Chord:

拓扑失配问题

(2),提取物理网络的拓扑信息改造Chord存在w个界标站点每个节点测量它到w个界标的RTT将RTT递增排列具有相同RTT序列的节点在物理网络上临近,2.2.3Chord:

总结,算法简单可扩展:

查询过程的通信开销和节点维护的状态随着系统总节点数增加成对数关系(O(logN)数量级)拓扑失配问题,2.2.4Pastry:

概述,Microsoft研究院和Rice大学共同提出考虑网络的本地性,解决物理网络和逻辑网络的拓扑失配的问题基于应用层定义的邻近性度量,例如IP路由跳数、地理距离、往返延时等节点ID分布采用环形结构,2.2.4Pastry:

Hash表分布规则,Hash算法SHA-1Hash节点IP地址m位节点ID(表示为NID)Hash内容关键字m位K(表示为KID)NID和KID是以2b为基的数,共有m/b个数位b是一个配置参数,一般为4节点按ID从小到大顺序排列在一个逻辑环上存储在NID与KID数值最接近的节点上,m=8,2m-10,b=2,2.2.4Pastry:

节点维护状态表

(1),路由表R路由表包括log2bN(m/b)行,每行包括2b-1个表项路由表第n行与节点ID的前n个数位相同,但是第n+1个数位不同,也称为n数位前缀相同路由表中的每项包含节点ID,IP地址等根据邻近性度量选择距离本节点近的节点邻居节点集M邻居节点集包含|M|个在邻近性度量上最接近于本节点的节点,|M|为2b或者2X2b邻居节点集通常不用于路由查询消息,而是用来维护本地性叶子节点集L叶子节点集包含|L|个节点ID最接近本节点的节点,其中|L|/2个节点的ID大于本节点

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1