欢迎光临中图网 请 | 注册
> >
P2P对等网络原理与应用

P2P对等网络原理与应用

作者:蔡康 等
出版社:科学出版社出版时间:2022-04-01
开本: B5 页数: 308
中 图 价:¥106.7(7.9折) 定价  ¥135.0 登录后可看到会员价
加入购物车 收藏
运费6元,满39元免运费
?新疆、西藏除外
本类五星书更多>

P2P对等网络原理与应用 版权信息

P2P对等网络原理与应用 内容简介

P2P领域包含的内容很好丰富,要能够灵活应用P2P技术实现真实的系统,必须对P2P的理论、P2P的实现等各方面的内容有全面掌握。从编写组自身的实践经验看,要深入的掌握P2P技术并能够实际指导开发,需要查阅大量的理论资料并进行相关实验。基于此种需求,本书编写组将实际开发过程中涉及到的各种理论和应用技术整理并编写成册,并尽量以通俗易懂的方式对各种复杂的算法进行解释,同时又不失深度,以期给有兴趣深入学习P2P或有志于开发P2P的读者提供相对完备的参考。此外,本书编写组对电信运营网络有一手的经验数据,并参与制定IPv6的发展规划,编写组结合这些经验对IPv6网络下的P2P也即所谓的P6P进行了分析,提出了P6P在IPv4和IPv6混杂网络下的解决方案,这些内容对关注未来P2P发展的读者都提供了重要参考。本书的具体内容主要包括:(1)P2P综述:介绍P2P的定义、发展历史、现状以及目前主流的应用等。(2)P2P路由:介绍集中式路由算法、分布式路由算法(DHT)、混合式路由算法等。(3)P2P传送:介绍传统的推拉模式的传送,基于网络编码的传送算法。结合缓存管理详细解释P2P传送算法设计时需要考虑的各种参数。(4)P2P应用:介绍典型的文件下载、流媒体、及时通信等具体P2P应用。(5)P2P运营:介绍P2P对网络产生的冲击以及运营商采取的运营管理方法。(6)P4P优化:介绍目前流行的P2P流量优化方法。(7)P6P技术:介绍IPv6环境下的P2P面临的问题以及解决方案。(8)P2P与云计算:介绍P2P与云计算的关系及趋势。

P2P对等网络原理与应用 目录

目录
前言
1 P2P简介 1
1.1 P2P定义 1
1.2 P2P特点 2
1.3 P2P发展历史与现状 4
1.3.1 P2P发展的四个阶段 4
1.3.2 国外P2P技术的研究现状 6
1.3.3 国内P2P技术的研究现状 8
1.3.4 P2P的网络流量 8
1.4 P2P的主要应用领域与代表软件 10
1.4.1 下载 10
1.4.2 流媒体 11
1.4.3 即时通信 14
1.4.4 其他领域 16
1.5 P2P产业 17
1.5.1 P2P产业链 17
1.5.2 版权问题 20
1.5.3 P2P与电信网络运营 21
1.6 本章总结 22
2 P2P网络核心技术——拓扑结构与内容路由 23
2.1 P2P网络基本概念 23
2.2 集中式P2P网络 25
2.3 纯分布式P2P网络 27
2.3.1 小世界模型 27
2.3.2 纯分布式P2P网络的网络拓扑与内容路由 30
2.4 混合式P2P网络 33
2.5 结构化P2P网络 35
2.5.1 DHT算法概述 37
2.5.2 Chord算法 38
2.5.3 Pastry算法 43
2.5.4 CAN算法 47
2.6 本章总结 48
3 P2P网络核心技术——内容传送 49
3.1 非实时内容传送技术 49
3.1.1 基本传送技术 50
3.1.2 基于网络编码的模式 52
3.2 实时内容传送技术 55
3.3 NAT穿越 62
3.4 本章总结 65
4 P2P开发平台 66
4.1 JXTA 67
4.1.1 JXTA介绍 67
4.1.2 JXTA层次结构 67
4.1.3 JXTA协议 68
4.1.4 JXTA相关概念 69
4.1.5 开发实例 75
4.2 Python 90
4.2.1 Python介绍 90
4.2.2 Python的基本语法和结构 91
4.2.3 开发实例 93
4.3 本章总结 98
5 P2P文件共享应用 99
5.1 P2P文件共享应用系统 99
5.2 BitTorrent下载系统 99
5.2.1 BT系统结构 100
5.2.2 BT网络协议分析 101
5.2.3 CTorrent程序源码分析 110
5.3 eMule下载系统 114
5.3.1 eMule系统结构 115
5.3.2 eMule网络协议分析 118
5.3.3 eMule源代码分析 124
5.4 本章总结 139
6 P2P网络流媒体应用 140
6.1 流媒体系统概述 140
6.1.1 流媒体系统架构 140
6.1.2 P2P流媒体系统 142
6.2 PeerCast流媒体传输系统 143
6.2.1 PeerCast系统结构 144
6.2.2 PeerCast网络协议 144
6.2.3 频道组织结构 145
6.2.4 工作流程 145
6.2.5 算法原理 148
6.2.6 PeerCast源代码分析 151
6.3 本章总结 168
7 P2P网络即时通信应用 169
7.1 即时通信 169
7.2 Skype通信系统 169
7.2.1 Skype简介 169
7.2.2 Skype系统结构 171
7.2.3 Skype协议分析 173
7.3 本章总结 187
8 P2P网络搜索应用 188
8.1 P2P搜索原理及算法 188
8.1.1 非结构化P2P网络搜索算法 188
8.1.2 结构化P2P网络搜索算法 191
8.1.3 其他搜索算法 193
8.1.4 算法对比分析 194
8.2 典型应用 195
8.2.1 搜索引擎工作原理 195
8.2.2 YaCy搜索引擎系统 195
8.3 本章总结 198
9 P2P网络运营系统体系架构 199
9.1 终端呈现 200
9.2 P2P业务封装 200
9.2.1 子系统功能 200
9.2.2 子系统接口 201
9.3 P2P基础服务 204
9.3.1 子系统功能 204
9.3.2 子系统接口 205
9.4 内容提供 206
9.5 发布管理 206
9.5.1 子系统功能 206
9.5.2 子系统接口 207
9.6 认证/计费管理 207
9.6.1 子系统功能 207
9.6.2 子系统接口 207
9.7 本章总结 208
10 P2P网络监控 209
10.1 P2P网络监控的意义 209
10.1.1 P2P网络监控概念 209
10.1.2 P2P监控现状 212
10.1.3 P2P监控意义 214
10.2 P2P网络监测手段 216
10.2.1 传统P2P监测手段 216
10.2.2 基于DPI技术的P2P监测 219
10.2.3 P2P监测手段小结 223
10.3 P2P网络控制手段 224
10.3.1 法律政策手段 224
10.3.2 经济手段 227
10.3.3 技术手段 232
10.3.4 P2P控制手段小结 242
10.4 P2P网络监控系统 243
10.4.1 DPI系统的实现 243
10.4.2 DPI系统流量识别过程 247
10.4.3 旁路部署式DPI系统 250
10.4.4 串接部署式DPI系统 251
10.4.5 集成式DPI系统 253
10.4.6 DPI系统综合比较 256
10.4.7 DPI系统功能和性能要求 258
10.4.8 P2P网络监控发展趋势 266
10.5 本章总结 269
11 P2P网络未来趋势 270
11.1 综合平台 272
11.2 协议标准化 275
11.3 终端统一化 276
11.4 从P2P到P4P 278
11.5 从IPv4到IPv6 283
11.6 P2P和云计算 288
11.7 本章总结 293
主要参考文献 294
展开全部

P2P对等网络原理与应用 节选

1 P2P简介 1.1 P2P定义 P2P是“peer-to-peer”的缩写,peer在英语里有“(地位、能力等)同等者”、“同事”和“伙伴”等含义,因此P2P通常被称为对等网,网络中的各个节点被称为对等体(peer)。在P2P网络中,每个节点的地位是对等的,它既能充当网络服务的请求者,又能对其他计算机的请求作出响应,提供资源和服务。P2P网络利用客户端的处理能力,实现了通信与服务端的无关性,改变了目前互联网以服务器为中心的状态,重返“非中心化”。P2P网络的本质思想实质上打破了互联网中传统的客户端/服务器(client/server,C/S)结构,令各对等体具有自由、平等通信的能力,体现了互联网自由、平等的本质。 目前,在学术界和工业界对P2P没有一个统一的定义,不同的研究学者和机构分别从不同的角度给出了P2P的定义。这些定义之间并不矛盾,均从不同侧面反映了P2P的内在特点。 Graham通过三个关键条件对P2P进行定义: (1)具有服务器质量的可运行计算机; (2)具有独立于DNS的寻址系统; (3)具有与可变连接合作的能力。 Abere通过描述P2P系统的七个特征来定义P2P系统,这些特征如下: (1)没有集中的协调中心; (2)没有集中的数据库; (3)P2P节点没有整个系统的全局视图; (4)全局的行为依靠局部的相互作用; (5)所有存在的数据和服务都是可访问的; (6)P2P节点是自治的; (7)P2P节点及其相互之间的连接都是不可靠的。 惠普实验室(Hewlett-Packard Laboratories)的Milojicic将P2P系统定义为一类采取分布式方式、利用分布式资源完成关键功能的系统。分布式资源包括计算能力、存储空间、数据、网络带宽,以及各种存在的可用资源。关键功能可以是分布式计算、数据内容共享、通信与协作或平台服务。分布式方式可以应用到算法、数据、元数据或所有方面,但并不排除在系统或应用程序的某些部分保留集中式的方式。典型的P2P系统主要应用在互联网边缘或Ad-Hoc网络环境中。 Shirky将P2P系统定义为一种利用互联网边缘的各种可用资源(如存储空间、计算能力、媒体内容、人力资源等)的应用程序。因为访问这些分散的边缘资源意味着要在连接不稳定和IP地址不可预见的环境下工作,所以P2P节点必须能够独立于DNS系统且拥有独立于集中服务器的完全的自治。 Intel公司的P2P工作组(P2PWorkin--roup,P2PW-)将P2P系统定义为“通过在系统之间直接进行交换来共享计算机资源和服务的系统”,这些资源与服务包括信息交换、处理器时钟、缓存和磁盘空间等。 IBM对P2P的定义则更为广泛,认为P2P是由若干互联协作的计算机构成的系统,系统具备以下特征: (1)系统依存于边缘化(非中央式服务器)设备的主动协作,每个成员直接从其他成员而不是从服务器的参与中受益; (2)系统中成员同时扮演服务器与客户端的角色; (3)系统应用的用户能够意识到彼此的存在而构成一个虚拟或实际的群体。从研究的角度看,P2P包含三个层面的含义。 (1)P2P实现技术:实现P2P应用系统时所用到的技术,包括相关协议(如Gnutella、FastTrack等)。 (2)P2P通信模式:与传统的C/S模式不同,每个通信方都具有相同的逻辑能力,并且每个通信方都有能力发起一个通信过程。 (3)P2P网络:由P2P节点、附属管理设备(如索引服务器等)及其相关应用等组成的可实现P2P功能的网络。它是一种运行在互联网上动态变化的逻辑网络。每个P2P系统都对应一个P2P网络。P2P网络是一种具有较高扩展性的分布式系统结构,其对等概念是指网络中的物理节点在逻辑上具有相同的地位,而非处理能力的对等。 简单地说,P2P可以让不同计算机用户之间不经过中继设备直接交换数据或服务。在P2P网络中,每个节点的地位都是相同的,具备客户端和服务器双重特性,可以同时作为服务使用者和服务提供者。由于P2P的飞速发展,互联网的存储模式将由目前的“内容位于中心”模式转变为“内容位于边缘”模式,改变互联网目前以大网站为中心的状态,重返“非中心化”。本书后继章节将主要讲述P2P网络层面的原理和应用,同时涵盖部分P2P实现技术和P2P通信模式层面的内容。 1.2 P2P特点 P2P其实并非一个全新的事物。事实上自互联网诞生之日起,P2P就已经存在,它是互联网的起源和基础。P2P改变了目前互联网中占主导地位的客户/服务器结构中信息在消费者和生产者之间的不平衡。如图1-1所示,由于P2P网络没有中心节点(中心服务器),网络中的每个节点具有信息消费者和信息提供者的双重身份,同时具有信息通信方面的功能,因此P2P应用的实现扩展性强,实现方式灵活多样,部署成本低,给互联网的发布和共享带来了巨大的空间。 图1-1 P2P方式与C/S方式的区别 总体来说,P2P具有以下特点。 (1)P2P是动态的:动态地提供信息和服务。 (2)P2P是双向的:切实实现信息和服务的交换与共享。 (3)P2P是直接的:无中介、等级和格式限制,直接交换信息和服务。 (4)P2P是平等的:生产者与消费者地位平等,角色合二为一。 (5)P2P是及时的:无服务器参与空间分配,可提供实时、可升级的信息。 (6)P2P是有效的:可充分利用个人计算机的硬件设备、传输信息和服务时目标确定。 与C/S结构相对比,P2P的优势体现在非中心化、可扩展性、健壮性、高性能/价格比、隐私保护和负载均衡这几个方面。 (1)非中心化(decentralization)。网络中的资源和服务分散在所有节点上,信息传输和服务的实现都直接在节点之间进行,可以无需中间环节和服务器的介入,避免了可能的瓶颈。 (2)可扩展性(scalability)。在P2P网络中,节点在获取其他节点资源的同时也为其他节点服务。随着用户的加入,不仅服务的需求增加了,系统整体的资源和服务能力也在同步扩充,始终能较便捷地满足用户的需要。这就使P2P系统的服务能力能够随需求的增长而自然增长,具有“与生俱来”的可扩展性,能够解决传统C/S架构容易产生“热点效应”的问题。 (3)健壮性(robustness)。P2P网络通常都是以自组织的方式建立起来的,并允许节点自由地加入和离开。P2P网络天生具有耐攻击、高容错的优点。由于服务是分散在各个节点之间进行的,当部分节点或网络遭到破坏时,对其他部分的影响很小。P2P网络一般在部分节点失效时能够自动调整网络的整体拓扑,保持与其他节点的连通性。P2P网络还能根据网络带宽、节点数、负载等变化不断地作自适应的调整。 (4)高性能/价格比。采用P2P架构可以有效地利用互联网中散布的大量普通节点,将计算任务或存储资料分布到所有节点上。利用其中空置的计算能力或存储空间,达到高性能计算和海量存储的目的。通过利用网络中的大量空闲资源,可以用更低的成本提供更强的计算能力和更高的存储能力。 (5)隐私保护。在P2P中,所有参与者可以提供中继转发的功能,因此大大提高了匿名通信的灵活性和可靠性,能够为用户提供更好的隐私保护。 (6)负载均衡。P2P网络环境下由于每个节点既是服务器又是客户端,减少了对传统C/S结构中服务器计算能力、存储能力的要求,同时由于资源分布在多个节点,因此能更好地实现整个网络的负载均衡。 1.3 P2P发展历史与现状 1.3.1 P2P发展的四个阶段 P2P并不是一项新的技术,实际上,在互联网诞生之初基本的P2P技术就已经出现了。在早期的互联网中,P2P实际是占主导地位的网络结构。当时,互联网仅用于学术研究,由专业的用户操作和维护,并使用当时*强大的计算机。这些计算机既是网络客户端又是服务器。每一台主机都拥有固定的IP地址及域名,允许其他主机在需要时与它们通信。 1979年,Truscott和Ellis开发了早期基于P2P的典型应用:新闻讨论组(uses network,USENET)。它是互联网上信息传播的一个重要组成部分,也是互联网上一种高效率的交流方式。它通过由个人或公司负责维护的新闻服务器提供服务,并可管理成千上万个新闻组。USENET通过电话线成批地进行文件交换,这通常是在夜间进行的,因为此时的长途话费更低。另一个早期P2P的典型应用FidoNet是由Jennings在1984年开发的。该软件用来在不同的通告系统(BBS)或电子消息中心的用户之间进行信息交换,通常服务于一些兴趣组并通过调解器(modem)进行访问。 1993年,**个流行的Web浏览器Mosaic诞生了,互联网也进入了第二个发展阶段。Mosaic可以在一个页面上同时显示图片和文本,这使得互联网比以往更具有可访问性。万维网(world wide web,WWW)风靡一时,使互联网逐步形成了以少数服务器为中心的客户/服务器结构。在客户/服务器结构下,对客户机的资源要求非常少,因此可以使用户以非常低廉的成本方便地连接互联网,推动了互联网的快速普及。 但是,随着互联网的逐渐普及并深入人们的日常生活,人们需要更直接、更广泛的信息交流,可以实现更多的资源和服务共享。普通用户希望能够更全面地参与到互联网的信息交流中,而计算机和网络性能的提升也使其具有了现实的可能性。在此背景下,P2P再一次受到了广泛关注。 1999年,Napster软件将P2P重新带回网络世界,P2P应用才真正地迅速流行起来。Napster允许对等的用户不受任何干涉地进行上传和下载。通过Napster提供的软件,乐迷可以共享自己硬盘上的音乐文件,同时可以搜索并下载其他用户共享出来的音乐文件。与提供免费音乐下载的MP3.com不同,Napster并不提供MP3音乐资源,只提供动态刷新的MP3目录服务。Napster在短时间里吸引了5000万用户,它的成功使人们意识到P2P拓展到整个互联网领域的可能性。 到目前为止,P2P技术的发展经历了四个阶段:集中式、纯分布式、混合式和结构化模型。每个阶段都代表着一种P2P技术的网络模型,其中,混合式模型是当前*为成熟、有效的实现方式。 集中式P2P又被称为**代P2P应用。一般来说,每种模式均需要有一个中心服务器来负责记录共享信息以及回答对这些信息的查询。每个对等体对它要共享的信息及进行的通信负责,根据需要下载它所需要的其他对等体上的信息,因此这种模式被称做“集中式P2P”。人们通常把肖恩??范宁(Shawn Fanning)于1998年编写的Napster程序视为典型意义上P2P应用的开始。Napster程序的运作模式是通过将安装Napster音乐共享软件的某使用者的个人计算机连接到Napster服务器中的一台,将该使用者可用来交换的音乐文件索引“上传”到服务器中建立资料库。资料库在其中扮演媒介的角色,它将告知需要该音乐文件的其他使用者在何处有他想要的文件。当其他使用者确定要从该使用者那里取得音乐文件时,两个用户间即开始建立连接进行下载。由于Napster这类软件需依靠中央服务器来管理集中的文件列表,因此这一代的P2P文件交换系统的生命力十分脆弱,只要关闭服务器,交换就停止。 纯分布式P2P被称为第二代P2P应用,它的出现是为了从根本上改进**代P2P软件的缺陷。纯分布式P2P网络中不存在中枢服务器,所有的服务及其相关信息完全散布于各个P2P节点中,因此它*显著的特点就是“完全的去中心化”。纯分布式P2P采用了随机图的组织方式来形成一

商品评论(0条)
暂无评论……
书友推荐
本类畅销
编辑推荐
返回顶部
中图网
在线客服