P2P网络的拓扑结构

P2P系统主要采用非集中式的拓扑结构,很少面临过量存储负载、DoS(Denial of Service,拒绝服务)攻击、网络带宽限制等集中式互联网络难以解决的问题。

P2P的四种拓扑结构

拓扑结构是指分布式系统中各个计算单元之间物理或逻辑的互联关系,结点之间的拓扑结构一直是确定系统类型的重要依据。目前互联网络中广泛使用集中式、层次式等拓扑结构。

Internet本身是世界上最大的非集中式互联网络,但是上世纪90年代所建立的一些网络应用系统却是完全的集中式系统,许多Web应用都是运行在集中式的服务器系统上。集中式拓扑结构系统目前面临着过量存储负载、DoS(Denial of Service,拒绝服务)攻击、网络带宽限制等一些难以解决的问题。P2P系统主要采用非集中式的拓扑结构,一般来说不存在上述这些难题。 根据结构关系可以将P2P系统细分为四种拓扑形式:

中心化拓扑(Centralized Topo-logy);

全分布式非结构化拓扑(Decentra-lized Unstructured Topology);

全分布式结构化拓扑(Decentra-lized Structured Topology,也称作DHT网络);

半分布式拓扑(Partially Decentra-lized Topology)。

各种拓扑的结构特点

中心化拓扑

中心化拓扑最大的优点是维护简单,资源发现效率高。由于资源的发现依赖中心化的目录系统,发现算法灵活高效并能够实现复杂查询。该结构的最大问题与传统客户机/服务器结构类似,容易造成单点故障,易引起访问的“热点”现象和版权纠纷等相关问题,这是第一代P2P网络采用的结构模式,经典案例就是著名的MP3共享软件Napster。

Napster是最早出现的P2P系统之一,并在短期内迅速成长起来。它实质上并非是纯粹的P2P系统,而是通过一个中央索引服务器保存所有Napster用户上传的音乐文件索引和存放位置的信息,其工作原理如***1所示。当某个用户需要某个音乐文件时,首先连接到Napster中央索引服务器,在服务器上进行检索,服务器返回存有该文件的用户信息,再由请求者直接连到文件的所有者传输文件。Napster首先实现了文件查询与文件传输的分离,有效地节省了中央服务器的带宽消耗,减少了系统的文件传输延时。

***1 Napster的拓扑结构

然而,这种对等网络模型存在以下这些问题:

(1) 中央索引服务器的瘫痪容易导致整个网络的崩溃,因此可靠性和安全性较低。

(2) 随着网络规模的扩大,对中央索引服务器进行维护和更新的费用将急剧增加,所需成本较高。

(3) 中央索引服务器的存在常引起版权问题上的纠纷,服务提供商容易被追究法律责任。

综合上述优缺点,对小型网络而言,中心化拓扑模型在管理和控制方面占一定优势。但鉴于其存在的上述缺陷,该模型并不适合大型网络应用。

全分布式非结构化拓扑

全分布式非结构化拓扑的P2P网络是在重叠网络(Overlay Network)中采用了随机***的组织方式,结点度数服从Power-law规律(幂次法则),从而能够较快发现目的结点,面对网络的动态变化体现了较好的容错能力,因此具有较好的可用性。同时可以支持复杂查询,如带有规则表达式的多关键词查询和模糊查询等,采用这种拓扑结构最典型的案例便是Gnutella(音译为纽特拉)。准确地说,Gnutella不是特指某一款软件,而是指遵守Gnutella协议的网络以及客户端软件的统称。目前基于Gnutella网络的客户端软件非常多,著名的有Shareaza、LimeWire和BearShare等。

Gnutella和Napster最大的区别在于Gnutella是更加纯粹的P2P系统,因为它没有中央索引服务器,每台机器在Gnutella网络中是真正的对等关系,既是客户机同时又是服务器,所以被称为对等机(Servent,Server+Client的组合)。在文件检索方面,它与Napster也不相同。在Gnutella网络的发展初期,它主要采用基于完全随机***的Flooding搜索算法。***2 显示了Flooding的工作流程: 当一台计算机要***一个文件,它首先以文件名或者关键字生成一个查询,并把这个查询发送给与它相连的所有计算机,这些计算机如果存在这个文件,则与查询的机器建立连接,如果不存在这个文件,则继续在自己相邻的计算机之间转发这个查询,直到找到文件为止。为了控制搜索消息不至于永远这样传递下去,一般通过TTL (Time To Live)的减值来控制查询的深度。

***2 Gnutella的拓扑结构和文件检索方法

但是,随着联网节点的不断增多,网络规模不断扩大,通过这种Flooding方式定位对等点的方法将造成网络流量急剧增加,从而导致网络中部分低带宽节点因网络资源过载而失效。所以在初期的Gnutella网络中,存在比较严重的分区和断链现象。也就是说,一个查询访问只能在网络的很小一部分进行,因此网络的可扩展性不好。所以,后来许多研究人员在Flooding的基础上作了许多改进,例如采用Random work 、Dynamic Query等方法。

由于非结构化网络将重叠网络认为是一个完全随机***,结点之间的链路没有遵循某些预先定义的拓扑来构建。这些系统一般不提供性能保证,但容错性好,支持复杂的查询,并受结点频繁加入和退出系统的影响小。但是查询的结果可能不完全,查询速度较慢,采用Flooding查询的系统对网络带宽的消耗非常大,并由此带来可扩展性差等问题。

全分布式结构化拓扑

全分布式结构化拓扑的P2P网络主要是采用分布式散列表(Distributed Hash Table, 简写成DHT)技术来组织网络中的结点。DHT是一个由广域范围大量结点共同维护的巨大散列表。散列表被分割成不连续的块,每个结点被分配给一个属于自己的散列块,并成为这个散列块的管理者。通过加密散列函数,一个对象的名字或关键词被映射为128位或160位的散列值。分布式散列表起源于SDDS(Scalable Distribute Data Structures)研究,Gribble等实现了一个高度可扩展和容错的SDDS集群。DHT类结构能够自适应结点的动态加入/退出,有着良好的可扩展性、鲁棒性、结点ID分配的均匀性和自组织能力。由于重叠网络采用了确定性拓扑结构,DHT可以提供精确的发现。只要目的结点存在于网络中,DHT总能发现它,发现的准确性得到了保证,最经典的案例是Tapestry、Pastry、Chord和CAN。

Tapestry 提供了一个分布式容错查找和路由基础平台,在此平台基础之上,可以开发各种P2P应用(OceanStore即是此平台上的一个应用)。Tapestry的思想来源于Plaxton。在Plaxton中,结点使用自己所知道的邻近结点表,按照目的ID来逐步传递消息。Tapestry基于Plaxton的思想,加入了容错机制,从而可适应P2P的动态变化的特点。OceanStore是以Tapestry为路由和查找基础设施的P2P平台。它是一个适合于全球数据存储的P2P应用系统。任何用户均可以加入OceanStore系统,或者共享自己的存储空间,或者使用该系统中的资源。通过使用复制和缓存技术,OceanStore可提高查找的效率。最近,Tapestry为适应P2P网络的动态特性,作了很多改进,增加了额外的机制实现了网络的软状态(soft state),并提供了自组织、鲁棒性、可扩展性和动态适应性,当网络高负载且有失效结点的时候性能有限降低,消除了对全局信息的依赖、根结点易失效和弹性差的问题。

Pastry 是微软研究院提出的可扩展的分布式对象定位和路由协议,可用于构建大规模的P2P系统。如***3 所示,在Pastry中,每个结点分配一个128位的结点标识符号(nodeID) ,所有的结点标识符形成了一个环形的nodeID空间,范围从0到2128 - 1 ,结点加入系统时通过散列结点IP地址在128位nodeID空间中随机分配。

***3 Pastry的消息路由

***4 Chord的拓扑形状

***5 半分布式拓扑结构 (网络中包含Super Node)

***6 KaZaa的软件界面 Chord

项目诞生于美国的麻省理工学院。它的目标是提供一个适合于P2P环境的分布式资源发现服务,通过使用DHT技术使得发现指定对象只需要维护O(logN)长度的路由表。在DHT技术中,网络结点按照一定的方式分配一个惟一结点标识符(Node ID) ,资源对象通过散列运算产生一个惟一的资源标识符(Object ID) ,且该资源将存储在结点ID与之相等或者相近的结点上。需要查找该资源时,采用同样的方法可定位到存储该资源的结点。因此,Chord的主要贡献是提出了一个分布式查找协议,该协议可将指定的关键字(Key) 映射到对应的结点(Node) 。从算法来看,Chord是相容散列算法的变体。

CAN(Content Addressable Networks) 项目采用多维的标识符空间来实现分布式散列算法。CAN将所有结点映射到一个n维的笛卡尔空间中,并为每个结点尽可能均匀地分配一块区域。CAN采用的散列函数通过对(key, value) 对中的key进行散列运算,得到笛卡尔空间中的一个点,并将(key, value) 对存储在拥有该点所在区域的结点内。CAN采用的路由算法相当直接和简单,知道目标点的坐标后,就将请求传给当前结点四邻中坐标最接近目标点的结点。CAN是一个具有良好可扩展性的系统,给定N个结点,系统维数为d,则路由路径长度为O(n1/d) ,每结点维护的路由表信息和网络规模无关为O(d) 。

DHT这类结构最大的问题是DHT的维护机制较为复杂,尤其是结点频繁加入/退出造成的网络波动(Churn)会极大增加DHT的维护代价。DHT所面临的另外一个问题是DHT仅支持精确关键词匹配查询,无法支持内容/语义等复杂查询。

半分布式拓扑结构

半分布式拓扑结构(有的文献亦称作混杂模式,英文表达为Hybrid Structure)吸取了中心化结构和全分布式非结构化拓扑的优点,选择性能较高(处理、存储、带宽等方面性能)的结点作为超级结点(英文表达为SuperNodes或者Hubs),在各个超级结点上存储了系统中其他部分结点的信息,发现算法仅在超级结点之间转发,超级结点再将查询请求转发给适当的叶子结点。半分布式结构也是一种层次式结构,超级结点之间构成一个高速转发层,超级结点和所负责的普通结点构成若干层次。采用这种结构的最典型的案例就是KaZaa。

KaZaa是当前世界最流行的几款P2P文件共享软件之一。根据CA公司统计,全球KaZaa的***量超过2.5亿次。使用KaZaa软件进行文件传输消耗了互联网40%的带宽。KaZaa之所以如此成功,是因为它结合了Napster和Gnutella共同的优点。从结构上来说,它使用了Gnutella的全分布式结构,这样可以使系统更好地扩展,因为它无需中央索引服务器存储文件名,而是自动把性能好的机器当成SuperNode,它存储着离它最近的叶子节点的文件信息,这些SuperNode再连通起来形成一个Overlay Network. 由于SuperNode的索引功能,使搜索效率大大提高。

半分布式结构的优点是性能、可扩展性较好,较容易管理,但对超级点依赖性大,易于受到攻击,容错性也受到影响。

在实际应用中,每种拓扑结构的P2P网络都有其优缺点,附表从可扩展性、可靠性、可维护性、发现算法的效率、复杂查询等方面比较了这四种拓扑结构的综合性能。

P2P网络的拓扑结构

转载请注明出处学文网 » P2P网络的拓扑结构

学习

信息可视化设计

阅读(36)

本文为您介绍信息可视化设计,内容包括信息可视化设计的原则,信息可视化设计合集。文章结合云课堂的教学资源特点,探讨信息可视化设计在网络教学资源设计中的运用,从基本功能、主要手段、可视化目标三方面分析信息可视化设计的要点,探究设计

学习

江文也钢琴作品中的民族风格

阅读(84)

江文也作为中国现代音乐创作史上成果卓著的作曲家,其传世作品涉及领域十分广泛,其中最为显著的是他的钢琴作品以其庞大的数量和优秀的质量而倍受人们的喜爱和赞誉。江文也因此而成为上世纪30、40年代钢琴音乐创作的典型代表人物。本文结合

学习

大麦虫价值介绍及养殖方式

阅读(172)

本文为您介绍大麦虫价值介绍及养殖方式,内容包括大麦虫养殖方法和注意事项,养殖的大麦虫不知道怎么销售。1生命力强,抗病力强大麦虫主要生活在温湿的热带大草原及热带雨林的森林植被下的有机土壤中,多变的气候练就了其顽强的生命力,在常态

学习

《乱世三义》

阅读(792)

本文为您介绍《乱世三义》,内容包括乱世三义全文阅读,乱世三义全文解析。BTV影视继续播出主演:黄海波、童蕾、李丽虹、田小洁第30集索智义心结彻底打开,提出同叶玉珊分手。唐子义再次向谷仁义要虎牙,谷仁义坚持只有托孤时才会还给他。三兄

学习

打造迷你家庭菜园

阅读(43)

本文为您介绍打造迷你家庭菜园,内容包括迷你菜园,迷你菜园。城市生活,让孩子渐渐远离了大自然的怀抱,也让我们越来越少体会那份原始的“一分耕耘一分收获”的喜悦。花生是长在树上的,还是长在土里的?土豆开花,为什么果实却在土里?一粒西红柿种

学习

力果童装:自主品牌与新式营销的成长之路

阅读(28)

本文为您介绍力果童装:自主品牌与新式营销的成长之路,内容包括力果童装官方旗舰店,力果童装线上销售。始创于1990年的力果童装,目前已发展成为国内童装业的领头羊,公司每年开发童装新产品两千余款,产销高达近500万件/套,其主力品牌“力

学习

常用价格指数简介及计算

阅读(945)

本文为您介绍常用价格指数简介及计算,内容包括现行价格指数的公式,价格指数及价格调整公式。指数从本质上看实际就是一种相对数,是两个不同时间上的数值对比而求得。本文讲述了价格指数,即不同时间上的两个价格对比而得到的相对数。本文阐

学习

股票历史知多少

阅读(29)

本文为您介绍股票历史知多少,内容包括股票历史总结大全,茅台股票历史最低价。能齐聚这里听我啵,大家肯定都是“投”道中人,投资理财的话题是我们共同关注的。这其中,必少不了股票的事。前面8节课,我们分享了银行、保险、基金、黄金、外汇、

学习

论企业的战略采购

阅读(20)

本文为您介绍论企业的战略采购,内容包括科尔尼战略采购七步法,战略采购与集采的区别。摘要:战略采购作为一种崭新的采购管理理念,是现代企业采购管理的发展方向和必然趋势,是以最低总成本为基础建立长期战略合作伙伴关系的过程。它的好

学习

无二之旅:用数据打造专属定制旅行

阅读(20)

本文为您介绍无二之旅:用数据打造专属定制旅行,内容包括无二之旅定制的旅行如何,旅行定制师无二之旅。无二之旅打破跟团旅行的窠臼,主打充满个性化的定制出游,通过数据,完成了定制旅行1.0的升级。在定制旅行日渐火热的当下,它率先跻身于行业

学习

浅论FLAC3D的应用现状

阅读(28)

本文为您介绍浅论FLAC3D的应用现状,内容包括flac3d快速入门及简单实例,flac3d7.0软件说明书。FlAC3D作为数值模拟软件已经被越来越多的应用于工程地质学方面的研究,文章主要阐述了FLAC3D软件的基本原理和特征,通过对FLAC3D在工程地质学方

学习

安徽文学

阅读(20)

本文为您介绍安徽文学,内容包括安徽文学在线阅读,安徽文学作品大全。1.安徽文学(下半月)张爱玲个案透析李云芬2.论张爱玲小说《金锁记》中的西方文学意识何佩,尚文祥3.解读鲁迅小说中的典型物象张冬梅4.近五年沈从文《边城》研究综述程莹5.

学习

26岁英王陈玉成之死

阅读(30)

本文为您介绍26岁英王陈玉成之死,内容包括英王陈玉成有多少个老婆,英王陈玉成被折磨的片段。清兵部侍郎胜保很兴奋。他把玩着自己的两枚私章,一枚上镌“我战则克”;另一枚上刻“十五入泮宫,二十入词林,三十为大将”,或许不久这第二枚印就该扔

学习

生物技术教学的探索与实践

阅读(27)

本文为您介绍生物技术教学的探索与实践,内容包括关于生物教学的期刊,生物学教学理论与实践。一、“概论”课程教学内容与时俱进的必要性分析教学内容的与时俱进和不断更新是“概论”课程生命力的体现。每学期都要开设的“概论”课,一方面

学习

“十大网络用语”

阅读(32)

本文为您介绍“十大网络用语”,内容包括2022年度十大网络用语,十大网络用语对应词。2015年已过大半,在新一轮的流行语公布之前,我们不妨先总结一下去年在网络上人气最旺的“十大网络用语”吧!我也是醉了最早源自电脑游戏的解说,后来在网络中

学习

网络营销的广告策略分析

阅读(27)

本文为您介绍网络营销的广告策略分析,内容包括网络广告策略分析,茶颜悦色广告策略分析。从上个世纪末期我国的首条网络广告至今,网络广告领域已经获得了突飞猛进的发展,网络平台俨然成为了广告的重要载体。相较于以往的传统广告载体,如电视

学习

浅谈现代轻型木结构技术的应用

阅读(24)

本文为您介绍浅谈现代轻型木结构技术的应用,内容包括木结构设计标准最新,轻型木结构体系的优缺点。近年来现代轻型木结构建筑悄然进入了中国的建筑市场,虽规模较小且仍处在起步阶段,然而其在中国建筑市场展现出的独特建筑风格,以及建设周期

学习

净化网络环境范文精选

阅读(29)

本文为您介绍净化网络环境范文精选,内容包括净化网络环境弘扬正气,净化网络环境演讲稿。净化网络环境篇1摘要:在各种不良信息、颜色文化、低俗行为充斥着网络的今天,人们的思想和言行也在一定程度上受到了这种环境气息的影响。为社会安定

学习

基于Heritrix体系结构的垂直搜索引擎研究

阅读(28)

本文为您介绍基于Heritrix体系结构的垂直搜索引擎研究,内容包括搜索引擎的指标设计,搜索引擎中intitle指令的作用。摘要:垂直搜索引擎作为一种新型的搜索引擎服务模式,它的出现彻底解决了通用搜索引擎中一直存在的信息量大、查询不准确、

学习

结构化面试过程

阅读(47)

本文为您介绍结构化面试过程,内容包括结构化面试什么意思,医疗卫生结构化面试。面试前注意事项:

学习

网络故障诊断关键技术

阅读(45)

本文为您介绍网络故障诊断关键技术,内容包括复杂网络故障诊断,网络故障诊断的过程描述。摘要:由于网络故障不可避免,这就要求对网络出现的故障进行管理。但是网络故障信息通常表现出复杂和不确定性的特点,要准确的对故障进行检测和定位

学习

高层建筑地下室结构的抗震设计

阅读(24)

本文为您介绍高层建筑地下室结构的抗震设计,内容包括高层建筑结构抗震设计,地下室三万多平米用多少抗震支架。摘要:随着我国经济的迅速发展,建筑市场也得到突飞猛进的发展,城市的土地资源也在日渐紧缺,城市的建筑与交通向地下发展这一趋势有