內容簡介
基礎理論篇對P2P網路的定義、典型的網路拓撲結構、套用與研究現狀以及當今5種主流的P2P系統分別進行了介紹;通過與傳統的搜尋技術相比較,分析了P2P搜尋技術的原理;對P2P技術所涉及的安全問題逐一進行了分析;對P2P套用的相關技術進行了深入剖析。
C++開發案例篇介紹了P2P套用開發的兩個平台,然後針對5個具體的P2P系統進行了詳細的系統介紹和源碼分析,包括P2P檔案共享系統、P2P即時通信系統、P2P流媒體系統和P2P視頻點播系統。
本書可供廣大從事P2P
網路技術工作的研發人員和工程技術人員閱讀參考,也可作為
高等院校通信類、網路類、信息類、計算機類、電子類等專業高年級本科生和研究生學習
P2P技術的書籍。
圖書目錄
基礎理論篇
第1章 P2P基本概念
1.1 P2P網路的定義
1.2 P2P網路結構
1.2.1 集中式P2P網路
1.2.2 完全分散式非結構化P2P網路
1.2.3 完全分散式結構化P2P網路
1.2.4 混合式P2P網路
1.2.5 P2P網路和傳統網路的對比
1.3 P2P網路的套用
1.4 P2P的發展
1.4.1 起步
1.4.2 發展
1.4.3 高峰
1.5 P2P技術國內外研究現狀
1.5.1 國外相關研究
1.5.2 國內研究現狀
1.6 本章總結
1.7 練習題
第2章 主流P2P系統
2.1 檔案共享類系統
2.1.1 Napster
2.1.2 Gnutella
2.1.3 BitTorrent
2.1.4 eMule
2.1.5 Maze
2.2 即時通信類系統
2.2.1 Skype
2.2.2 QQ
2.2.3 GTalk
2.3 流媒體類系統
2.3.1 AnySee
2.3.2 PPLive
2.4 共享存儲類系統
2.4.1 OceanStore
2.4.2 Granary
2.5 對等計算類系統
2.6 本章總結
2.7 練習題
第3章 P2P網路的基礎——搜尋和路由算法
3.1 傳統搜尋技術
3.2 P2P搜尋技術的發展
3.3 DHT網路(結構化P2P網路)的搜尋技術
3.3.1 DHT路由原理
3.3.2 Chord
3.3.3 Pastry
3.3.4 CAN 46
3.3.5 Tapestry
3.3.6 Kademlia
3.3.7 小結
3.4 非結構化P2P網路的搜尋技術
3.4.1 Flooding
3.4.2 Modified-BFS
3.4.3 Iterative Deepening
3.4.4 Random Walk
3.4.5 Query Routing
3.4.6 Gnutella2
3.4.7 移動Agent
3.4.8 小結
3.5 小世界(Small World)模型
3.5.1 小世界模型概述
3.5.2 聚類分布(CD)算法
3.5.3 小世界網路的研究現狀
3.6 P2P搜尋技術研究的挑戰
3.7 本章總結
3.8 練習題
第4章 P2P套用與安全
4.1 P2P套用面臨的安全問題
4.1.1 P2P套用引發的著作權問題
4.1.2 P2P套用對現有網路套用的威脅
4.1.3 P2P網路病毒與蠕蟲
4.1.4 結構化P2P網路的隱患
4.2 P2P套用與安全技術
4.2.1 P2P套用中的密碼學技術
4.2.2 P2P套用中的網路安全技術
4.2.3 利用P2P網路解決安全問題
4.3 P2P實例系統--Skype的安全性分析
4.3.1 Skype簡介
4.3.2 Skype安全機制分析
4.3.3 Skype流量識別
4.4 本章總結
4.5 練習題
第5章 P2P套用的相關技術
5.1 P2P與網路穿越
5.1.1 NAT網路概念
5.1.2 STUN協定與NAT穿越
5.1.3 UDP穿越NAT
5.1.4 TCP穿越NAT
5.1.5 NAT類型檢測
5.1.6 常見NAT穿越解決方案
5.2 P2P與IMS結合
5.2.1 什麼是IMS
5.2.2 P2P與IMS的網路融合
5.3 VoIP通信基礎
5.3.1 VoIP系統概念
5.3.2 H.323協定
5.3.3 SIP
5.3.4 RTP
5.3.5 RTSP
5.4 P2P和SIP的結合
5.4.1 P2P和SIP結合方案分析
5.4.2 基於Pastry設計P2P-SIP系統
5.5 本章總結
5.6 練習題
C++開發案例篇
第6章 P2P套用開發平台
6.1 Windows Peer-to-Peer Networking平台
6.1.1 Windows Peer-to-Peer Networking平台簡介
6.1.2 Windows Peer-to-Peer Networking平台結構
6.1.3 Windows Peer-to-Peer Networking平台工作機制
6.1.4 Windows Peer-to-Peer Networking平台開發環境
6.1.5 Windows Peer-to-Peer Networking平台開發入門
6.2 JXTA
6.2.1 JXTA簡介
6.2.2 JXTA的平台結構
6.2.3 JXTA的基本概念
6.2.4 JXTA的網路架構
6.2.5 JXTA開發環境
6.3 本章總結
6.4 練習題
第7章 P2P檔案共享系統開發實例一——eMule的設計與實現
第8章 P2P檔案共享系統開發實例二——BT的設計與實現
第9章 P2P即時通信系統開發實例——Hermes的設計與實現
第10章 P2P流媒體系統開發實例——PeerCast的設計與實現
第11章 P2P視頻點播系統開發實例——Myseelite的設計與實現