随着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
1