Chapter 1.概述 1
1.1 概述 1
1.2 分层 1
1.3 TCP/IP的分层 6
1.4 互联网的地址 7
1.5 域名系统 9
1.6 封装 9
1.7 分用 11
1.8 客户-服务器模型 12
1.9 端口号 12
1.10 标准化过程 14
1.11 RFCs 14
1.12 标准的简单服务 15
1.13 互联网 16
1.14 实现 16
1.15 应用编程接口 17
1.16 测试网络 18
1.17 小结 19
Chapter 2.链路层 21
2.1 概述 21
2.2 以太网和IEEE 802封装 21
2.3 尾部封装 23
2.4 SLIP:串行线路IP 24
2.5 压缩的SLIP 25
2.6 PPP:点对点协议 26
2.7 环回接口 28
2.8 最大传输单元MTU 29
2.9 路径MTU 30
2.10 串行线路吞吐量计算 30
2.11 小结 31
Chapter 3.IP:网际协议 33
3.1 概述 33
3.2 IP首部 34
3.3 IP路由选择 37
3.4 子网寻址 42
3.5 子网掩码 43
3.6 特殊情况的IP地址 45
3.7 子网示例 46
3.8 ifconfig命令 47
3.9 netstat命令 49
3.10 IP的未来 49
3.11 小结 50
Chapter 4.ARP:地址解析协议 53
4.1 概述 53
4.2 示例 54
4.3 ARP高速缓存 56
4.4 ARP的分组格式 56
4.5 ARP示例 57
4.6 代理ARP 60
4.7 免费ARP 62
4.8 arp命令 63
4.9 小结 63
Chapter 5.RARP:逆地址解析协议 65
5.1 概述 65
5.2 RARP的分组格式 65
5.3 RARP示例 66
5.4 RARP服务器的设计 67
5.5 小结 68
Chapter 6.ICMP:Internet控制报文协议 69
6.1 概述 69
6.2 ICMP报文的类型 70
6.3 ICMP地址掩码请求与应答 72
6.4 ICMP时间戳请求与应答 74
6.5 ICMP端口不可达差错 77
6.6 ICMP报文的4.4BSD处理 81
6.7 小结 83
Chapter 7.Ping程序 85
7.1 概述 85
7.2 Ping程序 85
7.3 IP记录路由选项 91
7.4 IP时间戳选项 95
7.5 小结 96
Chapter 8.Traceroute程序 97
8.1 概述 97
8.2 Traceroute程序的操作 97
8.3 局域网输出 99
8.4 广域网输出 102
8.5 IP源站选路选项 104
8.6 小结 109
Chapter 9.IP选路 111
9.1 概述 111
9.2 选路的原 112
9.3 ICMP主机与网络不可达差错 117
9.4 转发或不转发 119
9.5 ICMP重定向差错 119
9.6 ICMP路由器发现报文 123
9.7 小结 125
Chapter 10.动态选路协议 127
10.1 概述 127
10.2 动态选路 127
10.3 Unix选路守护程序 128
10.4 RIP:选路信息协议 129
10.5 RIP版本2 136
10.6 OSPF:开放最短路径优先 137
10.7 BGP:边界网关协议 138
10.8 CIDR: 类型域间选路 140
10.9 小结 141
Chapter 11.UDP:用户数据报协议 143
11.1 概述 143
11.2 UDP首部 144
11.3 UDP检验和 144
11.4 简单示例 147
11.5 IP分段 148
11.6 ICMP不可达差错(需要分片) 151
11.7 用Traceroute确定路径MTU 153
11.8 采用UDP的路径MTU发现 155
11.9 UDP和ARP之间的交互作用 157
11.10 最大UDP数据报长度 159
11.11 ICMP源站抑制差错 160
11.12 UDP服务器的设计 162
11.13 小结 167
Chapter 12.播和多播 169
12.1 概述 169
12.2 广播 171
12.3 广播示例 172
12.4 多播 175
12.5 小结 178
Chapter 13.IGMP:Internet组管理协议 179
13.1 概述 179
13.2 IGMP报文 180
13.3 IGMP协议 180
13.4 示例 183
13.5 小结 186
Chapter 14.DNS:域名系统 187
14.1 概述 187
14.2 DNS基础 188
14.3 DNS的报文格式 191
14.4 简单示例 194
14.5 指针查询 198
14.6 资源记录 201
14.7 高速缓存 203
14.8 用UDP还是用TCP 206
14.9 另一个示例 206
14.10 小结 208
Chapter 15.TFTP:简单文件传送协议 209
15.1 概述 209
15.2 协议 209
15 3 示例 211
15.4 安全性 213
15.5 小结 213
Chapter 16.BOOTP:引导程序协议 215
16.1 概述 215
16.2 BOOTP的分组格式 215
16.3 示例 218
16.4 BOOTP服务器的设计 219
16.5 BOOTP穿越路由器 220
16.6 特定厂商信息 221
16.7 小结 222
Chapter 17.TCP:传输控制协议 223
17.1 概述 223
17.2 TCP服务 223
17.3 TCP首部 225
17.4 小结 227
Chapter 18.TCP连接的建立与终止 229
18.1 概述 229
18.2 连接的建立与终止 229
18.3 连接建立的超时 235
18.4 最大报文段长度 236
18.5 TCP的半关闭 238
18.6 TCP的状态转换图 240
18.7 复位报文段 246
18.8 同时打开 250
18 9 同时关闭 252
18.10 TCP选项 253
18.11 TCP服务器的设计 254
18.12 小结 260
Chapter 19.TCP的交互数据流 263
19.1 概述 263
19.2 交互式输入 263
19.3 经受时延的确认 265
19.4 Nagle算法 267
19.5 窗口大小通告 274
19.6 小结 274
Chapter 20.TCP的成块数据流 275
20.1 概述 275
20.2 正常数据流 275
20.3 滑动窗口 280
20.4 窗口大小 282
20.5 PUSH标志 284
20.6 慢启动 285
20.7 成块数据的吞吐量 286
20.8 紧急方式 292
20.9 小结 296
Chapter 21.TCP的超时与重传 297
21.1 概述 297
21.2 超时与重传的简单示例 298
21.3 往返时间测量 299
21.4 RTT示例 301
21.5 拥塞示例 306
21.6 拥塞避免算法 310
21.7 快速重传与快速恢复算法 312
21.8 拥塞示例(续) 313
21.9 按每条路由进行度量 316
21.10 ICMP的差错 317
21.11 重新分组 320
21.12 小结 321
Chapter 22.TCP的坚持定时器 323
22.1 概述 323
22.2 示例 323
22.3 糊涂窗口综合症 325
22.4 小结 330
Chapter 23.TCP的保活定时器 331
23.1 概述 331
23.2 描述 332
23.3 保活示例 333
23.4 小结 337
Chapter 24.TCP的未来和性能 339
24.1 概述 339
24.2 路径MTU发现 340
24.3 长肥管道 344
24.4 窗口扩大选项 347
24.5 时间戳选项 349
24.6 PAWS:防止回绕的序号 351
24.7 T/TCP:为事务用的TCP扩展 351
24.8 TCP的性能 354
24 9 小结 356
Chapter 25.SNMP:简单网络管理协议 359
25.1 概述 359
25.2 协议 360
25.3 管理信息结构 363
25.4 对象标识符 364
25.5 管理信息库介绍 365
25.6 实例标识 367
25.7 一些简单示例 370
25.8 管理信息库(续) 372
25.9 其他示例 382
25.10 Traps 385
25.11 ASN.1和BER 386
25.12 SNMP版本2 387
25.13 小结 388
Chapter 26.Telnet和Rlogin:远程登录 389
26.1 概述 389
26.2 Rlogin协议 391
26.3 Rlogin示例 396
26.4 Telnet协议 401
26.5 Telnet示例 406
26.6 小结 417
Chapter 27.FTP:文件传送协议 419
27.1 概述 419
27.2 FTP协议 419
27.3 FTP示例 426
27.4 小结 439
Chapter 28.SMTP:简单邮件传送协议 441
28.1 概述 441
28.2 SMTP协议 442
28.3 SMTP示例 448
28.4 SMTP的未来 452
28.5 小结 459
Chapter 29.网络文件系统 461
29.1 概述 461
29.2 Sun远程过程调用 461
29.3 XDR:外部数据表示 465
29.4 端口映射器 465
29.5 NFS协议 467
29.6 NFS示例 474
29.7 NFS版本3 479
29.8 小结 480
Chapter 30.其他TCP/IP应用程序 481
30.1 概述 481
30.2 Finger协议 481
30.3 Whois协议 483
30.4 Archie、WAIS、Gopher、Veronica和WWW 484
30.5 X窗口系统 486
30.6 小结 490
Appendix A.tcpdump程序 491
A.1 BSD分组过滤器 491
A.2 SunOS NIT 493
A.3 SVR4 DLPI 494
A.4 tcpdump输出 495
A.5 安全注意事项 496
A.6 套接字调试选项 496
Appendix B.计算机时钟 499
Appendix C.sock程序 503
Appendix D.部分习题的解答 507
Appendix E.配置选项 525
E.1 BSD/386 Version 1.0 526
E.2 SunOS 4.1.3 527
E.3 System V Release 4 529
E.4 Solaris 2.2 529
E.5 AIX 3.2.2 536
E.6 4.4BSD 537
Appendix F.可用源代码 539
参考文献 543