前言 1
第一章 概述 1
1.1 简介 1
1.2 分层模型 1
1.3 TCP/IP分层模型 4
1.4 Internet地址 5
1.5 域名系统 7
1.6 封装 7
1.7 多路分解 8
1.8 客户-服务器模型 9
1.9 端口号 9
1.10 标准化进程 10
1.11 RFCs 11
1.12 若干简单标准的服务 12
1.13 Internet(因特网) 12
1.14 实现 13
1.15 应用编程接口 14
1.16 示例网络 14
练习题 15
1.17 小结 15
第二章 数据链路层 16
2.1 简介 16
2.2 Ethernet和IEEE 802封装 16
2.3 尾部封装 18
2.4 SLIP:串行线IP 18
2.5 压缩的SLIP 19
2.6 PPP:点到点协议 19
2.7 自返回接口 21
2.8 MTU 22
2.9 路径MTU 23
2.10 串行线吞吐率的计算 23
2.11 小结 24
练习题 24
第三章 IP:因特网协议 25
3.1 简介 25
3.2 IP报头 25
3.3 IP路由 28
3.4 子网编址 31
3.5 子网掩码 33
3.6 特殊情况下的IP地址 34
3.7 一个子网示例 35
3.8 ifconfig命令 36
3.9 netstat命令 37
3.10 IP展望 38
3.11 小结 39
练习题 39
4.1 简介 40
4.2 一个示例 40
第四章 ARP:地址解析协议 40
4.3 ARP高速缓存 42
4.4 ARP数据包格式 42
4.5 ARP例子 43
4.6 代理ARP 45
4.7 特殊ARP 47
4.8 ARP命令 48
4.9 小结 48
练习题 48
5.3 RARP示例 50
5.2 RARP数据包格式 50
5.1 简介 50
第五章 RARP:反向地址解析协议 50
5.4 RARP服务器设计 52
5.5 小结 52
练习题 53
第六章 ICMP:因特网控制报文协议 54
6.1 简介 54
6.2 ICMP报文类型 55
6.3 ICMP地址掩码请求与应答 56
6.4 ICMP时间戳请求与应答 58
6.5 ICMP端口不可达错误 61
6.6 4.4BSD对ICMP报文的处理 64
6.7 小结 65
练习题 66
第七章 Ping程序 67
7.1 简介 67
7.2 Ping程序 67
7.3 IP路径记录选项 72
7.4 IP时间戳选项 76
练习题 77
7.5 小结 77
8.1 简介 79
8.2 Traceroute程序的操作 79
第八章 Traceroute程序 79
8.3 LAN输出 80
8.4 广域网输出 83
8.5 IP源选径选项 85
8.6 小结 90
练习题 90
9.1 简介 92
第九章 IP路由 92
9.2 路由原理 93
9.3 ICMP主机和网络不可到达错误 97
9.4 转发或不转发 98
9.5 ICMP重定向错误 98
9.6 ICMP路由器定位报文 101
9.7 小结 103
练习题 103
10.2 动态路由 104
10.1 简介 104
第十章 动态路由协议 104
10.3 Unix路由精灵 105
10.4 RIP:路由信息协议 105
10.5 RIP版本2 112
10.6 OSPF:开放最短路径优先协议 113
10.7 BGP:边缘网关协议 114
10.8 CIDR:无分类域间路由 115
10.9 小结 116
练习题 116
11.2 UDP报头 117
第十一章 UDP:用户数据报协议 117
11.1 简介 117
11.3 UDP校验和 118
11.4 一个简单的示例 120
11.5 IP分段 121
11.6 ICMP不可达错误(需要分段) 123
11.7 使用Traceroute确定路径MTU 125
11.8 用UDP确定路径MTU 126
11.9 UDP和ARP之间的相互作用 129
11.10 最大UDP数据报 130
11.11 ICMP源端抑制错误 131
11.12 UDP服务器设计 133
11.13 小结 138
练习题 138
第十二章 广播与多播 139
12.1 简介 139
12.2 广播 140
12.3 广播举例 141
12.4 多播 144
练习题 146
12.5 小结 146
第十三章 IGMP:因特网组管理协议 148
13.1 简介 148
13.2 IGMP报文 148
13.3 IGMP协议 149
13.4 一个示例 150
13.5 小结 153
练习题 154
14.2 DNS基础 155
第十四章 155
14.1 简介 155
14.3 DNS报文格式 158
14.4 一个简单的示例 161
14.5 指针查询 164
14.6 资源记录 165
14.7 高速缓存 167
14.8 UDP或TCP 170
14.9 另一个示例 170
练习题 171
14.10 小结 171
第十五章 TFTP:简单文件传输协议 173
15.1 简介 173
15.2 协议 173
15.3 一个示例 174
15.4 安全性 176
15.5 小结 176
练习题 176
16.2 BOOTP分组格式 177
第十六章 BOOTP:引导协议 177
16.1 简介 177
16.3 一个示例 179
16.4 BOOTP服务器设计 180
16.5 BOOTP通过路由器 181
16.6 厂商专用信息 181
16.7 小结 182
练习题 183
17.2 TCP服务 184
17.1 简介 184
第十七章 TCP:传输控制协议 184
17.3 TCP报头 185
17.4 小结 187
练习题 187
第十八章 TCP连接建立和终止 189
18.1 简介 189
18.2 连接的建立和终止 189
18.3 连接建立超时 194
18.4 最大段长度 195
18.5 TCP半关闭 197
18.6 TCP状态转换图 198
18.7 连接重置 204
18.8 同时打开连接 207
18.9 同时关闭连接 209
18.10 TCP选项 210
18.11 TCP服务器设计 211
18.12 小结 216
练习题 217
19.2 交互式输入 219
19.1 简介 219
第十九章 TCP交互式数据流 219
19.3 延迟确认 221
19.4 Nagle算法 222
19.5 窗口大小广告 228
19.6 小结 228
练习题 228
第二十章 TCP批量数据流 229
20.1 简介 229
20.2 普通数据流 229
20.3 滑动窗口 233
20.4 窗口大小 234
20.5 PUSH标志位 236
20.6 慢启动 237
20.7 批量数据传输吞吐率 238
20.8 紧急模式 242
20.9 小结 245
练习题 246
21.2 简单超时和重传举例 247
21.1 简介 247
第二十一章 TCP超时和重传 247
21.3 往返时间测量 249
21.4 一个RTT的示例 250
21.5 拥塞的示例 254
21.6 拥塞避免算法 257
21.7 快速重传和快速恢复算法 258
21.8 拥塞举例(续) 259
21.9 每条路径量度 262
21.10 ICMP错误 262
21.11 重新分组 265
21.12 小结 266
练习题 266
第二十二章 TCP持续计时器 267
22.1 简介 267
22.2 一个示例 267
22.3 混乱窗口综合症 269
22.4 小结 273
练习题 273
23.2 描述 274
23.1 简介 274
第二十三章 TCP保持活性计时器 274
23.3 保持活性举例 275
23.4 小结 278
练习题 278
第二十四章 TCP的未来和性能 279
24.1 简介 279
24.2 路径MTU确定 279
24.3 长粗管道 283
24.4 窗口扩展选项 285
24.5 时间戳选项 287
24.6 PAWS:序号重叠防护 288
24.7 T/TCP:交易扩展TCP 289
24.8 TCP性能 290
24.9 小结 292
练习题 292
第二十五章 SNMP:简单网络管理协议 294
25.1 简介 294
25.2 协议 295
25.3 管理信息结构 297
25.4 对象标识符 298
25.5 管理信息库简介 299
25.6 实例标识 301
25.7 几个简单例子 303
25.8 管理信息库(续) 305
25.9 其它示例 316
25.10 陷阱 318
25.11 ASN.1和BER 320
练习题 321
25.13 小结 321
25.12 SNMP版本2 321
第二十六章 Telnet和Rlogin:远程登录 322
26.1 简介 322
26.2 Rlogin协议 323
26.3 Rlogin举例 327
26.4 Telnet协议 331
26.5 Telnet举例 336
26.5 小结 344
练习题 345
27.2 FTP协议 346
第二十七章 FTP:文件传输协议 346
27.1 简介 346
27.3 FTP举例 352
27.4 小结 363
练习题 363
第二十八章 SMTP——简单邮件传输协议 364
28.1 简介 364
28.2 SMTP协议 364
28.3 SMTP举例 369
28.4 SMTP的发展 374
练习题 380
28.5 小结 380
第二十九章 NFS:网络文件系统 381
29.1 简介 381
29.2 Sun远程过程调用 381
29.5 NFS协议 385
29.6 NFS举例 391
29.7 NFS版本3 395
29.8 小结 396
练习题 396
30.2 Finger协议 398
第三十章 其它TCP/IP应用 398
30.1 简介 398
30.3 Whois协议 400
30.4 Archie,WAIS,Gopher,Veronica和WWW 401
30.5 X窗口系统 402
30.6 小结 405
练习题 406
附录A tcpdump程序 407
A.1 BSD分组过滤器 407
A.2 SunOS网络接口开关 408
A.3 SVR4数据链路提供者接口 409
A.4 tcpdump输出 409
A.5 安全考虑 410
A.6 Socket调试选项 411
附录B 计算机时钟 412
附录C sock程序 414
附录D 部分练习题答案 417
附录E 可配置的选项 430
E.1 BSD/386版本1.0 430
E.2 SunOS 4.1.3 431
E.3 系统V第4版 432
E.4 Solaris 2.2 433
E.5 AIX 3.2.2 438
E.6 4.4 BSD 439
附录F 获得的源代码 440
参考文献 444
29.3 XDR:外部数据表示 833
29.4 端口映像 834