当前位置:首页 > 工业技术
P2P技术揭秘  P2P网络技术原理与典型系统开发
P2P技术揭秘  P2P网络技术原理与典型系统开发

P2P技术揭秘 P2P网络技术原理与典型系统开发PDF电子书下载

工业技术

  • 电子书积分:18 积分如何计算积分?
  • 作 者:管磊等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302228301
  • 页数:636 页
图书介绍:本书共14章,主要内容包括P2P概述、P2P网络拓扑结构、P2P网络搜索技术、P2P关键技术及应用、P2P网络中的NAT穿透技术、基于P2P的BitTorrent技术等。
《P2P技术揭秘 P2P网络技术原理与典型系统开发》目录

第1篇 基础理论篇 2

第1章 走进P2P的世界(教学视频:13分钟) 2

1.1 从Internet说起 2

1.1.1 Internet的起源 2

1.1.2 Web的憧憬与发展瓶颈 3

1.2 横空出世的P2P 6

1.2.1 Peer-To-Peer介绍 6

1.2.2 P2P的意义解析 7

1.2.3 P2P的定义和特点 8

1.3 P2P与Web的对比与较量 10

1.3.1 基于Web的S/C与P2P在结构上的比较 10

1.3.2 Web与P2P在资源传输上的比较 11

1.3.3 Web与P2P在请求方式上的比较 13

1.3.4 竞争还是互补 14

1.4 P2P的起源与初步发展 14

1.4.1 从ARPANET追溯P2P的起源 14

1.4.2 P2P的萌芽 15

1.4.3 P2P的起步 16

1.5 P2P的发展实例 19

1.5.1 P2P文件共享系统——eMule 19

1.5.2 P2P下载技术——迅雷(Thunder) 20

1.5.3 P2P文件传输技术——BT 21

1.5.4 P2P视频分发技术——PPLive 23

1.5.5 P2P网络语言通信技术——Skype 24

1.6 P2P的技术特点及存在的问题 25

1.6.1 P2P网络的特点 25

1.6.2 P2P发展带来的问题 26

1.7 P2P的研发与未来 27

1.7.1 国内学术机构研发情况 28

1.7.2 国内企业研发的情况 29

1.7.3 P2P的新机遇 30

1.7.4 P2P的应用简述 30

1.7.5 P2P在中国的发展 32

1.8 本章小结 33

第2章 P2P网络拓扑结构(教学视频:19分钟) 34

2.1 谜一样的网络世界 34

2.1.1 走进网络世界 34

2.1.2 繁星般的网络 35

2.1.3 如何组织网络 35

2.2 网络拓扑技术 36

2.2.1 什么是网络拓扑结构 37

2.2.2 星型拓扑结构 38

2.2.3 总线型拓扑结构 39

2.2.4 环型网络拓扑结构 40

2.3 基于拓扑结构的P2P网络分类 41

2.4 集中式的P2P网络拓扑 42

2.4.1 集中式P2P网络拓扑的原理 43

2.4.2 集中式P2P网络结构 43

2.4.3 集中式P2P网络的优缺点 44

2.4.4 集中式P2P网络系统实例 45

2.5 全分布式结构化P2P网络拓扑 46

2.5.1 什么是DHT技术 46

2.5.2 DHT的相关概念 47

2.5.3 DHT的原理与性质 47

2.5.4 全分布式结构化P2P的原理 48

2.5.5 CAN项目 49

2.5.6 Chord协议 50

2.5.7 Tapestry项目 52

2.5.8 Pastry项目 52

2.5.9 全分布式结构化P2P拓扑存在的问题 53

2.6 全分布式非结构化的P2P网络 54

2.6.1 非结构化P2P网络拓扑概述 54

2.6.2 全分布式非结构化P2P网络的应用实例 54

2.6.3 非结构化P2P网络存在的问题 56

2.7 混合式P2P网络结构 56

2.7.1 混合式P2P网络的原理 56

2.7.2 混合式P2P网络的优缺点 57

2.7.3 混合式P2P拓扑的应用实例——KaZaa 57

2.7.4 P2P网络拓扑结构的集中对比 58

2.8 发展中的P2P技术 59

2.9 本章小结 60

第3章 P2P网络的搜索技术(教学视频:14分钟) 61

3.1 搜索与搜索引擎 61

3.1.1 互联网的大搜索时代 62

3.1.2 Web搜索引擎 63

3.1.3 搜索引擎的工作原理 63

3.1.4 Web搜索的优缺点 65

3.2 P2P搜索与Web搜索的异同 65

3.2.1 什么是P2P搜索 65

3.2.2 面向的网络结构异同 66

3.2.3 搜索过程的异同 67

3.2.4 资源发现策略的异同 67

3.3 P2P搜索技术综述 68

3.3.1 P2P搜索研究的内容 68

3.3 2 P2P搜索的国内外研究现状 69

3.3.3 现有主要的P2P搜索方法 70

3.4 P2P搜索技术评价标准 71

3.4.1 P2P搜索的评价指标体系 71

3.4.2 从用户的角度评价P2P搜索 71

3.4.3 从网络的角度评价P2P搜索 73

3.5 集中式P2P网络搜索技术 74

3.5.1 集中式P2P的目录索引机制 74

3.5.2 集中式P2P的搜索策略 75

3.6 结构化P2P网络的搜索方法 76

3.6.1 基于DHT的资源定位机制 76

3.6.2 基于DHT的搜索实现 77

3.6.3 Chord网络搜索技术 77

3.6.4 Pastry网络搜索技术 79

3.6.5 CAN与Tapestry 80

3.6.6 基于DHT的搜索定位技术存在的问题 80

3.7 非结构化P2P网络的搜索方法 81

3.7.1 Flooding搜索算法 82

3.7.2 Flooding搜索的原理及应用 82

3.7.3 Flooding搜索存在的问题 83

3.7.4 迭代递增搜索(iterative deePening) 84

3.7.5 启发式泛洪搜索 85

3.7.6 Random Walk搜索方法 86

3.7.7 小世界模型(SmallWorld)对P2P搜索技术的影响 87

3.8 混合式P2P网络搜索技术 88

3.8.1 混合的鸡尾酒搜索算法 88

3.8.2 模拟退火思想的混合搜索算法 88

3.8.3 Gnutella 2的搜索算法 89

3.9 P2P搜索技术研究的机遇与挑战 89

3.9.1 P2P搜索研究的机遇 89

3.9.2 P2P搜索技术面临的挑战 90

3.9.3 P2P搜索的进一步研究方向 90

3.10 本章小结 91

第4章 P2P的关键技术及其应用(教学视频:24分钟) 92

4.1 P2P的体系结构技术 92

4.1.1 动态的变化 92

4.1.2 平等的参与 94

4.1.3 分散与自治 95

4.1.4 网络结点中的角色划分 95

4.2 P2P的内容存储技术 96

4.2.1 资源的标识 96

4.2.2 资源的获取 98

4.3 内容查询技术 98

4.3.1 Peer的定位方式 99

4.3.2 搜索算法 101

4.3.3 精确及深度检索 102

4.3.4 关于结点的登录和退出 102

4.4 内容传输技术 103

4.4.1 P2P通信 103

4.4.2 互操作性 104

4.4.3 防火墙和NAT的穿越 104

4.4.4 网络服务质量(QoS)问题 105

4.4.5 P2P流媒体传输 106

4.5 P2P的系统安全技术 107

4.5.1 不安全的问题 107

4.5.2 P2P平台的匿名性 108

4.5.3 难以避免的安全隐患 108

4.6 P2P应用及其典型应用系统 109

4.6.1 P2P的应用分类 109

4.6.2 P2P的应用平台 110

4.7 P2P基于内容共享的应用 111

4.7.1 数据文件共享 111

4.7.2 CPU共享 113

4.7.3 存储空间共享 113

4.8 内容下载与分发 114

4.8.1 文件下载 114

4.8.2 流媒体分发 115

4.9 分布式计算 117

4.9.1 什么是分布式计算 118

4.9.2 P2P分布式计算的优点 118

4.9.3 基于P2P的分布式计算需要解决的问题 118

4.10 通信与协作 119

4.10.1 P2P即时通信 119

4.10.2 P2P协同工作环境 120

4.11 P2P其他的应用 121

4.11.1 IP层语音通信 121

4.11.2 P2P应用层组播 122

4.11.3 网络游戏平台 122

4.12 P2P系统应用及研发的平台 123

4.12.1 基于JXTA的P2P平台 123

4.12.2 基于DOTNet的P2P平台 123

4.13 P2P技术在企业级的应用 124

4.13.1 企业管理 124

4.13.2 电子商务 124

4.14 P2P的影响及价值 125

4.14.1 P2P对资源信息生产的影响 125

4.14.2 P2P对信息传播的影响 125

4.14.3 P2P对资源交互的影响 126

4.15 P2P应用所存在的问题 126

4.15.1 版权问题 126

4.15.2 带宽问题 127

4.15.3 垃圾信息问题 127

4.15.4 管理困难的问题 127

4.15.5 网络安全问题 127

4.15.6 标准之争 128

4.15.7 互操作性问题 128

4.15.8 拓扑的一致性和资源定位 128

4.16 本章小结 128

第2篇 技术应用篇 132

第5章 P2P网络中的NAT穿透技术(教学视频:24分钟) 132

5.1 什么是NAT 132

5.1.1 NAT简介 132

5.1.2 NAT的产生背景 133

5.1.3 NAT技术的优点 133

5.1.4 NAT的应用环境 133

5.1.5 NAT工作环境的软硬件配置 134

5.2 NAT的工作原理 134

5.2.1 NAT技术相关的几个概念 134

5.2.2 NAT的工作原理 135

5.2.3 NAT的工作方式 137

5.3 NAT的分类 137

5.3.1 基本NAT(Basic NAT) 137

5.3.2 网络地址及端口转换(NAPT) 138

5.3.3 对称NAT(Symmetric NAT) 139

5.3.4 Clone NAT(克隆NAT) 140

5.4 UDP连接下的NAT穿透技术 141

5.4.1 UDP概述 142

5.4.2 UDP穿透之中继(Relaying) 142

5.4.3 UDP穿透之反向连接 142

5.4.4 UDP穿透之Holing技术(UDP打洞技术) 143

5.4.5 UDP穿透NAT的实例 146

5.5 TCP连接下的NAT穿透技术 147

5.5.1 TCP简介 147

5.5.2 TCP穿透NAT的方式 148

5.6 NAT穿透在P2P系统中的应用 149

5.6.1 eMule穿透内网的原理 149

5.6.2 使用BT下载时NAT的穿透设置 150

5.6.3 迅雷下载的穿透技术 154

5.7 UPnP的P2P端口映射技术 154

5.7.1 UPnP的概念 154

5.7.2 哪些用户需要用UPnP功能 155

5.7.3 UPnP在P2P网络中的应用 155

5.7.4 使用UPnP的基本条件 156

5.7.5 设置UPnP的支持 156

5.8 本章小结 161

第6章 基于P2P的BT技术解析(教学视频:48分钟) 162

6.1 BT概述 162

6.1.1 BT简介 163

6.1.2 BT下载描述 164

6.1.3 传统下载方法与BT下载的比较 164

6.2 BT的下载技术 166

6.2.1 BT下载的部署 166

6.2.2 BT工作原理 167

6.2.3 BT的下载实现 169

6.3 BT协议规范及分析 172

6.3.1 BT协议规范说明 172

6.3.2 BT协议中的相关概念 173

6.3.3 BT协议分析之——B编码(Bencoding) 175

6.3.4 BT协议分析之——元信息文件结构 177

6.3.5 Bencoding编码与解码的编程实现 180

6.3.6 BT协议分析之——Tracker的HTTP/HTTPS协议 188

6.3.7 BT协议分析之——Peer端协议(Peerwire protocol) 193

6.4 如何使用BT 198

6.4.1 BT软件知多少 198

6.4.2 BitComet软件安装 199

6.4.3 使用BitComet进行BT下载 202

6.4.4 利用BitComet制作Torrent文件 206

6.4.5 BitComet选项设置详解 208

6.4.6 BitComet的常见问题及解决方法 214

6.4.7 BitComet快捷键及常用术语 217

6.5 BT的影响及未来发展 218

6.5.1 BT的影响 218

6.5.2 BT的广泛应用 219

6.5.3 BT技术的发展 220

6.6 本章小结 220

第7章 基于P2P的eMule文件共享技术(教学视频:40分钟) 221

7.1 eMule文件共享技术概述 221

7.1.1 eMule的起源与中文名称 221

7.1.2 从eDonkey说起 222

7.1.3 eMule与其他P2P软件相比的优点及特色 224

7.1.4 多样化的eMule版本 226

7.1.5 永远不会出现在eMule中的特性 228

7.2 eMule文件共享系统的原理 230

7.2.1 eMule网络结构 230

7.2.2 eDonkey 2000网络 231

7.2.3 Kad网络 232

7.2.4 Kad网络的搜索机制 233

7.2.5 Kad网络与eD2k网络的联系与区别 237

7.2.6 eMule的工作原理 238

7.3 eMule协议分析 240

7.3.1 eMule协议概述 240

7.3.2 eMule协议的核心内容 241

7.3.3 eMule协议中几个重要概念理解及程序实现 242

7.3.4 eMule协议分析之——客户端与服务器之间的TCP通信 249

7.3.5 eMule协议分析之——客户端到服务器端UDP通信 252

7.3.6 eMule协议分析之——客户端到客户端TCP通信 253

7.3.7 eMule协议分析之——客户端到客户端的UDP连接 259

7.4 eMule知识进阶 260

7.4.1 eD2k链接的含义 260

7.4.2 eMule系统中的LowID与HighID 263

7.4.3 eMule的积分系统 264

7.4.4 如何架设一个eMule服务器 266

7.5 如何“骑”好你的“驴” 273

7.5.1 使用电驴下载的几点优势 273

7.5.2 使用eMule进行文件下载 273

7.5.3 在eMule中如何上载文件 275

7.5.4 通过VeryCD发布eMule资源 277

7.5.5 如何使用eMule进行文件搜索 280

7.5.6 eMule的主菜单及简要说明 283

7.5.7 如何使eMule下载加速 285

7.6 本章小结 286

第8章 基于P2P的Skype即时通信技术(教学视频:33分钟) 287

8.1 什么是即时通信技术 287

8.1.1 即时通信的概念 287

8.1.2 即时通信的发展历程 288

8.1.3 即时通信系统是怎样工作的 293

8.1.4 即时通信系统的基本原理和工作流程 294

8.1.5 即时通信的基本功能及应用 296

8.1.6 即时通信系统发展的机遇与存在的问题 299

8.2 基于P2P技术的即时通信系统——Skype 301

8.2.1 Skype简介 301

8.2.2 Skype的VoIP功能 302

8.2.3 Skype与P2P技术 305

8.2.4 Skype的基本功能 308

8.2.5 Skype的技术优势 309

8.2.6 Skype的与众不同 311

8.3 Skype的技术分析 314

8.3.1 Skype的网络结构 315

8.3.2 Skype的基本构件 315

8.3.3 Skype的协议分析方法 317

8.3.4 Skype的通信流程分析 318

8.3.5 Skype的安全机制 323

8.4 Skype的应用及发展前景 326

8.4.1 Skype的下载、安装及注册 326

8.4.2 Skype基本使用方法 329

8.4.3 Skype的高级应用 335

8.4.4 Skype在商业上的应用及发展 337

8.4.5 中国的Tom-Skype简介 339

8.5 本章小结 340

第9章 基于P2P的流媒体技术(教学视频:27分钟) 341

9.1 初识流媒体 341

9.1.1 什么是流媒体技术 341

9.1.2 流媒体的网络结构与技术原理 342

9.1.3 流媒体的传输技术 345

9.1.4 流媒体的文件类型 346

9.1.5 流媒体的应用及发展 348

9.1.6 流媒体技术面临的问题 349

9.2 P2P与流媒体技术的结合 350

9.2.1 P2P技术应用到流媒体中的特性 350

9.2.2 P2P与流媒体的完美结合 351

9.2.3 P2P流媒体技术的研究情况 352

9.2.4 P2P流媒体技术的意义及应用前景 354

9.3 P2P流媒体关键技术分析 356

9.3.1 流媒体的数据分发策略 356

9.3.2 数据处理与编码技术 359

9.3.3 媒体文件的定位技术 360

9.3.4 媒体同步与拓扑均衡性 361

9.3.5 媒体数据的交换技术 362

9.3.6 媒体数据的缓存技术 363

9.3.7 P2P流媒体系统的重要机制 364

9.4 P2P流媒体的应用及典型的应用系统 365

9.4.1 P2P流媒体技术主要应用方面 366

9.4.2 P2P流媒体的典型应用系统 368

9.5 本章小结 371

第3篇 实战开发篇 374

第10章 基于Java的P2P开发平台搭建全攻略(教学视频:40分钟) 374

10.1 进行P2P应用开发的编程语言和平台 374

10.1.1 Java语言简介 374

10.1.2 Java语言与P2P 376

10.2 Windows下JDK的安装与配置 379

10.2.1 关于JDK 379

10.2.2 JDK的下载与安装 380

10.2.3 环境变量的设置 382

10.2.4 JDK的测试 384

10.3 Eclipse的安装与使用 385

10.3.1 Eclipse的下载与安装 385

10.3.2 Eclipse的插件安装方法 387

10.3.3 Eclipse的初始配置 389

10.3.4 使用Eclipse进行Java开发 391

10.4 Linux系统下构建Java开发环境 396

10.4.1 安装JDK的开发环境 396

10.4.2 Linux下环境变量的配置 397

10.4.3 Linux下安装Eclipse 398

10.4.4 Linux下Eclipse+JDK的测试 401

10.5 本章小结 402

第11章 Skype的开发包及插件开发技术(教学视频:82分钟) 403

11.1 Skype开发工具包使用说明 403

11.1.1 Skype开发包的两个层次 404

11.1.2 针对不同编程语言的Skype API开发包 405

11.1.3 Skype API的命令 406

11.2 Skype4Java的工具包及目录结构 410

11.2.1 Skype4Java简介及基本构架 410

11.2.2 Skype4Java源代码包的文件结构 412

11.3 Skype4Java的入门和快速开发 412

11.3.1 Skype4Java的基本开发步骤 413

11.3.2 Skype4Java的重要对象之——呼叫(Calls) 413

11.3.3 Skype4Java的重要对象之——聊天(Chat) 415

11.3.4 Skype4Java的重要对象之——连接(Connector) 416

11.3.5 Skype4Java的简单示例 417

11.4 基于Java平台开发Skype应用 418

11.4.1 Skype开发框架的搭建 418

11.4.2 Skype网络中应用程序之间的通信 422

11.4.3 Skype网络中的基本命令发送 427

11.5 Skype的基本应用开发 431

11.5.1 一个简单的Skype插件示例 431

11.5.2 Skype命令测试工具开发 434

11.6 Skype基本业务功能的实现 436

11.6.1 产生一个呼叫 436

11.6.2 发送聊天消息 440

11.6.3 实现自动应答 444

11.7 Skype4Java其他的应用实例 447

11.7.1 呼叫转接 448

11.7.2 呼叫终止 449

11.7.3 综合性的Skype应用实例 450

11.8 本章小结 456

第12章 基于P2P的即时通信系统的开发与实现(教学视频:218分钟) 457

12.1 系统规划 457

12.1.1 系统的设计目标 458

12.1.2 系统总体组织结构 458

12.1.3 系统功能结构 459

12.2 系统需求分析 460

12.2.1 一般需求 460

12.2.2 系统通信用例分析 462

12.2.3 系统文件传输用例分析 464

12.3 系统的关键技术及实现机制分析 466

12.3.1 系统开发语言及实现环境 467

12.3.2 系统中的P2P实现机制 467

12.3.3 Java网络编程技术 471

12.3.4 Java的加密编程技术 473

12.3.5 Java I/O流技术 476

12.3.6 Java GUI编程 478

12.4 系统的组织与基本类的设计 480

12.4.1 系统执行流程 480

12.4.2 模块划分与基本类的组织 483

12.4.3 面向对象的设计与类的构建 485

12.4.4 系统的全局关系结构 488

12.5 系统的开发及编程实现 488

12.5.1 搭建工程框架 489

12.5.2 网络模块的实现 490

12.5.3 实体类Peer与Channel的实现 496

12.5.4 消息模块的实现 501

12.5.5 基本功能模块的实现 510

12.5.6 界面模块的实现 515

12.5.7 全局管理类及main()方法的实现 532

12.6 系统测试与功能验证 544

12.6.1 系统的启动与简单消息交互 544

12.6.2 文件共享功能的测试 546

12.6.3 文件的发送与接收 549

12.6.4 文件的查看和下载 550

12.6.5 点对点的私人会话 551

12.7 程序的打包与发布 552

12.7.1 Java源程序打包的几个概念 552

12.7.2 生成Jar文件的基本方法 554

12.7.3 Fatiar打包插件的用法 555

12.7.4 将系统打包成Jar文件发布 557

12.7.5 生成EXE文件发布 558

12.8 系统开发的综合点评 561

12.9 本章小结 562

第13章 BT系统分析及客户端开发方法(教学视频:66分钟) 563

13.1 BT模型系统概述 563

13.1.1 系统的组成 563

13.1.2 系统的执行流程 564

13.1.3 BT系统中各实体之间的联系 565

13.2 BT模型的运行过程 566

13.2.1 文件信息的发布 566

13.2.2 追踪服务器的部署 566

13.2.3 与Tracker交互 567

13.2.4 结点之间的交互式下载 568

13.3 BT客户端的简介 569

13.3.1 BT客户端主要功能与协议 569

13.3.2 BT客户端的核心工作过程 569

13.4 解析.torrent种子文件的实现方法 570

13.4.1 .torrent文件的编码规则及说明 570

13.4.2 解析.torrent文件的实现代码 572

13.4.3 .torrent文件解析结果 584

13.5 与Tracker服务器交互得到Peer信息 587

13.5.1 Peer发向Tracker服务器的请求 587

13.5.2 连接Tracker服务器 588

13.5.3 得到Tracker服务器的响应消息 591

13.5.4 Peer结点信息的获取 592

13.6 Peer之间交互进行文件下载 595

13.6.1 BT对等协议 595

13.6.2 Peer间交互的实现方法 597

13.7 本章小结 598

第14章 P2P的解决之道——JXTA技术简介(教学视频:49分钟) 599

14.1 JXTA概述 599

14.1.1 现有P2P系统的缺陷和JXTA的出现 599

14.1.2 JXTA是什么 600

14.1.3 JXTA的背景与历史 600

14.2 JXTA的基础知识 601

14.2.1 JXTA设计目标 601

14.2.2 JXTA的层次结构 602

14.2.3 JXTA的基本术语 603

14.2.4 JXTA Java绑定 605

14.2.5 JXTA与XML 607

143 JXTA的协议简介 608

14.3.1 JXTA协议的分类 608

14.3.2 JXTA核心协议规范 609

14.3.3 JXTA的标准服务规范 610

14.4 JXTA的部署与应用 613

14.4.1 JXTA的下载 614

14.4.2 JXTA的安装与开发 614

14.4.3 JXTA应用程序的运行与初始界面配置 616

14.4.4 JXTA 2.5运行异常的解决方法 618

14.5 JXTA的重要概念及应用示例 619

14.5.1 JXTA的ID 619

14.5.2 JXTA的通告 622

14.5.3 JXTA的消息 629

14.6 本章小结 636

相关图书
作者其它书籍
返回顶部