第一部分 P2P基本概念 3
第1章P 2P技术基本概念 3
1.1 P2P网络的定义 3
1.2 P2P的特点 4
1.3 P2P的功能和对应技术 5
1.4 P2P的主要应用 6
1.5 P2P技术发展历史及前景 7
1.5.1 P2P的发展历史 7
1.5.2 发展前景 8
1.6 相关标准 9
1.6.1 IETF组织制定的标准 9
1.6.2 中国通信标准化协会(CCSA)制定的标准 10
1.6.3 美国分布式计算产业协会(DCIA)的P4P标准 10
1.6.4 中国P2P标准化工作组的DDP标准 10
第2章 主流P2P应用 11
2.1 文件共享 11
2.1.1 Napster 11
2.1.2 Gnutella 12
2.1.3 BitTorrent 14
2.1.4 eNule 16
2.1.5 Maze 17
2.2 即时通信 18
2.2.1 Skype 18
2.2.2 GTalk 19
2.2.3 QQ 20
2.3 流媒体 20
2.3.1 PPLive 20
2.3.2 PPSream 21
2.3.3 AnySee 22
2.4 共享存储 22
2.4.1 CFS 22
2.4.2 Total Recall 23
2.4.3 OceanStore 23
2.4.4 Granary 24
2.5 对等计算与协同处理 24
2.5.1 SETI@home 24
2.5.2 Groove 25
参考文献 25
第二部分 P2P原理分析 29
第3章 P2P网络模型概述 29
3.1 常见网络模型 29
3.1.1 随机网络 29
3.1.2 规则网络 30
3.1.3 小世界网络 31
3.2 集中目录式P2P网络模型 33
3.2.1 原理简介 33
3.2.2 典型应用:BitTorrent 34
3.3 纯P2P网络模型 35
3.3.1 纯P2P非结构化网络模型 36
3.3.2 纯P2P结构化网络模型 38
3.4 分层式P2P网络模型 39
3.4.1 原理简介 39
3.4.2 查询机制 40
3.4.3 簇管理 40
3.4.4 性能分析 40
参考文献 41
第4章 P2P网络中的资源定位方法 43
4.1 资源搜索算法 43
4.1.1 盲目搜索算法 43
4.1.2 启发式智能搜索算法 53
4.2 资源查询算法 55
4.2.1 关键字查询 56
4.2.2 向量空间模型的检索方案 58
4.2.3 隐含语义的检索方案 60
参考文献 61
第5章 结构化P2P系统的算法 64
5.1 分布式散列表(DHT) 64
5.1.1 DHT背景 64
5.1.2 DHT原理 64
5.1.3 DHT功能及实现 65
5.2 DHT的分类 66
5.2.1 Multi-hop DHT 66
5.2.2 O(1)DHT 66
5.2.3 One-hop DHT 66
5.3 DHT算法选讲 66
5.3.1 Chord 66
5.3.2 Pastry 73
5.3.3 CAN[6] 79
5.3.4 Kademlia 83
5.3.5 Kelips[9] 88
5.3.6 Beehive 92
5.3.7 One-hop[12] 95
5.3.8 D1HT[13] 98
参考文献 99
第6章 DHT网络中的负载均衡和可靠性 101
6.1 DHT网络中的负载均衡概述 101
6.2 DHT负载均衡算法 103
6.2.1 改变节点ID的负载均衡算法 103
6.2.2 移动资源的负载均衡算法 105
6.2.3 虚拟节点的负载均衡算法 105
6.2.4 热点问题的解决[12-14] 111
6.3 DHT网络中的数据可靠性 112
6.3.1 DHT网络中的数据冗余机制 113
6.3.2 DHT网络中的冗余数据分发机制 114
6.3.3 DHT网络中的错误检查及一致性维护机制 118
6.3.4 DHT网络中的数据恢复机制 120
6.3.5 DHT网络中数据的安全问题 121
参考文献 121
第三部分 P2P技术应用 127
第7章 P2P网络中的NAT穿越技术 127
7.1 P2P网络中的NAT穿越问题 127
7.1.1 NAT的原理与类型 127
7.1.2 常见NAT穿越解决方案 129
7.2 P2P网络中典型NAT穿越技术详解 131
7.2.1 P2P网络中UDP穿越NAT的原理与实现 131
7.2.2 P2P网络中TCP穿越NAT的原理与实现 138
7.2.3 P2P网络中NAT的特性 141
7.3 基于P2P结构的NAT穿越技术 143
7.3.1 Skype的NAT穿越方案 143
7.3.2 P2PSIP中ICE的解决方案 144
参考文献 148
第8章 P2P网络中的内容分发技术 149
8.1 内容分发技术分类 149
8.1.1 中心化服务器内容分发 149
8.1.2 CDN网络内容分发 150
8.1.3 P2P网络内容分发 152
8.1.4 混合内容分发 154
8.2 P2P中的内容分发技术 155
8.2.1 内容定位技术 155
8.2.2 内容存储技术 157
8.2.3 内容分片技术 158
8.2.4 数据调度技术 160
8.2.5 P2P内容分发系统举例 163
8.3 编码技术 164
8.3.1 网络编码概述 164
8.3.2 几种主要的网络编码方式 167
8.3.3 网络编码的应用 168
8.3.4 网络编码在P2P内容分发中的作用 174
8.4 应用层多播技术 175
8.4.1 应用层多播简介 175
8.4.2 P2P应用层多播结构 176
8.4.3 P2P应用层多播系统 177
参考文献 180
第9章 P2P VoIP的技术分析 183
9.1 VoIP概述 183
9.1.1 VoIP基本概念和原理 183
9.1.2 VoIP中的关键技术 184
9.2 P2P VoIP技术 189
9.2.1 P2P VoIP概述 189
9.2.2 P2PVoIP中的关键技术 189
9.3 Skype技术 191
9.3.1 Skype概述 191
9.3.2 Skype的工作原理 191
9.3.3 Skype的中继系统研究 197
9.4 基于SIP的P2PVoIP 198
9.4.1 基于SIP的VoIP 198
9.4.2 基于SIP的P2P VoIP基本体系结构 199
9.4.3 基于SIP的P2P VoIP高级问题 203
参考文献 204
第四部分 P2P与电信网的结合第10章 P2P与电信运营商 209
10.1 P2P对电信运营商的影响 209
10.2 电信运营商对P2P流量的监管 211
10.2.1 P2P监管问题概述 212
10.2.2 P2P流量识别技术 214
10.2.3 P2P流量控制技术 219
10.2.4 P2P流量监控系统解决方案 219
10.3 电信运营商与P2P应用的协作 222
10.3.1 基于网络拓扑信息的协作方案 222
10.3.2 基于P2P Cache的协作方案 230
10.4 电信运营商对P2P技术的利用 234
10.4.1 可运营、可管理的P2P网络 234
10.4.2 发展P2P重叠网络进行互联网的分布式控制管理 236
10.4.3 分布式业务网络(DSN) 241
10.4.4 P2P核心网平台 243
参考文献 244
第11章 P2PSIP 246
11.1 SIP 246
11.1.1 SIP简介 246
11.1.2 传统SIP会话流程 246
11.1.3 传统SIP中的注册机制 247
11.2 P2PSIP网络的结构及其实现 250
11.2.1 P2PSIP简介 250
11.2.2 P2PSIP常用术语 251
11.2.3 P2PSIP网络架构 251
11.2.4 用户注册过程 255
11.2.5 用户呼叫过程 256
11.3 P2PSIP的协议 257
11.3.1 RELOAD协议综述 257
11.3.2 RELOAD的术语定义 259
11.3.3 RELOAD的覆盖网络管理需求及协议的设计 260
11.3.4 RELOAD协议支持的应用概述及具体设计 273
11.3.5 RELOAD协议的安全考虑 278
11.4 P2PSIP的互联互通问题 280
11.4.1 分级P2PSIP 280
11.4.2 P2PSIP与传统SIP互通解决方案 283
参考文献 283
第12章 P2P与IMS的结合 285
12.1 IMS概述 285
12.1.1 IMS基本概念 285
12.1.2 IMS框架和功能实体介绍 285
12.1.3 IMS与NGN、软交换的关系 287
12.1.4 为什么选择IMS 288
12.1.5 IMS的现状 289
12.2 P2P与IMS网络的融合 294
12.2.1 IMS如何和P2P融合 294
12.2.2 P2P引入IMS[8] 296
参考文献 305
第五部分 P2P高级问题 309
第13章 P2P网络中的安全问题 309
13.1 P2P应用带来的安全问题 309
13.1.1 知识产权问题 309
13.1.2 P2P应用对现有网络的威胁 311
13.2 P2P的安全需求 312
13.2.1 P2P应用的安全需求 312
13.2.2 P2P网络安全威胁与安全需求 313
13.2.3 P2P网络攻击之间的关系 316
13.3 P2P中的安全技术 318
13.3.1 认证 318
13.3.2 密钥管理 323
13.3.3 P2P与路由安全 331
参考文献 334
第14章 P2P网络中的QoS 336
14.1 QoS综述 336
14.1.1 QoS概念 336
14.1.2 QoS中的性能指标 337
14.1.3 电信网的QoS 340
14.2 P2P QoS综述 344
14.2.1 文件下载 345
14.2.2 流媒体 346
14.2.3 VOIP 347
14.3 P2P QoS机制与算法 349
14.3.1 测量机制与算法 349
14.3.2 节点选择机制与算法 354
14.3.3 激励机制与算法 357
14.3.4 覆盖层路由 358
参考文献 365
第15章 移动P2P(MP2P) 367
15.1 MP2P的重要性 367
15.2 无线环境的特点及Ad Hoc介绍 368
15.2.1 无线环境与有线环境的区别 368
15.2.2 Ad Hoc网络 368
15.3 MP2P概述 371
15.3.1 MP2P的特点 371
15.3.2 MP2P的应用前景 373
15.4 MP2P网络体系结构 374
15.4.1 集中式结构 374
15.4.2 半分布式结构 375
15.4.3 中间件体系结构 376
15.5 MP2P性能分析 377
15.5.1 Gnutella及XL-Gnutella在无线环境中的性能分析 377
15.5.2 Chord在无线环境中的性能分析 391
15.5.3 流媒体在MP2P中的性能分析 397
15.6 本章总结 401
参考文献 402
第16章 仿真和开发 404
16.1 PlanetLab 404
16.1.1 PlanetLab简介 404
16.1.2 PlanetLab的典型应用 405
16.1.3 组织原则 405
16.1.4 责任人和信任关系 407
16.2 OverSim 408
16.2.1 OverSim简介 408
16.2.2 OverSim的平台结构 409
16.2.3 OverSim的开发环境 411
16.3 JXTA 422
16.3.1 JXTA简介 422
16.3.2 JXTA的基本概念 422
16.3.3 JXTA的协议及其应用体系结构 425
16.3.4 JXTA开发环境 426
参考文献 428