第1章 基础 1
问题:建造一个网络 1
1.1 应用 2
1.2 需求 4
1.2.1 视角 4
1.2.2 可扩展的连通性 4
1.2.3 高性价比的资源共享 7
1.2.4 支持通用服务 10
1.2.5 可管理性 13
1.3 网络体系结构 14
1.3.1 分层和协议 14
1.3.2 因特网体系结构 19
1.4 实现网络软件 20
1.4.1 应用程序编程接口(套接字) 21
1.4.2 应用实例 23
1.5 性能 25
1.5.1 带宽和时延 25
1.5.2 延迟带宽积 28
1.5.3 高速网络 29
1.5.4 应用程序性能需求 31
1.6 小结 32
接下来会发生什么:云计算 32
扩展阅读 33
习题 35
第2章 开始连接 39
问题:连接到网络 39
2.1 连接概览 39
2.2 编码(NRZ、NRZI、曼彻斯特、4B/5B) 43
2.3 组帧 45
2.3.1 面向字节的协议(BISYNC、PPP、DDCMP) 45
2.3.2 面向比特的协议(HDLC) 47
2.3.3 基于时钟的组帧(SONET) 48
2.4 差错检测 50
2.4.1 二维奇偶校验 51
2.4.2 因特网校验和算法 51
2.4.3 循环冗余校验 53
2.5 可靠传输 55
2.5.1 停止-等待 56
2.5.2 滑动窗口 58
2.5.3 并发逻辑信道 64
2.6 以太网和多路访问网络(802.3 ) 65
2.6.1 物理特性 65
2.6.2 访问协议 66
2.6.3 以太网使用经验 69
2.7 无线 69
2.7.1 802.1 1/Wi-Fi 73
2.7.2 蓝牙(802.1 5.1 ) 77
2.7.3 蜂窝电话技术 78
2.8 小结 80
接下来会发生什么:“物联网” 81
扩展阅读 82
习题 83
第3章 网络互联 89
问题:并不是所有网络都是直接相连的 89
3.1 交换和桥接 89
3.1.1 数据报 91
3.1.2 虚电路交换 92
3.1.3 源路由 99
3.1.4 网桥和局域网交换机 101
3.2 互联网基础(IP) 107
3.2.1 什么是互联网? 107
3.2.2 服务模型 109
3.2.3 全局地址 113
3.2.4 IP数据报转发 114
3.2.5 子网划分和无类地址 117
3.2.6 地址转换(ARP) 121
3.2.7 主机配置(DHCP) 123
3.2.8 差错报告(ICMP) 125
3.2.9 虚拟网络和隧道 125
3.3 路由 127
3.3.1 用图表示网络 128
3.3.2 距离向量(RIP) 129
3.3.3 链路状态(OSPF) 134
3.3.4 度量 140
3.4 实现和性能 142
3.4.1 交换基础 142
3.4.2 端口 144
3.4.3 交换结构 146
3.4.4 路由器的实现 148
3.5 小结 150
接下来会发生什么:未来因特网 150
扩展阅读 151
习题 152
第4章 高级网络互联 161
问题:扩展到数十亿节点 161
4.1 全球互联网 161
4.1.1 路由区 162
4.1.2 域间路由(BGP) 164
4.1.3 IP版本6(IPv6) 170
4.2 多播 178
4.2.1 多播地址 179
4.2.2 多播路由(DVMRP、PIM、MSDP) 180
4.3 多协议标签交换(MPLS) 188
4.3.1 基于目的地的转发 188
4.3.2 显式路由 192
4.3.3 虚拟专用网和隧道 194
4.4 移动设备之间的路由 197
4.4.1 移动网络的挑战 197
4.4.2 路由到移动主机(移动IP) 198
4.5 小结 202
接下来会发生什么:部署IPv6 202
扩展阅读 203
习题 204
第5章 端到端协议 208
问题:进程间如何通信 208
5.1 简单多路分解(UDP) 209
5.2 可靠字节流(TCP) 210
5.2.1 端到端问题 211
5.2.2 报文段格式 212
5.2.3 连接建立与终止 214
5.2.4 滑动窗口再讨论 217
5.2.5 触发传输 221
5.2.6 自适应重传 223
5.2.7 记录边界 225
5.2.8 TCP扩展 226
5.2.9 性能 227
5.2.10 其他设计选择 228
5.3 远程过程调用 230
5.3.1 RPC基础 230
5.3.2 RPC实现(SunRPC、DCE) 235
5.4 实时应用程序传输(RTP) 239
5.4.1 需求 240
5.4.2 RTP设计 241
5.4.3 控制协议 243
5.5 小结 245
接下来会发生什么:传输协议多样性 246
扩展阅读 246
习题 247
第6章 拥塞控制与资源分配 254
问题:分配资源 254
6.1 资源分配问题 254
6.1.1 网络模型 255
6.1.2 分类方法 257
6.1.3 评价标准 259
6.2 排队规则 260
6.2.1 FIFO 261
6.2.2 公平排队 262
6.3 TCP拥塞控制 264
6.3.1 加性增/乘性减 265
6.3.2 慢启动 267
6.3.3 快速重传和快速恢复 270
6.4 拥塞避免机制 272
6.4.1 DECbit 272
6.4.2 随机早期检测(RED) 273
6.4.3 基于源的拥塞避免 277
6.5 服务质量 281
6.5.1 应用需求 281
6.5.2 综合服务(RSVP) 284
6.5.3 区分服务(EF、AF) 291
6.5.4 基于等式的拥塞控制 295
6.6 小结 296
接下来会发生什么:网络重构 297
扩展阅读 297
习题 299
第7章 端到端数据 305
问题:我们用数据做什么? 305
7.1 表示格式化 306
7.1.1 分类方法 307
7.1.2 例子(XDR、ASN.1 、NDR) 309
7.1.3 标记语言(XML) 312
7.2 多媒体数据 315
7.2.1 无损压缩技术 316
7.2.2 图像表示和压缩(GIF、JPEG) 318
7.2.3 视频压缩(MPEG) 322
7.2.4 在网上传输MPEG 325
7.2.5 音频压缩(MP3) 328
7.3 小结 329
接下来会发生什么:无处不在的视频 329
扩展阅读 330
习题 330
第8章 网络安全 334
问题:安全攻击 334
8.1 密码基础 335
8.1.1 密码原理 335
8.1.2 对称密钥密码 337
8.1.3 公钥密码 338
8.1.4 认证码 339
8.2 密钥预分发 342
8.2.1 公钥预分发 342
8.2.2 对称密钥预分发 345
8.3 认证协议 346
8.3.1 原始性和时效性技术 346
8.3.2 公钥认证协议 347
8.3.3 对称密钥认证协议 348
8.3.4 Diffie-Hellman密钥协商 351
8.4 系统实例 352
8.4.1 良好隐私(PGP) 352
8.4.2 安全外壳(SSH) 354
8.4.3 传输层安全(TLS、SSL、HTTPS) 356
8.4.4 IP安全(IPsec) 358
8.4.5 无线安全(802.1 1i) 360
8.5 防火墙 362
8.6 小结 365
接下来会发生什么:面对安全 366
扩展阅读 366
习题 367
第9章 应用 370
问题:应用需要自己的协议 370
9.1 传统应用 370
9.1.1 电子邮件(SMTP、MIME、IMAP) 371
9.1.2 万维网(HTTP) 376
9.1.3 Web服务 382
9.2 多媒体应用 387
9.2.1 会话控制和呼叫控制(SDP、SIP、H.3 23) 388
9.2.2 多媒体应用的资源分配 393
9.3 基础设施服务 397
9.3.1 名字服务(DNS) 397
9.3.2 网络管理(SNMP) 403
9.4 覆盖网络 405
9.4.1 路由覆盖 406
9.4.2 对等网 411
9.4.3 内容分发网络 418
9.5 小结 422
接下来会发生什么:新的网络体系结构 422
扩展阅读 423
习题 424
习题选答 428
术语 437
参考文献 449