P2P网络

计算机网络的初衷就是建立一个相互通信的对等的计算机网络,但是由于历史问题连接在网络的计算机配置不高,计算能力和存储能力不足,因此相当长一段时间我们更倾向于使用基于客户端(client)和服务器(server)的C/S模式及浏览器(Browser)和服务器(server)的B/S模式。

采用服务器这种中心化的模式优点是易于维护,缺点是对高并发量的处理存在瓶颈。

而现代计算机的计算能力和配置都有了显著提高,建立去中心化的P(peer)2P(peer)对等网络,能很好的处理这种高并发数据处理,被广泛应用于文件下载和在线视频领域。

纵观P2P的发展,主要包括4种常见的形式

中心化拓扑网络

全分布式非结构化拓扑网络

全分布式结构化拓扑网络

半分布式拓扑网络


中心化拓扑网络

由一台中心索引服务器连接各个设备,当需要下载某个资源时,请求索引服务器,索引服务器查询所在资源的地址返回给主机,主机则直接请求存在资源的服务器,获取结果。中心服务器不存储任何资源,只存储文件索引,这样有些的降低了服务器负荷。最典型的应用是MP3下载网站napster

中心化拓扑网络

但是这种中心化的P2P模式由于还是依赖于一台中心服务器,中心服务器崩溃,整个p2p网络则崩溃,可扩展性也存在问题,并且法律方面的风险比较大,napster后来就被各个唱片公司起诉。


全分布式非结构化拓扑网络

全分布式非结构化拓扑网络

采用随机图组织方式,节点度数据服从power-law规律,主要采用基于完全随机图的Flooding搜索算法,即从当前节点开始查找与他相邻的索引主机,相连的主机再查找相连主机,为了控制搜索消息不至于永远这样传递下去,一般通过TTL (Time To Live)的减值来控制查询的深度,主要案例是Gnutella协议,如上图可以看出这种方式并不能查找所有的主机,只能查询到部分网络。


全分布式结构化拓扑网络

通过加密散列函数,一个对象的名字或关键词被映射为128位或160位的散列值,全分布式结构化拓扑的P2P网络主要是采用分布式散列表(Distributed Hash Table, 简写成DHT)技术来组织网络中的结点,DHT是由一个广域范围维护的巨大散列表,散列表有很多不连续的散列块组成,每个散列块可能存储在不同的主机,每个主机维护自己的散列块。DHT类结构能够自适应结点的动态加入/退出,有着良好的可扩展性、健壮性、结点ID分配的均匀性和自组织能力。由于重叠网络采用了确定性拓扑结构,DHT可以提供精确的发现。只要目的结点存在于网络中DHT总能发现它,发现的准确性得到了保证,最经典的案例是Tapestry,Pastry,Chord和CAN。


半分布式拓扑结构

由于集中式网络由于过度依赖于中央索引服务器,而全分布式拓扑结构查找维护成本较高,半分布式拓扑结构吸取了中心化结构和全分布式非结构化拓扑的优点,选择性能较高(处理、存储、带宽等方面性能)的结点作为超级结点(英文表达为SuperNodes或者Hubs),在各个超级结点上存储了系统中其他部分结点的信息,发现算法仅在超级结点之间转发,超级结点再将查询请求转发给适当的叶子结点。半分布式结构也是一个层次式结构,超级结点之间构成一个高速转发层,超级结点和所负责的普通结点构成若干层次。采用这种结构的最典型的案例就是KaZaa。

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

比较标准/拓扑结构

中心化拓扑

全分布式非结构化拓扑

全分布式结构化拓扑

半分布式拓扑

可扩展性

可靠性

可维护性

最好

最好

发现算法效率

最高

复杂查询

支持

支持

不支持

支持


详细参考:

http://www.intsci.ac.cn/users/luojw/P2P/ch02.html

相关推荐
随着P2P网络的飞速发展,P2P网络技术已经成为当今IT技术领域研究与应用的热点。本书通过基础理论篇与C++开发案例篇两个部分的讲解,使读者对P2P网络技术有全面的理解。 基础理论篇对P2P网络的定义、典型的网络拓扑结构、应用与研究现状以及当今5种主流的P2P系统分别进行了介绍;通过与传统的搜索技术相比较,分析了P2P搜索技术的原理;对P2P技术所涉及的安全问题逐一进行了分析;对P2P应用的相关技术进行了深入剖析。 C++开发案例篇介绍了P2P应用开发的两个平台,然后针对5个具体的P2P系统进行了详细的系统介绍和源码分析,包括P2P文件共享系统、P2P即时通信系统、P2P流媒体系统和P2P视频点播系统。 本书可供广大从事P2P网络技术工作的研发人员和工程技术人员阅读参考,也可作为高等院校通信类、网络类、信息类、计算机类、电子类等专业高年级本科生和研究生学习P2P技术的书籍。 基础理论篇 1 第1章 P2P基本概念 3 1.1 P2P网络的定义 3 1.2 P2P网络结构 4 1.2.1 集中式P2P网络 4 1.2.2 完全分布式非结构化P2P网络 5 1.2.3 完全分布式结构化P2P网络 6 1.2.4 混合式P2P网络 7 1.2.5 P2P网络和传统网络的对比 8 1.3 P2P网络的应用 9 1.4 P2P的发展 11 1.4.1 起步 11 1.4.2 发展 11 1.4.3 高峰 11 1.5 P2P技术国内外研究现状 12 1.5.1 国外相关研究 12 1.5.2 国内研究现状 12 1.6 本章总结 13 1.7 练习题 13 第2章 主流P2P系统 15 2.1 文件共享类系统 15 2.1.1 Napster 15 2.1.2 Gnutella 17 2.1.3 BitTorrent 19 2.1.4 eMule 20 2.1.5 Maze 22 2.2 即时通信类系统 24 2.2.1 Skype 24 2.2.2 QQ 26 2.2.3 GTalk 27 2.3 流媒体类系统 28 2.3.1 AnySee 28 2.3.2 PPLive 29 2.4 共享存储类系统 30 2.4.1 OceanStore 30 2.4.2 Granary 32 2.5 对等计算类系统 34 2.6 本章总结 35 2.7 练习题 35 第3章 P2P网络的基础——搜索和路由算法 36 3.1 传统搜索技术 36 3.2 P2P搜索技术的发展 37 3.3 DHT网络(结构化P2P网络)的搜索技术 39 3.3.1 DHT路由原理 39 3.3.2 Chord 40 3.3.3 Pastry 44 3.3.4 CAN 46 3.3.5 Tapestry 48 3.3.6 Kademlia 50 3.3.7 小结 53 3.4 非结构化P2P网络的搜索技术 53 3.4.1 Flooding 54 3.4.2 Modified-BFS 55 3.4.3 Iterative Deepening 55 3.4.4 Random Walk 56 3.4.5 Query Routing 57 3.4.6 Gnutella2 59 3.4.7 移动Agent 59 3.4.8 小结 60 3.5 小世界(Small World)模型 61 3.5.1 小世界模型概述 61 3.5.2 聚类分布(CD)算法 62 3.5.3 小世界网络的研究现状 66 3.6 P2P搜索技术研究的挑战 66 3.7 本章总结 67 3.8 练习题 67 第4章 P2P应用与安全 69 4.1 P2P应用面临的安全问题 69 4.1.1 P2P应用引发的版权问题 69 4.1.2 P2P应用对现有网络应用的威胁 71 4.1.3 P2P网络病毒与蠕虫 71 4.1.4 结构化P2P网络的隐患 72 4.2 P2P应用与安全技术 76 4.2.1 P2P应用中的密码学技术 76 4.2.2 P2P应用中的网络安全技术 78 4.2.3 利用P2P网络解决安全问题 82 4.3 P2P实例系统--Skype的安全性分析 88 4.3.1 Skype简介 89 4.3.2 Skype安全机制分析 93 4.3.3 Skype流量识别 96 4.4 本章总结 98 4.5 练习题 98 第5章 P2P应用的相关技术 100 5.1 P2P网络穿越 100 5.1.1 NAT网络概念 100
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页