第1章 引言 1
1.1 简要的历史 1
1.1.1 ARPANET 1
1.1.2 因特网的诞生 2
1.1.3 传输控制协议/网际互连协议 2
1.1.4 MILNET 2
1.1.5 CSNET 3
1.1.6 NSFNET 3
1 1.7 ANSNET 3
1.1.8 今日的因特网 3
1.1.9 大事记 5
1.1.10 因特网的增长 5
1.2 协议和标准 5
1.2.1 协议 6
1.2.2 标准 6
1.3 标准化组织 6
1.3.1 标准创建委员会 7
1.3.2 论坛 8
1.3.3 管理机构 8
1.4 因特网标准 8
1.4.1 成熟等级 9
1.4.2 需求等级 10
1.5 因特网的管理机构 10
1.5.1 因特网协会 11
1.5.2 因特网体系结构研究委员会 11
1.5.3 因特网工程部 11
1.5.4 因特网研究部 12
1.5.5 因特网赋号管理局和因特网名字与号码指派公司 12
1.5.6 网络信息中心 12
1.6 重要术语 12
1.7 本章小结 13
1.8 实践安排 14
1.8.1 习题 14
1.8.2 研究活动 14
第2章 OSI模型和TCP/IP协议族 15
2.1 OSI模型 15
2.1.1 层次体系结构 16
2.1.2 对等进程 16
2.1.3 封装 18
2.2 OSI模型中的层次 18
2.2.1 物理层 18
2.2.2 数据链路层 20
2.2.3 网络层 21
2.2.4 运输层 22
2.2.5 会话层 24
2.2.6 表示层 25
2.2.7 应用层 25
2.2.8 各层的小结 26
2.3 TCP/IP协议族 27
2.3.1 物理层和数据链路层 27
2.3.2 网络层 28
2.3.3 运输层 28
2.3.4 应用层 29
2.4 编址 29
2.4.1 物理地址 30
2.4.2 逻辑地址 31
2.4.3 端口地址 32
2.5 IP的版本 33
2.5.1 版本4 33
2.5.2 版本5 34
2.5.3 版本6 34
2.6 重要术语 34
2.7 本章小结 36
2.8 实践安排 36
2.8.1 习题 36
2.8.2 研究活动 37
第3章 底层的技术 39
3.1 局域网 39
3.1.1 有线局域网:以太网 40
3.1.2 无线局域网:IEEE 802.11 44
3.2 点对点广域网 49
3.2.1 物理层 49
3.2.2 数据链路层 55
3.3 交换广域网 56
3.3.1 X.25 56
3.3.2 帧中继 57
3.3.3 ATM 58
3.4 连接设备 62
3.4.1 转发器 62
3.4.2 集线器 63
3.4.3 网桥 63
3.4.4 路由器 66
3.5 重要术语 67
3.6 本章小结 70
3.7 实践安排 71
3.7.1 习题 71
3.7.2 研究活动 71
第4章 IP地址:分类编址 73
4.1 引言 73
4.1.1 地址空间 73
4.1.2 记法 74
4.2 分类编址 75
4.2.1 辨认类别 76
4.2.2 Netid和Hostid 78
4.2.3 地址类和地址块 79
4.2.4 网络地址 82
4.2.5 足够的信息 82
4.2.6 掩码 83
4.2.7 CIDR记法 85
4.2.8 地址耗尽 85
4.3 其他问题 85
4.3.1 连接多个网络的设备 85
4.3.2 是位置而不是名字 86
4.3.3 特殊地址 86
4.3.4 专用地址 89
4.3.5 单播、多播和广播地址 89
4.3.6 互联网举例 91
4.4 划分子网和构造超网 91
4.4.1 划分子网 92
4.4.2 构成超网 95
4.4.3 超网掩码 96
4.4.4 逐渐变为过时 96
4.5 重要术语 97
4.6 本章小结 98
4.7 实践安排 99
4.7.1 习题 99
4.7.2 研究活动 101
第5章 IP地址:无分类编址 103
5.1 可变长度地址块 103
5.1.1 限制 104
5.1.2 寻找地址块 106
5.1.3 分配到的地址块 109
5.2 划分子网 110
5.2.1 找出子网掩码 110
5.2.2 找出子网地址 110
5.2.3 可变长度的子网 111
5.3 地址分配 113
5.4 重要术语 114
5.5 本章小结 115
5.6 实践安排 115
5.6.1 习题 115
5.6.2 研究活动 116
第6章 IP分组的交付、转发和路由选择 117
6.1 交付 117
6.1.1 连接类型 117
6.1.2 直接交付与间接交付 118
6.2 转发 119
6.2.1 转发技术 119
6.2.2 分类编址的转发 121
6.2.3 无分类编址的转发 125
6.2.4 组合 131
6.3 路由选择 132
6.3.1 静态和动态路由选择 132
6.3.2 路由表 132
6.4 路由器的结构 134
6.5 重要术语 137
6.6 本章小结 138
6.7 实践安排 139
6.7.1 习题 139
6.7.2 研究活动 140
第7章 ARP和RARP 141
7.1 ARP 142
7.1.1 分组格式 143
7.1.2 封装 144
7.1.3 操作 144
7.1.4 ATM上的ARP 147
7.1.5 代理ARP 147
7.2 ARP软件包 147
7.2.1 高速缓存表 148
7.2.2 队列 149
7.2.3 输出模块 149
7.2.4 输入模块 150
7.2.5 高速缓存控制模块 150
7.2.6 举例 151
7.3 RARP 153
7.3.1 分组格式 154
7.3.2 封装 154
7.3.3 RARP服务器 155
7.3.4 RARP的另一种解决方法 155
7.4 重要术语 155
7.5 本章小结 156
7.6 实践安排 156
7.6.1 习题 156
7.6.2 研究活动 157
第8章 网际协议 159
8.1 数据报 160
8.2 分片 165
8.2.1 最大传送单元 165
8.2.2 与分片有关的字段 166
8.3 选项 169
8.3.1 格式 169
8.3.2 选项类型 170
8.4 检验和 177
8.4.1 在发送端计算检验和 177
8.4.2 在接收端计算检验和 177
8.4.3 IP分组中的检验和 178
8.5 IP软件包 179
8.5.1 首部添加模块 180
8.5.2 处理模块 180
8.5.3 队列 181
8.5.4 路由表 181
8.5.5 转发模块 181
8.5.6 MTU表 181
8.5.7 分片模块 182
8.5.8 重装表 182
8.5.9 重装模块 183
8.6 重要术语 184
8.7 本章小结 185
8.8 实践安排 185
8.8.1 习题 185
8.8.2 研究活动 186
第9章 网际控制报文协议 187
9.1 报文类型 188
9.2 报文格式 188
9.3 差错报告 189
9.3.1 终点不可达 190
9.3.2 源点抑制 191
9.3.3 超时 193
9.3.4 参数问题 193
9.3.5 改变路由 194
9.4 查询 195
9.4.1 回送请求和回答 195
9.4.2 时间戳请求和回答 196
9.4.3 地址掩码请求和回答 198
9.4.4 路由器询问和通告 199
9.5 检验和 200
9.5.1 检验和的计算 200
9.5.2 检验和的测试 200
9.6 排错工具 200
9.6.1 Ping 201
9.6.2 Traceroute 202
9.7 ICMP软件包 205
9.7.1 输入模块 205
9.7.2 输出模块 206
9.8 重要术语 207
9.9 本章小结 207
9.10 实践安排 208
9.10.1 习题 208
9.10.2 研究活动 209
第10章 网际组管理协议 211
10.1 组管理 211
10.2 IGMP报文 212
10.3 IGMP的操作 213
10.3.1 加入一个组 213
10.3.2 退出一个组 214
10.3.3 监视成员关系 214
10.4 封装 216
10.4.1 IP层 217
10.4.2 数据链路层 218
10.4.3 netstat实用程序 219
10.5 IGMP软件包 220
10.5.1 组表 220
10.5.2 计时器 221
10.5.3 组加入模块 221
10.5.4 组退出模块 221
10.5.5 输入模块 222
10.5.6 输出模块 223
10.6 重要术语 223
10.7 本章小结 224
10.8 实践安排 224
10.8.1 习题 224
10.8.2 研究活动 226
第11章 用户数据报协议 227
11.1 进程到进程的通信 228
11.1.1 端口号 228
11.1.2 套接字地址 231
11.2 用户数据报 232
11.3 检验和 233
11.3.1 在发送端的检验和计算 233
11.3.2 在接收端的检验和计算 234
11.3.3 举例 234
11.3.4 检验和的可选使用 234
11.4 UDP的操作 235
11.4.1 无连接服务 235
11.4.2 流量控制和差错控制 235
11.4.3 封装和拆装 235
11.4.4 排队 236
11.4.5 复用和分用 237
11.5 UDP的使用 238
11.6 UDP软件包 238
11.6.1 控制块表 239
11.6.2 输入队列 239
11.6.3 控制块模块 239
11.6.4 输入模块 240
11.6.5 输出模块 240
11.6.6 举例 240
11.7 重要术语 241
11.8 本章小结 242
11.9 实践安排 243
11.9.1 习题 243
11.9.2 研究活动 244
第12章 传输控制协议 245
12.1 TCP的服务 245
12.1.1 进程到进程的通信 246
12.1.2 流交付服务 246
12.1.3 全双工通信 248
12.1.4 面向连接的服务 248
12.1.5 可靠的服务 249
12.2 TCP的特点 249
12.2.1 编号系统 249
12.2.2 流量控制 250
12.2.3 差错控制 251
12.2.4 拥塞控制 251
12.3 报文段 251
12.3.1 格式 251
12.3.2 封装 253
12.4 ATCP连接 253
12.4.1 连接建立 254
12.4.2 数据传送 256
12.4.3 连接终止 257
12.4.4 连接复位 259
12.5 状态转换图 260
12.6 流量控制 266
12.6.1 滑动窗口协议 266
12.6.2 糊涂窗口综合症 269
12.7 差错控制 271
12.7.1 检验和 271
12.7.2 确认 271
12.7.3 确认类型 272
12.7.4 重传 273
12.7.5 失序的报文段 273
12.7.6 一些情况 274
12.8 拥塞控制 278
12.8.1 网络性能 278
12.8.2 拥塞控制机制 279
12.8.3 TCP中的拥塞控制 280
12.9 TCP的计时器 284
12.9.1 重传计时器 284
12.9.2 持久计时器 287
12.9.3 保活计时器 288
12.9.4 TIME-WAIT计时器 288
12.10 选项 288
12.11 TCP软件包 295
12.11.1 传输控制块 295
12.11.2 计时器 296
12.11.3 主模块 296
12.11.4 输入处理模块 299
12.11.5 输出处理模块 299
12.12 重要术语 300
12.13 本章小结 301
12.14 实践安排 302
12.14.1 习题 302
12.14.2 研究活动 304
第13章 流控制传输协议 305
13.1 SCTP的服务 306
13.1.1 进程到进程的通信 306
13.1.2 多重流 306
13.1.3 连接多个网络 307
13.1.4 全双工通信 308
13.1.5 面向连接的服务 308
13.1.6 可靠的服务 308
13.2 SCTP的特点 308
13.2.1 传输序号 308
13.2.2 流标识符 308
13.2.3 流序号 309
13.2.4 分组 309
13.2.5 确认号 311
13.2.6 流量控制 311
13.2.7 差错控制 311
13.2.8 拥塞控制 311
13.3 分组格式 311
13.3.1 通用首部 312
13.3.2 块 312
13.4 SCTP关联 320
13.4.1 关联建立 320
13.4.2 数据传送 322
13.4.3 关联终止 324
13.4.4 关联异常终止 325
13.5 状态转换图 325
13.5.1 几种情况 326
13.5.2 其他情况 329
13.6 流量控制 329
13.6.1 接收端 330
13.6.2 发送端 330
13.6.3 一种情况 331
13.7 差错控制 332
13.7.1 接收端 332
13.7.2 发送端 333
13.7.3 发送数据块 334
13.7.4 生成SACK块 335
13.8 拥塞控制 335
13.8.1 拥塞控制和多归属 335
13.8.2 显式拥塞通知 335
13.9 重要术语 336
13.10 本章小结 337
13.11 实践安排 337
13.11.1 习题 337
13.11.2 研究活动 339
第14章 单播路由选择协议 341
14.1 内部和外部路由选择 341
14.2 距离向量路由选择 342
14.2.1 初始化 343
14.2.2 共享 343
14.2.3 更新 344
14.2.4 什么时候共享 345
14.2.5 二结点循环的不稳定性 345
14.2.6 三结点的不稳定性 346
14.3 RIP 347
14.3.1 RIP的报文格式 349
14.3.2 请求和响应 349
14.3.3 RIP的计时器 350
14.3.4 RIP版本2 351
14.3.5 封装 353
14.4 链路状态路由选择 353
14.5 OSPF 357
14.5.1 区域 357
14.5.2 度量 358
14.5.3 链路的类型 358
14.5.4 图形表示法 360
14.5.5 OSPF分组 360
14.5.6 链路状态更新分组 361
14.5.7 其他分组 369
14.5.8 封装 371
14.6 路径向量路由选择 371
14.6.1 初始化 371
14.6.2 共享 372
14.6.3 更新 372
14.7 BGP 373
14.7.1 自治系统的类型 373
14.7.2 路径属性 374
14.7.3 BGP会话 374
14.7.4 外部BGP和内部BGP 375
14.7.5 分组的类型 375
14.7.6 分组格式 375
14.7.7 封装 379
14.8 重要术语 379
14.9 本章小结 380
14.10 实践安排 381
14.10.1 习题 381
14.10.2 研究活动 383
第15章 多播和多播路由选择协议 385
15.1 单播、多播和广播 385
15.1.1 单播 385
15.1.2 多播 386
15.1.3 广播 386
15.1.4 多播和多个单播的比较 386
15.2 多播应用 387
15.2.1 访问分布式数据库 388
15.2.2 信息传播 388
15.2.3 传播新闻 388
15.2.4 电视会议 388
15.2.5 远程学习 388
15.3 多播路由选择 388
15.3.1 最佳路由选择:最短路径树 388
15.3.2 路由选择协议 391
15.4 多播链路状态路由选择:MOSPF 391
15.4.1 多播链路状态路由选择 391
15.4.2 MOSPF 392
15.5 多播距离向量路由选择 392
15.5.1 多播距离向量路由选择 392
15.5.2 DVMRP 396
15.6 CBT 396
15.6.1 树的形成 396
15.6.2 发送多播分组 396
15.6.3 选择汇集路由器 397
15.6.4 小结 397
15.7 PIM 397
15.7.1 PIM-DM 398
15.7.2 PIM-SM 398
15.8 MBONE 398
15.9 重要术语 399
15.10 本章小结 400
15.11 实践安排 401
15.11.1 习题 401
15.11.2 研究活动 401
第16章 主机配置:BOOTP和DHCP 403
16.1 BOOTP 403
16.1.1 操作 403
16.1.2 分组格式 406
16.2 DHCP 408
16.2.1 静态地址分配 408
16.2.2 动态地址分配 409
16.2.3 人工和自动配置 409
16.2.4 分组格式 409
16.2.5 转换状态 410
16.2.6 交换报文 411
16.3 重要术语 412
16.4 本章小结 412
16.5 实践安排PRACTICE SET 413
16.5.1 习题 413
16.5.2 研究活动 414
第17章 域名系统 415
17.1 名字空间 415
17.1.1 平面名字空间 415
17.1.2 层次名字空间 416
17.2 域名空间 416
17.2.1 标号 416
17.2.2 域名 417
17.2.3 域 418
17.3 域名空间的分布DISTRIBUTION OF NAME SPACE 418
17.3.1 名字服务器的层次结构 418
17.3.2 区 419
17.3.3 根服务器 420
17.3.4 主服务器和次服务器 420
17.4 因特网中的DNS 420
17.4.1 类属域 421
17.4.2 国家域 422
17.4.3 反向域 422
17.4.4 注册机构 423
17.5 解析 423
17.5.1 解析程序 423
17.5.2 名字到地址的映射 423
17.5.3 地址到名字的映射 424
17.5.4 递归解析 424
17.5.5 迭代解析 424
17.5.6 高速缓存 425
17.6 DNS报文 425
17.7 记录的类型 428
17.7.1 问题记录 428
17.7.2 资源记录 429
17.8 压缩 430
17.9 DDNS 433
17.10 封装 434
17.11 重要术语 434
17.12 本章小结 435
17.13 实践安排 436
17.13.1 习题 436
17.13.2 研究活动 437
第18章 远程登录:TELNE 439
18.1 概念 439
18.1.1 分时的环境 439
18.1.2 登录 440
18.2 网络虚拟终端 441
18.3 NVT字符集 442
18.3.1 数据字符 442
18.3.2 远程控制字符 442
18.4 嵌入 443
18.5 选项 443
18.6 选项协商 444
18.6.1 允许选项 444
18.6.2 禁止选项 445
18.6.3 对称 446
18.7 子选项协商 447
18.8 对服务器进行控制 447
18.9 带外信令 448
18.10 转义字符 449
18.11 操作方式 450
18.11.1 默认方式 450
18.11.2 字符方式 450
18.11.3 行方式 450
18.12 用户接口 451
18.13 安全问题 452
18.14 重要术语 452
18.15 本章小结 452
18.16 实践安排 453
18.16.1 习题 453
18.16.2 研究活动 454
第19章 文件传送协议:FTP和TFTP 455
19.1 文件传送协议 455
19.1.1 连接 456
19.1.2 通信 457
19.1.3 命令处理 459
19.1.4 文件传送 463
19.1.5 匿名FTP 466
19.2 简单文件传送协议 466
19.2.1 报文 467
19.2.2 连接 469
19.2.3 数据传送 470
19.2.4 UDP端口 471
19.2.5 TFTP举例 472
19.2.6 TFTP选项 473
19.2.7 安全性 473
19.2.8 应用 473
19.3 重要术语 474
19.4 本章小结 475
19.5 实践安排 476
19.5.1 习题 476
19.5.2 研究活动 477
第20章 电子邮件:SMTP、POP和IMAP 479
20.1 体系结构 479
20.1.1 第一种情况 479
20.1.2 第二种情况 480
20.1.3 第三种情况 480
20.1.4 第四种情况 481
20.2 用户代理 482
20.2.1 用户代理提供的服务 482
20.2.2 用户代理类型 483
20.2.3 发送邮件 484
20.2.4 接收邮件 484
20.2.5 地址 485
20.2.6 发件清单 485
20.2.7 MIME 485
20.3 报文传送代理:SMTP 490
20.3.1 命令和响应 491
20.3.2 邮件传送阶段 494
20.4 报文读取代理:POP和IMAP 497
20.4.1 POP3 497
20.4.2 IMAP4 498
20.5 基于万维网的邮件 498
20.6 重要术语 499
20.7 本章小结 499
20.8 实践安排 500
20.8.1 习题 500
20.8.2 研究活动 500
第21章 网络管理:SNMP 501
21.1 概念 501
21.2 管理构件 502
21.2.1 SNMP的作用 502
21.2.2 SMI的作用 502
21.2.3 MIB的作用 503
21.2.4 类比 503
21.2.5 概要 504
21.3 SMI 504
21.3.1 名字 505
21.3.2 类型 506
21.3.3 编码方法 507
21.4 MIB 509
21.4.1 访问MIB变量 510
21.4.2 字典式排序 512
21.5 SNMP 513
21.5.1 PDU 513
21.5.2 格式 514
21.6 报文 515
21.7 UDP端口 517
21.8 安全 518
21.9 重要术语 518
21.10 本章小结 519
21.11 实践安排 519
21.11.1 习题 519
21.11.2 研究活动 520
第22章 万维网:HTTP 521
22.1 体系结构 521
22.1.1 客户(浏览器) 522
22.1.2 服务器 522
22.1.3 统一资源定位符 522
22.1.4 Cookies 523
22.2 万维网文档 524
22.2.1 静态文档 524
22.2.2 动态文档 526
22.2.3 活动文档 528
22.3 HTTP 530
22.3.1 HTTP事务 530
22.3.2 持久和非持久连接 535
22.3.3 代理服务器 536
22.4 重要术语 536
22.5 本章小结 537
22.6 实践安排 538
22.6.1 习题 538
22.6.2 研究活动 539
第23章 在ATM上运行IP 541
23.1 ATM广域网 541
23.2 用信元携带数据报 544
23.3 信元的转发 545
23.3.1 地址 545
23.3.2 地址绑定 546
23.4 ATMARP 546
23.4.1 分组格式 546
23.4.2 ATMARP的操作 548
23.5 逻辑IP子网 550
23.6 重要术语 551
23.7 本章小结 551
23.8 实践安排 552
23.8.1 习题 552
23.8.2 研究活动 553
第24章 移动IP 555
24.1 编址 555
24.1.1 固定主机 555
24.1.2 移动主机 555
24.2 代理 556
24.2.1 归属代理 557
24.2.2 外地代理 557
24.3 三个阶段 557
24.3.1 代理发现 558
24.3.2 登记 559
24.3.3 数据传送 561
24.4 移动IP的低效率 562
24.4.1 两次穿越 563
24.4.2 三角形路由选择 563
24.4.3 解决方法 563
24.5 重要术语 564
24.6 本章小结 564
24.7 实践安排 565
24.7.1 习题 565
24.7.2 研究活动 565
第25章 多媒体 567
25.1 数字化音频和视频 568
25.1.1 数字化音频 568
25.1.2 数字化视频 568
25.2 音频和视频压缩 568
25.2.1 音频压缩 569
25.2.2 视频压缩 569
25.3 流式存储音频/视频 573
25.3.1 第一种方法:使用万维网服务器 573
25.3.2 第二种方法:使用具有元文件的万维网服务器 574
25.3.3 第三种方法:使用媒体服务器 574
25.3.4 第四种方法:使用媒体服务器和RTSP 575
25.4 流式直播音频/视频 576
25.5 实时交互式音频/视频 576
25.6 RTP 580
25.6.1 RTP分组格式 581
25.6.2 UDP端口 582
25.7 RTCP 582
25.7.1 发送方报告 583
25.7.2 接收方报告 583
25.7.3 源点描述报文 583
25.7.4 再见报文 583
25.7.5 特定应用报文 583
25.7.6 UDP端口 583
25.8 IP语音 583
25.8.1 SIP 584
25.8.2 H.3 23 586
25.9 重要术语 588
25.10 本章小结 589
25.11 实践安排 589
25.11.1 习题 589
25.11.2 研究活动 590
第26章 专用网、虚拟专用网和网络地址转换 591
26.1 专用网 591
26.1.1 内联网 591
26.1.2 外联网 591
26.1.3 编址 592
26.2 虚拟专用网 592
26.2.1 实现保密 592
26.2.2 VPN技术 594
26.3 网络地址转换 595
26.3.1 地址转换 596
26.3.2 转换表 596
26.4 重要术语 598
26.5 本章小结 598
26.6 实践安排 599
26.6.1 习题 599
26.6.2 研究活动 599
第27章 下一代:IPv6和ICMPv6 601
27.1 IPv6 601
27.1.1 IPv6的地址 602
27.1.2 地址空间指派 603
27.1.3 分组格式 608
27.1.4 IPv4和IPv6的比较 617
27.2 ICMPv6 617
27.2.1 差错报告 618
27.2.2 查询 621
27.3 从IPv4过渡到IPv6 625
27.3.1 双协议栈 625
27.3.2 隧道技术 626
27.3.3 首部转换 626
27.4 重要术语 628
27.5 本章小结 629
27.6 实践安排 629
27.6.1 习题 629
27.6.2 研究活动 631
第28章 网络安全 633
28.1 密码学 633
28.1.1 对称密钥密码学 634
28.1.2 公钥密码学 637
28.1.3 比较 639
28.2 保密 640
28.2.1 使用对称密钥密码学的保密 640
28.2.2 使用不对称密钥密码学的保密 640
28.3 电子签名 641
28.3.1 对整个文档签字 641
28.3.2 对摘要签名 642
28.4 实体鉴别 643
28.4.1 用对称密钥密码学进行实体鉴别 644
28.4.2 用公钥密码学进行实体鉴别 645
28.5 密钥管理 646
28.5.1 对称密钥分配 646
28.5.2 公钥认证 651
28.5.3 Kerberos 653
28.6 因特网的安全 656
28.6.1 IP层的安全:IPSec 656
28.6.2 运输层安全 659
28.6.3 应用层的安全:PGP 662
28.7 防火墙 664
28.7.1 分组过滤防火墙 664
28.7.2 代理防火墙 665
28.8 重要术语 666
28.9 本章小结 667
28.10 实践安排 668
28.10.1 习题 668
28.10.2 研究活动 669