书籍详情

P2P网络技术原理与系统开发案例

P2P网络技术原理与系统开发案例

作者:杨天路、刘宇宏、等

出版社:人民邮电出版社

出版时间:2007-06-01

ISBN:9787115159779

定价:¥39.80

购买这本书可以去
内容简介
  《P2P网络技术原理与系统开发案例》通过基础理论篇与开发实践篇两个部分的讲解使读者对此技术有全面的了解。 随着P2P网络的飞速发展,P2P网络技术已经逐渐成为当今IT技术领域研究与应用的热点。基础理论篇对P2P网络的定义、典型的网络拓扑结构、应用与研究现状以及当今5种主流的P2P系统分别进行了介绍;通过与传统的搜索技术相比较,分析了P2P搜索技术的原理;对P2P特有的网络穿越技术进行了深入剖析;对P2P技术所涉及的安全问题逐一进行了分析。开发实践篇介绍了Python语言及JXTA,作为从事开发工作必要的基础知识,并给出了文件共享系统、全文检索系统、即时消息系统、多媒体通信系统等多个系统的开发实例。作为一本详细介绍并涉及P2P各热点研究方向的书籍,《P2P网络技术原理与系统开发案例》涵盖了P2P技术的基本概念、研究方向与主要研究热点,并给出了丰富的开发实例供读者参考。《P2P网络技术原理与系统开发案例》可供广大从事P2P网络技术工作的研发人员和工程技术人员阅读参考,同时也可作为高等院校通信类、网络类、信息类、计算机类、电子类等专业高年级本科生和研究生学习P2P技术的书籍。
作者简介
暂缺《P2P网络技术原理与系统开发案例》作者简介
目录
基础理论篇
第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 18
2.1.4 eMule 20
2.1.5 Maze 22
2.2 即时通信类系统 24
2.2.1 Skype 24
2.2.2 QQ 27
2.2.3 GTalk 28
2.3 流媒体类系统 29
2.3.1 AnySee 29
2.3.2 PPLive 31
2.4 共享存储类系统 32
2.4.1 OceanStore系统 32
2.4.2 Granary 33
2.5 对等计算类系统 35
2.6 本章总结 36
2.7 练习题 36
第3章 P2P网络的基础——搜索和路由算法 37
3.1 传统搜索技术 37
3.2 P2P搜索技术的发展 38
3.3 DHT网络(结构化P2P网络)的搜索技术 40
3.3.1 DHT路由原理 40
3.3.2 Chord 41
3.3.3 Pastry 45
3.3.4 CAN 47
3.3.5 Tapestry 49
3.3.6 小结 51
3.4 非结构化P2P网络的搜索技术 52
3.4.1 Flooding 52
3.4.2 Modified-BFS 53
3.4.3 Iterative Deepening 53
3.4.4 Random Walk 55
3.4.5 Query Routing 56
3.4.6 Gnutella2 57
3.4.7 移动Agent 58
3.4.8 小结 59
3.5 小世界(Small World)模型 59
3.5.1 小世界模型的引入 59
3.5.2 小世界网络拓扑 60
3.5.3 小世界网络的研究现状 61
3.6 P2P搜索技术研究的挑战 61
3.7 本章总结 62
3.8 练习题 62
第4章 P2P网络穿越 64
4.1 Middlebox与网络穿越 64
4.1.1 Middlebox概述 64
4.1.2 Middlebox的种类 65
4.2 穿越NAT网络 65
4.2.1 NAT网络概念 65
4.2.2 STUN协议与NAT穿越 71
4.2.3 UDP穿越NAT 74
4.2.4 TCP穿越NAT 75
4.2.5 NAT类型检测 76
4.2.6 常见NAT穿越解决方案 79
4.3 本章总结 81
4.4 练习题 81
第5章 P2P与网络安全 82
5.1 P2P网络引发的安全问题 82
5.1.1 P2P网络所引发的版权问题 82
5.1.2 P2P网络对现有网络应用的威胁 84
5.2 P2P网络面临的安全问题 84
5.2.1 P2P网络与传统网络在安全方面的区别 85
5.2.2 P2P网络病毒与蠕虫病毒 85
5.2.3 DHT安全 86
5.2.4 P2P网络安全技术 91
5.3 利用P2P网络解决安全问题 95
5.3.1 利用P2P网络的匿名通信系统 96
5.3.2 利用P2P网络防御DDoS攻击 99
5.4 Skype的安全性分析 101
5.4.1 Skype简介 101
5.4.2 Skype安全机制分析 106
5.4.3 Skype流量识别 110
5.5 本章总结 111
5.6 练习题 111
开发实践篇
第6章 Python语言开发基础 115
6.1 Python语言概述 115
6.1.1 Python的发展历史 115
6.1.2 Python的特性 116
6.1.3 Python的功能 116
6.2 安装和使用Python解释器 116
6.3 Python集成开发环境 118
6.4 基本数据类型和结构 119
6.4.1 列表 119
6.4.2 元组 120
6.4.3 字典 120
6.5 流程控制语句 121
6.5.1 if语句 121
6.5.2 for语句 121
6.5.3 while语句 122
6.5.4 break、continue和pass 122
6.6 函数的实现方法 123
6.7 类的使用 125
6.7.1 类的定义 125
6.7.2 类的继承 126
6.8 使用包组织程序 126
6.9 实现多线程程序 126
6.9.1 线程状态 127
6.9.2 线程对象 127
6.9.3 线程同步 128
6.10 网络编程实现与应用 131
6.10.1 Socket编程 131
6.10.2 网络编程库 133
6.11 用户界面编程基础 134
6.12 异常处理 135
6.13 文件处理 136
6.14 调试Python程序 137
6.14.1 使用IDLE调试程序 137
6.14.2 Pdb调试模块 139
6.14.3 使用print语句 141
6.15 本章总结 141
6.16 练习题 141
第7章 JXTA开发基础 142
7.1 JXTA简介 142
7.1.1 为什么选择JXTA 142
7.1.2 JXTA是什么 143
7.2 JXTA的平台结构 143
7.2.1 总体描述 143
7.2.2 JXTA的组件 144
7.2.3 JXTA结构的关键特征 144
7.3 JXTA的基本概念 145
7.3.1 对等点 145
7.3.2 点组 145
7.3.3 网络服务 146
7.3.4 模块 147
7.3.5 管道 148
7.3.6 双向可靠通信信道(JxtaSocket,JxtaBiDiPipe) 149
7.3.7 消息 150
7.3.8 通告 150
7.3.9 安全 154
7.3.10 ID 154
7.4 JXTA的网络架构 155
7.4.1 组织形式 155
7.4.2 分布式共享资源索引(SRDI) 155
7.4.3 查询过程 156
7.4.4 防火墙和NAT 157
7.4.5 JXTA协议 158
7.5 JXTA开发环境 160
7.5.1 安装JDK 160
7.5.2 安装NetBeans 163
7.5.3 安装JXTA开发库 164
7.6 JXTA开发入门 164
7.6.1 HelloWorld 164
7.6.2 创建和加入点组 172
7.6.3 使用管道进行通信 177
7.6.4 JXTA套接字 188
7.7 本章总结 195
7.8 练习题 196
第8章 P2P文件共享系统开发 197
8.1 P2P文件共享概述 197
8.2 BitTorrent文件共享系统实现分析 197
8.2.1 BitTorrent协议分析 198
8.2.2 BitTorrent下载部署 200
8.2.3 BitTorrent种子文件分析 205
8.2.4 Tracker服务器实现 208
8.2.5 BitTorrent客户端实现 209
8.3 使用Python实现P2P文件共享 210
8.3.1 系统设计 210
8.3.2 命令处理 210
8.3.3 共享文件列表 211
8.3.4 文件传输模块 211
8.3.5 实现代码分析 211
8.4 本章总结 216
8.5 练习题 217
第9章 P2P全文检索系统的设计与实现 218
9.1 系统目标 218
9.1.1 系统背景 218
9.1.2 系统建设目标及原则 219
9.1.3 软件支撑环境 219
9.1.4 功能性目标 220
9.1.5 性能性目标 221
9.2 系统原理 222
9.2.1 本地关键字处理 223
9.2.2 P2P网络路由 229
9.3 系统设计 234
9.3.1 静态模型 234
9.3.2 动态模型 238
9.3.3 接口设计 242
9.4 程序示例 242
9.4.1 虚节点路由表的接口函数 242
9.4.2 虚节点路由表的代码实现 243
9.5 系统分析 263
9.5.1 系统的扩展性 263
9.5.2 系统安全性分析 263
9.5.3 虚节点内部的路由机制问题 264
9.6 本章总结 265
9.7 练习题 266
第10章 使用JXTA设计P2P即时消息系统 267
10.1 即时通信系统简介 267
10.1.1 即时通信系统的起源及发展 267
10.1.2 即时通信系统结构分析 268
10.2 用JXTA开发即时通信系统 269
10.3 XCHAT系统设计 269
10.3.1 模块设计 269
10.3.2 协议设计 270
10.4 XCHAT系统实现 270
10.4.1 本地好友列表的实现 270
10.4.2 好友信息维护模块的实现 271
10.4.3 用户界面模块的实现 277
10.4.4 信息发送模块的实现 284
10.5 本章总结 288
10.6 练习题 288
第11章 P2P与多媒体通信 289
11.1 VoIP通信基础 289
11.1.1 VoIP系统概念 289
11.1.2 H.323协议 291
11.1.3 SIP协议 292
11.1.4 RTP协议 294
11.1.5 RTSP协议 294
11.2 P2P和SIP的结合 295
11.2.1 P2P和SIP结合方案分析 296
11.2.2 基于Pastry设计P2P-SIP系统 299
11.2.3 P2P-SIP系统的安全问题 302
11.3 P2P流媒体系统概念 304
11.3.1 流媒体内容发布网络技术 304
11.3.2 P2P流媒体系统概述 305
11.3.3 P2P流媒体系统架构 305
11.3.4 目前现有系统 306
11.4 流媒体技术 306
11.5 设计P2P音视频点播系统 307
11.5.1 多媒体数据压缩 307
11.5.2 应用层QoS 307
11.5.3 应用层多播技术 307
11.5.4 流媒体同步技术 308
11.5.5 PeerCast实现分析 308
11.5.6 改造BitTorrent成为流媒体系统 312
11.6 本章总结 312
11.7 练习题 312
猜您喜欢

读书导航