第十一章 应用层网络.ppt
《第十一章 应用层网络.ppt》由会员分享,可在线阅读,更多相关《第十一章 应用层网络.ppt(149页珍藏版)》请在三一办公上搜索。
1、第十一章 应用层网络,应用层网络,对等网络应用层组播弹性重叠网,应用层网络(ON):Overlay Networks,也称为重叠网络对等网络(P2P):Peer-to-Peer Networks弹性重叠网络(RON):resilient Overlay Networks,应用层网络,对等网络应用层组播弹性重叠网,Resources,综述罗杰文,Peer-To-Peer 综述,http:/Stoica,R.Morris,D.Karger,F.Kaashoek,H.Balakrishnan.Chord:A Scalable Peer-to-Peer Lookup Service for Inter
2、net Applications.In Proceedings ACM Sigcomm 2001,San Diego,CA,Aug.2001.PastryA.Rowstron and P.Druschel,“Pastry:Scalable,distributed objectlocation and routing for large-scale peer-to-peer systems,”in IFIP/ACMInternational Conference on Distributed Systems Platforms(Middleware),2001 CANSylvia Rathasa
3、my,Paul Francis,Mark Handley,Richard Karp and Scott Shenker.A Scalable Content-Addressable Network.In ACM SIGCOMM01,2001 TapestryB.Y.Zhao,J.D.Kubiatowicz,and A.D.Joseph,Tapestry:An infrastructure for fault-tolerant wide-area location and routing,UC Berkeley,Tech.Rep.UCB/CSD-01-1141,April 2001.,对等网络(
4、P2P:Peer-to-Peer),1.概述P2P的引入背景,P2P的定义,P2P的特征,2.P2P网络的分类非结构化P2P结构化P2P3.几种非结构化P2P网络完全分布式的P2P网络、基于目录服务器的P2P网络、层次P2P网络4.几种结构化P2P网络Hash函数、基于分布式hash表的P2P网络原理Chord、Pastry、CAN、Tapestry,1.1 P2P引入背景(1),传统客户/服务器模式的不足,瓶颈问题:服务器的带宽、存储、计算等资源受限,容易成为网络瓶颈单点失效问题:服务器是整个网络的中心,失效将会导致服务无法访问,资源定义为网络节点的计算、存储等能力,1.1 P2P引入背景(
5、2),网络边缘闲置资源利用的需求,随着计算技术的发展,位于Internet边缘的接入设备(也就是网络的最终用户)拥有越来越强的计算、存储等能力,传统的网络结构无法有效地利用这些资源,资源定义为网络节点的计算、存储等能力,1.1 P2P引入背景(3),P2P网络服务器功能分布化分布式网络结构,客户/服务器模式的不足(瓶颈问题,单点失效问题)2.网络边缘闲置资源的利用需求,1.2 P2P网络结构,完全分布式的网络结构将服务器的功能分布到各个网络中的各个节点,充分利用这些节点的计算、存储、带宽等资源无中心服务器,网络中的节点既是客户端又是服务器,P2P网络中的节点也叫做对等节点(Peer),1.3
6、P2P的定义,P2P通信模式中各方都具有相同的能力,其中任何一方都可以发起一个通信会话。在P2P通信过程中,每个通信节点同时具有服务器和客户端的功能。P2P网络中的节点间采用P2P通信模式,它是构筑在现有网络基础设施上的一个分布式的重叠网络(Overlay Network),1.4 P2P重叠网,P2P重叠网络构筑在已有的Internet基础设施网络之上,也称为应用层网络,P2P网络(overlay Network),1.5 P2P网络的特征,P2P网络是一个应用层网络,一般由网络边缘节点构成网络的扩展性好,但节点可随意加入退出,因而动态性强资源分布在各个节点中,而不是集中在一个服务器上进行管
7、理节点之间可直接建立连接,交互共享资源,1.6 P2P网络需要解决的问题,定位(Locating):找到资源的存放位置路由(Routing):将消息发送到目的节点网络拓扑:节点的组织方式,例如物理网络有星型拓扑、网状拓扑等,而对于P2P网络来说是拓扑是一个逻辑上概念,和具体的物理连接无关,P2P网络的最终目标是要实现资源共享,这些资源包括计算、存储等,其中内容存储类应用是P2P目前最主要的应用,物理网络拓扑,P2P逻辑拓扑,2.P2P网络分类(1),非结构化P2P网络拓扑是任意的内容的存储位置与网络拓扑无关结构化P2P网络拓扑结构是有规律的每个节点都随机生成一个标识(ID)内容的存储位置与网络
8、拓扑相关内容的存储位置与节点标识之间存在着映射关系,2.P2P网络分类(2),内容索引在P2P网络中,内容一般使用内容索引来表示,内容索引包括key和value两部分,其中key是内容的关键字,value是存放内容的实际位置,因此内容索引也表示为对内容索引表示电影夜宴可以从http:/,2.1 几种非结构化P2P,完全分布式的P2P网络不存在任何中心节点,peer通过网络泛洪查找key所对应的valuePeer之间直接建立连接下载内容基于目录服务器的P2P网络所有peer将索引发布到目录服务器上Peer通过目录服务器来查找key所对应的valuePeer之间直接建立连接下载内容层次P2P网络P
9、eer根据能力的不同,例如是否拥有足够强的计算存储能力,是否拥有公网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的节点,发布
10、(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下载,不再需要经过目录服务器!,拥有x
11、yz.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的节
12、点,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的内容下载采用完全在节点之间进行,不需要任何中心节点但是内容定位(也称为索引查询)或者采用泛洪,或者采用目录服务器的方式,缺乏有效
13、的、可扩展的索引查询机制,不能满足大规模网络的需求,2.2 几种结构化P2P,ChordPastryCANTapestry,基于分布式Hash表(DHT:Distributed Hash Table),结构化P2P:直接根据查询内容的关键字定位其索引的存放节点,2.2.1 Hash函数概述,Hash函数可以根据给定的一段任意长的消息计算出一个固定长度的比特串,通常称为消息摘要(MD:Message Digest),一般用于消息的完整性检验。Hash函数有以下特性:给定 P,易于计算出 MD(P)只给出 MD(P),几乎无法找出 P无法找到两条具有同样消息摘要的不同消息Hash函数MD5:消息摘
14、要长度固定为128比特SHA-1:消息摘要长度固定为160比特,2.2.1 Hash函数应用于P2P的特性,唯一性:不同的输入明文,对应着不同的输出摘要将节点IP地址的摘要作为节点ID,保证了节点ID在P2P环境下的唯一性SHA-1(“202.38.64.1”)=24b92cb1d2b81a47472a93d06af3d85a42e463eaSHA-1(“202.38.64.2”)=e1d9b25dee874b0c51db4c4ba7c9ae2b766fbf27,2.2.2 DHT原理(1),将内容索引抽象为对K是内容关键字的Hash摘要K=Hash(key)V是存放内容的实际位置,例如节点I
15、P地址等所有的对组成一张大的Hash表,因此该表存储了所有内容的信息每个节点都随机生成一个标识(ID),把Hash表分割成许多小块,按特定规则(即K和节点ID之间的映射关系)分布到网络中去,节点按这个规则在应用层上形成一个结构化的重叠网络给定查询内容的K值,可以根据K和节点ID之间的映射关系在重叠网络上找到相应的V值,从而获得存储文件的节点IP地址,2.2.2 DHT原理(2),内容,内容关键字key,内容存储位置等信息value,内容索引,K=Hash(key),提取,k v,Hash表,电影夜宴,电影、夜宴,http:/,内容索引,K=hash(电影,夜宴)V=http:/,2.2.2 D
16、HT原理(3),k v,a.Hash表,b.分布式Hash表,规则?,N1,N48,N16,N32,N8,Chord、CAN、Tapestry、Pastry,在许多情况下,节点ID为节点IP地址的Hash摘要,2.2.2 DHT原理(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.2 DHT原理(5),定位(Locating)节点ID和其存放的对中的K存在着映射关系,因此可以由K获得存放该对的节点ID路由(Routing)在重叠网上根据节点ID进行路由,将
17、查询消息最终发送到目的节点。每个节点需要到其邻近节点的路由信息,包括节点ID、IP等网络拓扑拓扑结构由节点ID和其存放的对中的K之间的映射关系决定拓扑动态变化,需要处理节点加入/退出/失效的情况,在重叠网上节点始终由节点ID标识,并且根据ID进行路由,2.2.3 Chord:概述,UC Berkeley和MIT共同提出采用环形拓扑(Chord环)应用程序接口Insert(K,V)将对存在放到节点ID为Successor(K)上Lookup(K)根据K查询相应的VUpdate(K,new_V)根据K更新相应的VJoin(NID)节点加入Leave()节点主动退出,2.2.3 Chord:Hash
18、表分布规则,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.3 Chord:简单查询过程,每个节点仅维护其后继节点ID、IP地址等信息查询消息通过后继节点指针在圆环上传递直到查询消息中包含的K落在某节点ID和它的后继节点ID之间速度太慢 O(N),N为网络中节点数,N
19、56,K54,Lookup(K54),N56,N1,N8,N14,N21,N32,N38,N42,N48,N51,m=6,2.2.3 Chord:指针表,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.3 Chord:基于指针表的扩展查找过程,指针表中有O(log N)个节点查询经过O(log N)跳,N56,K54,指针表,N8+1,N8+2,N8+4,N8+8,N8+16,N8+32,N14,N14,N14,N21,N32,N42,Looku
20、p(K54),指针表,N42+1,N42+2,N42+4,N42+8,N42+16,N42+32,N48,N48,N48,N51,N1,N14,2.2.3 Chord:网络波动(Churn),Churn由节点的加入、退出或者失效所引起每个节点都周期性地运行探测协议来检测新加入节点或退出/失效节点,从而更新自己的指针表和指向后继节点的指针,2.2.3 Chord:节点加入,新节点N事先知道某个或者某些结点,并且通过这些节点初始化自己的指针表,也就是说,新节点N将要求已知的系统中某节点为它查找指针表中的各个表项 在其它节点运行探测协议后,新节点N将被反映到相关节点的指针表和后继节点指针中 新结点N
21、的第一个后继结点将其维护的小于N节点的ID的所有K交给该节点维护;,2.2.3 Chord:节点退出/失效,当Chord中某个结点M退出/失效时,所有在指针表中包含该结点的结点将相应指针指向大于M结点ID的第一个有效结点即节点M的后继节点为了保证节点M的退出/失效不影响系统中正在进行的查询过程,每个Chord节点都维护一张包括r个最近后继节点的后继列表。如果某个节点注意到它的后继节点失效了,它就用其后继列表中第一个正常节点替换失效节点,2.2.3 Chord:拓扑失配问题(1),O(LogN)逻辑跳数,但是每一逻辑跳可能跨越多个自治域,甚至是多个国家的网络重叠网络与物理网络脱节实际的寻路时延较
22、大,2.2.3 Chord:拓扑失配问题(2),提取物理网络的拓扑信息改造Chord存在w个界标站点每个节点测量它到w个界标的RTT将RTT递增排列具有相同RTT序列的节点在物理网络上临近,2.2.3 Chord:总结,算法简单可扩展:查询过程的通信开销和节点维护的状态随着系统总节点数增加成对数关系(O(log N)数量级)拓扑失配问题,2.2.4 Pastry:概述,Microsoft研究院和Rice大学共同提出考虑网络的本地性,解决物理网络和逻辑网络的拓扑失配的问题基于应用层定义的邻近性度量,例如IP路由跳数、地理距离、往返延时等节点ID分布采用环形结构,2.2.4 Pastry:Hash
23、表分布规则,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.4 Pastry:节点维护状态表(1),路由表R路由表包括 log2b N(m/b)行,每行包括2b-1个表项 路由表第n行与节点ID的前n个数位相同,但是第n+1个数位不同,也称为n数位前缀相同路由表中的每项包含节点ID,IP地址等根据邻近性度量选择距离本节点近的节点邻居节点集M邻居节
24、点集包含|M|个在邻近性度量上最接近于本节点的节点,|M|为2b或者2X2b 邻居节点集通常不用于路由查询消息,而是用来维护本地性叶子节点集L叶子节点集包含|L|个节点ID最接近本节点的节点,其中|L|/2个节点的ID大于本节点,|L|/2个ID小于本节点,|L|为2b或者2X2b,2.2.4 Pastry:节点维护状态表(2),Node ID 10233102,Leaf set,Routing Table,Neighborhood set,0,02212102,1,22301203,31203203,11301233,12230203,13021022,2,10031203,10132102
25、,10323302,3,3,10222302,10200230,10211302,10230322,10231000,10232121,10233001,10233120,10233232,1,0,2,13021022,10200230,11301233,31301233,02212102,22301203,31203203,33213321,10233033,10233021,10233120,10233122,10233001,10233000,10233230,10233232,SMALLER,LARGER,节点ID最接近本节点的节点,b=2,因此节点ID的基数为4(16 bits),m
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十一章 应用层网络 第十一 应用 网络
链接地址:https://www.31ppt.com/p-5985541.html