第1章 计算机网络和因特网 1
1.1 什么是因特网 1
1.1.1 具体构成描述 1
1.1.2 服务描述 4
1.1.3 什么是协议 5
1.2 网络边缘 6
1.2.1 客户机和服务器程序 7
1.2.2 接入网 8
1.2.3 物理媒体 13
1.3 网络核心 15
1.3.1 电路交换和分组交换 15
1.3.2 分组是怎样通过分组交换网形成其通路的 20
1.3.3 ISP和因特网主干 21
1.4 分组交换网中的时延、丢包和吞吐量 22
1.4.1 分组交换网中的时延概述 23
1.4.2 排队时延和丢包 25
1.4.3 端到端时延 26
1.4.4 计算机网络中的吞吐量 28
1.5 协议层次和它们的服务模型 30
1.5.1 分层的体系结构 30
1.5.2 报文、报文段、数据报和帧 33
1.6 攻击威胁下的网络 35
1.7 计算机网络和因特网的历史 38
1.7.1 分组交换的发展:1961~1972 38
1.7.2 专用网络和网络互联:1972~1980 39
1.7.3 网络的激增:1980~1990 40
1.7.4 因特网爆炸:20世纪90年代 41
1.7.5 最新发展 42
1.8 小结 42
本书路线图 43
课后习题和问题 44
复习题 44
习题 45
讨论题 49
Ethereal实验 49
人物专访 50
第2章 应用层 52
2.1 应用层协议原理 52
2.1.1 网络应用程序体系结构 53
2.1.2 进程通信 55
2.1.3 可供应用程序使用的运输服务 56
2.1.4 因特网提供的运输服务 57
2.1.5 应用层协议 60
2.1.6 本书涉及的网络应用 61
2.2 Web应用和HTTP协议 61
2.2.1 HTTP概况 62
2.2.2 非持久连接和持久连接 63
2.2.3 HTTP报文格式 65
2.2.4 用户与服务器的交互:cookie 68
2.2.5 Web缓存 79
2.2.6 条件GET方法 72
2.3 文件传输协议:FTP 73
2.4 因特网中的电子邮件 74
2.4.1 SMTP 76
2.4.2 与HTTP的对比 78
2.4.3 邮件报文格式和MIME 79
2.4.4 邮件访问协议 81
2.5 DNS:因特网的目录服务 84
2.5.1 DNS提供的服务 85
2.5.2 DNS工作机理概述 86
2.5.3 DNS记录和报文 90
2.6 P2P应用 94
2.6.1 P2P文件分发 94
2.6.2 在P2P区域中搜索信息 98
2.6.3 案例学习:Skype的P2P因特网电话 102
2.7 TCP套接字编程 103
2.7.1 TCP套接字编程 104
2.7.2 一个Java客户机/服务器应用程序例子 105
2.8 UDP套接字编程 109
2.9 小结 114
课后习题和问题 115
复习题 115
习题 116
讨论题 120
套接字编程作业 121
Ethereal实验 122
人物专访 122
第3章 运输层 124
3.1 概述和运输层服务 124
3.1.1 运输层和网络层的关系 125
3.1.2 因特网运输层概述 126
3.2 多路复用与多路分解 127
3.3 无连接运输:UDP 133
3.3.1 UDP报文段结构 135
3.3.2 UDP检验和 135
3.4 可靠数据传输的原理 136
3.4.1 构造可靠数据传输协议 137
3.4.2 流水线可靠数据传输协议 144
3.4.3 回退N步 147
3.4.4 选择重传 149
3.5 面向连接的运输:TCP 154
3.5.1 TCP连接 154
3.5.2 TCP报文段结构 156
3.5.3 往返时延的估计与超时 160
3.5.4 可靠数据传输 162
3.5.5 流量控制 166
3.5.6 TCP连接管理 168
3.6 拥塞控制原理 173
3.6.1 拥塞原因与开销 173
3.6.2 拥塞控制方法 177
3.6.3 网络辅助的拥塞控制例子:ATM ABR拥塞控制 178
3.7 TCP拥塞控制 180
3.8 小结 187
课后习题和问题 189
复习题 189
习题 190
讨论题 195
编程作业 196
Ethereal实验:探究TCP 196
Ethereal实验:探究UDP 196
人物专访 196
第4章 网络层 199
4.1 概述 199
4.1.1 转发和选路 200
4.1.2 网络服务模型 202
4.2 虚电路和数据报网络 203
4.2.1 虚电路网络 204
4.2.2 数据报网络 206
4.2.3 虚电路和数据报网络的由来 208
4.3 路由器工作原理 208
4.3.1 输入端口 210
4.3.2 交换结构 211
4.3.3 输出端口 212
4.3.4 何时出现排队 213
4.4 网际协议:因特网中的转发和编址 215
4.4.1 数据报格式 216
4.4.2 IPv4编址 220
4.4.3 ICMP:互联网控制报文协议 230
4.4.4 IPv6 232
4.4.5 IP安全性概述 236
4.5 选路算法 237
4.5.1 链路状态选路算法 239
4.5.2 距离向量选路算法 242
4.5.3 层次选路 248
4.6 因特网中的选路 250
4.6.1 因特网中自治系统内部选路:RIP 251
4.6.2 因特网中AS内部选路:OSPF 253
4.6.3 自治系统间的选路:BGP 255
4.7 广播和多播选路 260
4.7.1 广播选路算法 260
4.7.2 多播 264
4.8 小结 269
课后习题和问题 270
复习题 270
习题 271
讨论题 277
编程作业 278
Ethereal实验 278
人物专访 279
第5章 链路层和局域网 280
5.1 链路层:概述和服务 281
5.1.1 链路层提供的服务 281
5.1.2 链路层在何处实现 283
5.2 差错检测和纠错技术 284
5.2.1 奇偶校验 285
5.2.2 检验和方法 287
5.2.3 循环冗余检测 287
5.3 多路访问协议 288
5.3.1 信道划分协议 290
5.3.2 随机接入协议 292
5.3.3 轮流协议 297
5.3.4 局域网 297
5.4 链路层编址 298
5.4.1 MAC地址 298
5.4.2 地址解析协议 300
5.5 以太网 303
5.5.1 以太网帧结构 304
5.5.2 CSMA/CD:以太网的多路访问协议 307
5.5.3 以太网技术 309
5.6 链路层交换机 310
5.6.1 交换机转发和过滤 311
5.6.2 自学习 312
5.6.3 链路层交换机的性质 313
5.6.4 交换机和路由器的比较 314
5.7 PPP:点对点协议 315
5.8 链路虚拟化:网络作为链路层 318
5.8.1 异步传输方式 318
5.8.2 多协议标签交换 322
5.9 小结 324
课后习题和问题 325
复习题 325
习题 325
讨论题 329
Ethereal实验 329
人物专访 329
第6章 无线网络和移动网络 331
6.1 概述 332
6.2 无线链路和网络特征 334
6.3 WiFi:802.11无线LAN 339
6.3.1 802.11体系结构 339
6.3.2 802.11 MAC协议 342
6.3.3 IEEE 802.11帧 345
6.3.4 在相同的IP子网中的移动性 348
6.3.5 802.11中的高级特色 348
6.3.6 802.11以外的标准:蓝牙和WiMAX 349
6.4 蜂窝因特网接入 352
6.4.1 蜂窝网体系结构概述 353
6.4.2 蜂窝网标准和技术:简要回顾 354
6.5 移动管理:原理 356
6.5.1 寻址 358
6.5.2 选路到移动节点 359
6.6 移动IP 363
6.7 蜂窝网中的移动性管理 366
6.7.1 对移动用户呼叫的选路 367
6.7.2 GSM中的切换 368
6.8 无线和移动性:对高层协议的影响 370
6.9 小结 372
课后习题和问题 372
复习题 372
习题 373
讨论题 375
Ethereal实验 375
人物专访 376
第7章 多媒体网络 378
7.1 多媒体网络应用 378
7.1.1 多媒体应用的例子 378
7.1.2 当今因特网上的多媒体障碍 380
7.1.3 因特网应该如何演化才能更好地支持多媒体 381
7.1.4 音频和视频压缩 382
7.2 流式存储音频和视频 384
7.2.1 通过Web服务器访问音频和视频 385
7.2.2 从流式服务器向助手应用程序发送多媒体 386
7.2.3 实时流协议 388
7.3 充分利用尽力而为服务 390
7.3.1 尽力而为服务的限制 390
7.3.2 在接收方消除音频的时延抖动 392
7.3.3 从丢包中恢复 394
7.3.4 在今天的因特网中分发多媒体:内容分发网络 397
7.3.5 规划尽力而为网络以提供服务质量 399
7.4 实时交互应用的协议 400
7.4.1 RTP 400
7.4.2 RTP控制协议 403
7.4.3 SIP 405
7.4.4 H.323 409
7.5 提供多个等级的服务 410
7.5.1 启发研究的场景 411
7.5.2 调度和监管机制 414
7.5.3 区分服务 419
7.6 提供服务质量保证 423
7.6.1 一个有启发的例子 423
7.6.2 资源预约、呼叫准入、呼叫建立 424
7.6.3 在因特网中确保QoS:Intserv和RSVP 425
7.7 小结 427
课后习题和问题 428
复习题 428
习题 429
讨论题 433
编程作业 433
人物专访 434
第8章 计算机网络中的安全 436
8.1 什么是网络安全 436
8.2 密码学的原则 438
8.2.1 对称密钥密码学 440
8.2.2 公开密钥加密 443
8.3 报文完整性 447
8.3.1 密码散列函数 447
8.3.2 报文鉴别码 449
8.3.3 数字签名 450
8.4 鉴别 455
8.4.1 鉴别协议ap1.0 455
8.4.2 鉴别协议ap2.0 456
8.4.3 鉴别协议ap3.0 456
8.4.4 鉴别协议ap3.1 457
8.4.5 鉴别协议ap4.0 457
8.4.6 鉴别协议ap5.0 458
8.5 电子邮件安全 460
8.5.1 安全的电子邮件 461
8.5.2 PGP 464
8.6 使TCP连接安全:SSL 465
8.6.1 宏观描述 466
8.6.2 更完整的描述 468
8.7 网络层安全性:IPsec 469
8.7.1 鉴别首部协议 469
8.7.2 ESP协议 470
8.7.3 SA和密钥管理 471
8.8 使无线LAN安全 471
8.8.1 有线等效保密 472
8.8.2 IEEE 802.11i 473
8.9 运行安全性:防火墙和入侵检测系统 475
8.9.1 防火墙 475
8.9.2 入侵检测系统 479
8.10 小结 482
课后习题和问题 482
复习题 482
习题 483
讨论题 485
Ethereal实验 485
人物专访 485
第9章 网络管理 487
9.1 什么是网络管理 487
9.2 网络管理的基础设施 490
9.3 因特网标准管理框架 493
9.3.1 管理信息结构:SMI 494
9.3.2 管理信息库:MIB 496
9.3.3 SNMP协议运行和传输映射 498
9.3.4 安全性和管理 500
9.4 ASN.1 502
9.5 小结 506
课后习题和问题 506
复习题 506
习题 507
讨论题 507
人物专访 507
参考文献 509