本书较为系统地介绍了P2P的理论基础,对P2P的基础路由,如DHT算法、DHT性能作了深入介绍,对最新的理论成果网络编码也作了深入浅出的分析。同时,本书对P2P传送过程进行了建模,从模型的高度抽象提取了传送过程中的几个核心参数,并分析核心参数之间的依赖关系,为P2P传送优化和播放器缓存设计提供了有价值的理论参考。在此基础上,本书列举了大量P2P的应用实例,为读者理解P2P应用方法提供了丰富的参考。此外,本书还前瞻性地提出了P2P在IPv6网络环境下的问题,指出在IPv6与IPv4共存的环境下,P2P必须依赖自身的算法来自适应不同的网络环境,并提出了具体的解决方案。这些方案的有效性已经通过实践验证,为P2P向IPv6发展提供了重要参考。通过阅读本书,读者能够快速掌握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