对等网络课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《对等网络课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 对等 网络 课件
- 资源描述:
-
1、对等网络Peer-to-Peer Networks(P2P)1.概述o传统的因特网应用采用客户-服务器模式:n所有内容与服务在服务器上,客户向服务器请求内容或服务,客户自己的资源不共享。n这种集中式结构面临服务器负载过重、拒绝服务攻击、网络带宽限制等难以解决的问题。对等计算模型o在对等网络中:n每个节点都有一些资源(处理能力、存储空间、网络带宽、内容等)可以提供给其它节点。n节点之间直接共享资源,不需要服务器参与。n所有节点地位相等(称对等方),具备客户和服务器双重特性。n可缓解集中式结构的问题,充分利用终端的丰富资源。P2P技术的发展oP2P技术的第一个应用是Napster文件共享系统(19
2、99-2000),用户通过该系统交换音乐文件。o自1999年以来,P2P研究得到学术界和商业组织的广泛关注,同时该技术也一直饱受争议。oP2P技术被广泛应用于计算机网络的各个应用领域,如文件共享、流媒体直播与点播、分布式科学计算、语音通信、在线游戏支撑平台等。o目前以文件共享为代表的P2P应用已成为因特网上增长最迅速的应用。P2P技术的应用(1)o提供文件或其它内容共享,如Napster、Gnutella、eDonkey、emule、BitTorrent等。oBitTorrent是最流行的P2P文件共享系统之一:n种子节点(保存完整的文件拷贝)把一个文件分成N个分片(默认为256KB)。n节点
3、X从种子节点随机下载第L个分片,Y 随机下载第M个分片,然后节点X与Y 交换彼此拥有的分片。n减轻了种子节点的负担,提高了节点下载的速度与效率。P2P技术的应用(2)oP2P媒体网:nP2P也非常适合流媒体直播与点播,因此P2P研究热点迅速转移到P2P的流媒体上。n目前P2P非常广泛的一个应用是网上实时电视,提供节目的成本很低,用户却可以得到较好的收视质量。n流行的软件包括Coolstreaming、AnySee、Gridmedia、PPLive和PPStream等。P2P技术的应用(3)o基于P2P方式的协同处理与服务共享平台:nP2P技术将众多终端空闲的CPU资源联合起来,服务于一个共同的
4、计算。n计算任务(包括逻辑与数据等)划分成多个片,分配到参与计算的P2P节点上;计算结果返回给一个或多个服务器;众多结果整合得到最终结果。n最著名的P2P分布式科学计算系统为搜索外星文明的SETIhome科学实验。P2P技术的应用(4)o即时通信交流:nVoIP是一种全新的网络电话通信业务,Skype就是一款典型的P2P VoIP软件。nSkype的出现给传统电信业带来强烈的冲击,截至2011年年底,Skype占有全球长途通话时长的33%。nSkype仍在迅速向各个国家渗透。P2P系统的定义oP2P系统是一个由直接相连的节点所构成的分布式系统,这些节点能够为了共享内容、CPU时间、存储或者带宽
5、等资源而自组织形成一定的网络拓扑结构,能够在适应节点数目的变化和失效的同时维持可以接受的连接能力和性能,并且不需要一个全局服务器或者权威的中介支持。2.P2P网络的拓扑结构oP2P系统的主要概念之一是分散,包括分布式存储、处理、信息共享和控制信息。o根据P2P系统的分散程度,可以将P2P架构分成纯分散式和混合式。o根据结构关系可以将P2P系统细分为四种拓扑形式:n中心化拓扑n全分布式非结构化拓扑n全分布式结构化拓扑n半分布式拓扑2.1 中心化拓扑o最早出现的P2P网络结构,也称集中目录式结构,或非纯粹的P2P结构。o优点:n维护简单,资源发现效率高。o缺点:n单点故障;扩放性差;版权问题。o对
6、小型网络而言在管理和控制方面有一定优势,不适合大型网络应用。Napster文件共享系统o中央索引服务器保存所有用户上传的音乐文件索引和存放位置。o用户需要某个音乐文件时,先查询中央索引服务器,得到存有该文件的节点信息。o用户选择合适的节点建立直接连接。oNapster首先实现了文件查询与文件传输的分离。Napster的拓扑结构2.2 全分布式非结构化拓扑 o也称纯P2P结构,取消了中央服务器,每台机器是真正的对等关系(称为对等机)。o每个用户随机接入网络,并与自己相邻的一组节点通过端-端连接构成一个逻辑覆盖网络。o对等节点之间的内容查询和内容共享均直接通过相邻节点广播接力传递。o每个节点记录搜
7、索轨迹,防止产生搜索环路。oGnutella是应用最广泛的全分布式非结构化拓扑。Gnutella早期的拓扑结构o要下载文件的计算机以文件名或关键字生成一个查询,发送给与它相连的所有计算机。o存在该文件的计算机与查询机器建立连接;否则继续向自己的邻居节点洪泛。o重复该过程,直至找到文件为止。o一般通过TTL值控制查询的深度。全分布式非结构化拓扑的特点o将覆盖网络看成完全随机图,节点之间的链路没有遵循某些预先定义的拓扑来构建。o优点:n解决了网络结构中心化的问题,扩展性和容错性较好;n支持复杂的查询(如多关键词查询、模糊查询等)。o缺点:n查询结果可能不完全,查询速度较慢;n网络规模较大时,消耗网
8、络带宽多,易造成部分低带宽节点因过载而失效,影响网络的可用性;n容易受到垃圾信息甚至是病毒的恶意攻击。2.3 全分布式结构化拓扑 o采用分布式散列表(DHT)组织网络中的节点:nDHT是由广域范围内大量节点共同维护的巨大散列表。n散列表被分割成不连续的块,每个节点被分配一个散列块,并成为这个散列块的管理者。n每个节点按照一定的方式被赋予一个惟一的Node ID。n资源对象的名字或关键词通过一个散列函数映射为128位或160位的散列值,资源对象存储在Node ID与其散列值相等或相近的节点上。n需要查找资源时,采用同样的方法定位到存储该资源的节点。基于DHT的节点组织o每个节点通过散列其IP地址
9、,得到一个128位的节点标识符。o所有节点标识符形成一个环形的node ID空间,其中只有一部分对应了实节点。oKey的散列值为d46a1c的内容存放在节点d467c4上。全分布式结构化拓扑的特点o优点:n采用确定性拓扑结构,DHT可以提供精确发现。o缺点:n维护机制较复杂,尤其是节点频繁加入/退出造成的网络波动会极大地增加维护DHT的代价。n仅支持精确关键词匹配查询,无法支持内容/语义等复杂查询。o这种结构目前还没有大规模成功应用的实例。2.4 半分布式结构o亦称混合结构,吸取了中心化结构和全分布式非结构化的优点。o选择性能(处理、存储、带宽)较高的节点作为超级节点,各个超级节点上存储其它部
10、分节点的信息。o发现算法仅在超级节点之间转发,超级节点再将查询请求转发给适当的叶子节点。o半分布式结构是一种层次式结构:n超级节点之间构成一个高速转发层n超级节点和所负责的普通节点构成若干层次Kazaa的拓扑结构o节点按能力不同区分为普通节点和搜索节点。o搜索节点与其临近的若干普通节点构成一个自治的簇:n簇内采用中心化P2P结构n簇之间通过纯P2P结构将搜索节点连接起来Kazaa的特点o自动将性能好的机器当成超级节点,采用Gnutella的全分布式结构,不需要中央索引服务器。o超级节点存储离它最近的叶子节点的文件信息,其索引功能使得搜索效率大大提高。o文件搜索先在本地簇内进行,必要时再通过搜索
11、节点进行有限的泛洪,消除了纯P2P结构中泛洪算法带来的网络拥塞、搜索迟缓等不利影响。o搜索节点监控着簇内所有普通节点的行为,一些攻击行为能在网络局部得到控制。o超级节点的存在一定程度上提高了网络的负载平衡。Gnutella后期的结构o计算能力较强的节点加入网络时,立即成为一个超级对等节点(SuperPeer),并与其它SuperPeer建立连接,同时设置一个使其保持SuperPeer所需的最小客户节点数目。o当该节点在一个规定的时间内收到不少于该数目的客户连接请求时,它继续成为SuperPeer,否则变为一个普通的客户节点。o如果没有可用的SuperPeer,它又会在一个给定的时间内担当Sup
12、erPeer。Skype网络结构oSkype是P2P技术演进到混合模式后的典型应用:n登录服务器:惟一的集中服务器,存储用户名和密码信息,保证登录名全球惟一,进行用户身份认证等。n用户节点:分为普通节点和超级节点。o普通节点:下载了skype应用的普通终端。o超级节点:具有公网IP地址和足够资源(CPU、存储空间、网络带宽)的普通节点均可为超级节点的候选。Skype网络结构示意图o普通节点必须连接到一个超级节点上,通过超级节点:n向登录服务器认证自己n向好友发送在线信息n查找用户n检测NAT和防火墙类型Skype的通信过程o初始化:询问skype的最新版本o登录:连接到超级节点,进行身份认证等
13、o用户搜索:查找用户o呼叫与终止:与通信方建立与终止连接o媒体传输:传输音频信息登录o客户端启动后连接到超级节点,向登录服务器发送身份认证信息。o登录服务器验证用户名和密码的合法性。o客户端向好友及其它对等节点发送在线信息。o客户端与超级节点交换消息,检测NAT和防火墙类型。o客户端发现拥有公网IP地址的在线Skype节点。连接到超级节点o客户端在主机缓存中维护一个超级节点列表,包含一系列超级节点的。o初次安装客户端软件后,超级节点列表中至少包含7个,这些便是初始的超级节点。o登录时,客户端试图同列表中的每一个表项(超级节点)建立连接。oSkype没有默认的服务端口号,在安装客户端软件时随机选
14、择(或设置)一个端口号监听,同时监听80和443端口。向好友发送在线信息oSkype采用路由缓存机制:n超级节点缓存查找到的用户信息(缓存72小时)。n用户登录后,其状态信息可以通过超级节点通知到好友终端,也可以得到好友的状态。o一旦缓存超时,需通过其它超级节点查找用户。查找用户o具有公网地址的客户端,查找用户的过程:n向超级节点(SN)发送要查找的用户信息;n若不成功,从SN获取四个节点地址,发送用户信息;n若不成功,报告SN,获取八个节点地址,发送用户信息;nn成功或失败返回o位于私网内的受限客户端,查找用户的过程:n客户端将需要查找的用户信息发送给其超级节点;n超级节点完成查找后,返回给
15、私网内的客户端。呼叫建立和释放 主、被叫都在公网内呼叫建立和释放(续)主、被叫至少有一方在私网内Skype的技术优势o较强的NAT和防火墙穿越能力:首先识别NAT和防火墙类型,然后动态选择信令和媒体代理。o快速路由机制:采用全球索引技术,用户路由信息分布式存储于网络节点中。o结合互联网特点的语音编解码算法:引入专门针对互联网特点的语音质量增强软件。o很低的运行成本:很多工作下放给网络节点完成,大大降低了中心服务器的负担,减少了维护和管理成本。2.5 四种拓扑结构的对比中心化全分布式非结构化全分布式结构化半分布式可扩展性差差好中可靠性差好好中可维护性最好最好好中发现算法效率最高中高中复杂查询支持
16、支持不支持支持3 P2P网络的资源发现机制o中心化结构:集中式索引和存储o分布式非结构化:查询请求的洪泛广播o分布式结构化:内容可寻址网络3.1 集中式索引和存储o一个集中的目录服务器保存所有资源的位置和使用信息:n网络中所有文件的元数据(文件名、创建时间等)索引;n登录用户的连接信息表(IP地址、连接速度等);n每个用户拥有并愿意共享的文件列表。o起始时,客户与目录服务器建立连接,报告其保存的文件列表。o当目录服务器收到来自用户的查询时,查找索引表,返回存有所需文件的用户列表。o用户选择其中一个对等方建立直接连接,下载文件。Napster中的资源发现3.2 查询请求的洪泛广播o洪泛查询的过程
17、:n在覆盖网络上,查询节点将一个资源发现请求发送给与其直接相连的所有节点;n这些节点再向其直接相连的邻居洪泛该请求;nn直到请求被响应或达到最大洪泛次数。o早期的Gnutella使用洪泛机制发现网络中的文件。Gnutella使用的消息oPing:节点使用该消息宣告自己。oPong:对Ping的响应,包含响应主机的IP地址、能接受响应的端口、本机共享文件数量及所占空间大小。oQuery:搜索请求,包含一个搜索字符串和对响应主机的最小速度要求。oQueryHit:对Query的响应,包含响应主机的IP地址、能接受连接的端口、连线速度、查询结果集(包含匹配的文件数量以及每个匹配文件的索引、文件大小及
18、文件名)。Gnutella查询与响应过程o一个节点与自己所知道的每一个节点建立TCP/IP连接。o节点向每一个连接的节点发送Ping消息;收到Ping消息的节点发送一个Pong消息,同时将Ping消息继续向其邻居传播。o节点使用Query查询文件,Query使用相同的洪泛方式传输。oTTL被用来限制Ping和Query的传播范围。每个消息携带全局唯一的标识符,用于检测和丢弃重复的消息。o当收到QueryHit时,表明在响应主机上找到了文件。3.3 内容可寻址网络o分布式P2P系统的核心是一个将文件名映射到文件存放位置的索引系统。o查找服务通过将对等节点组织到一个有结构的覆盖网络中,并将消息通过
19、覆盖网络路由到相关对等节点来实现。o到目前为止,已经有多个研究项目实现了分布式P2P查找服务。Content-Addressable Network(CAN)oCAN类似于一张大哈希表,基本操作包括插入、查找和删除对:n关键字可能是部分或完整的文件名n值可能为获取该文件所需的信息(如大小、位置等)o网络中每个节点保存哈希表的一块(区)。o对一个特定关键字的请求(插入、查找或删除)由中间CAN节点路由到包含该关键字的目标CAN节点。CAN的坐标空间oCAN基于一个虚拟的d维笛卡尔坐标空间来组织数据和实现查找功能:n整个坐标空间被动态分配给系统中的所有节点;n每个节点都拥有独立和不相交的一块区域;
20、n如果两个区域在(d-1)维上跨度相同,而在另一个维度上相邻,就称这两个区域相邻;n若两个节点拥有的区域相邻,就称这两个节点在坐标空间中相邻。一个二维的CAN坐标空间示例名字到位置的映射o存储对的方法:n使用一个均匀哈希函数将key映射成坐标空间中的一个点P,被保存在P所在区域对应的CAN节点中。o查询关键字Key:n使用相同的哈希函数得到点P,从P所在区域对应的CAN节点中得到Value。o如果P不在查询节点所拥有的区域中,查询请求通过CAN网络路由到包含P的CAN节点。CAN路由oCAN中的节点自动形成一个表示虚拟坐标空间的覆盖网络:n每个节点学习并维护坐标空间中相邻节点的IP地址和虚拟坐
21、标区域,这组邻居节点就形成了坐标路由表。o每条CAN消息都包含目的点P的坐标。o节点利用坐标路由表,使用贪婪转发机制将消息转发给距离P最近的邻居节点。一个CAN查找的例子节点加入CANo找到一个已有节点:n在DNS中查找CAN的域名,得到一个引导节点的IP地址。n引导节点随机选择当前系统中几个节点的IP地址,提供给新节点。o找到一个要分裂的区域:n在坐标空间中随机选择一个点P,向P发送一个加入请求。n该消息通过已有节点送入CAN,路由到P所在区域的CAN节点。n该节点将它的区域分裂成两半,将一半分配给新节点。o加入路由:n新节点向区域的原节点了解其邻居节点的IP地址,形成自己的邻居集合;原节点
22、也要更新自己的邻居集合。n新老节点将自己当前分配的区域告知其邻居。新节点加入的例子 节点7加入前 节点7加入后节点离开CANo正常的做法:n节点显式地将其区域和相关的数据库转交给一个邻居节点。n如果某个邻居节点的区域可以和该节点的区域合并成一个合法的区域,转交完成。否则,n该区域转交给当前区域最小的节点,这个节点要临时接管两个区域。o节点通过周期性更新消息,告知邻居自己的区域坐标和其邻居节点的区域坐标。o当节点失效时,其邻居之一要立即接管失效节点的区域,但失效节点中保存的丢失。CAN的缺点o经过哈希之后,节点的位置信息被破坏了,来自同一个子网的站点很可能节点号相距很远,这不利于查询性能的优化。
23、o基于哈希表的系统不能利用应用本身的信息,许多应用(如文件系统)的数据本身是按照层次结构组织的,而使用哈希函数后这些层次信息就丢失了。4 P4P技术oP2P带宽吞噬问题:nP2P流量已经占到整个互联网流量的50%左右,且仍在持续增长。nP2P流量大量占用宝贵的骨干网带宽资源,尤其是互联互通出口及国际出口的带宽,极大地增加了投资成本压力,并造成运营成本上升。n用户正常的上网业务的服务质量难以得到有效保障。带宽吞噬问题的根源P2P的交换机制oP2P过于强调对等,它对资源在网络中的位置不作区分,一律平等地返回给用户,而用户随机选择一个节点交换。o节点之间的交换完全是无序的,无序的交换导致无谓的跨地区
展开阅读全文