本帖最后由 tyw 于 2011-4-28 20:18 编辑
TCP/IP技术大全 424页 13.8M 超清书签版.pdf
(13.53 MB)
封面 1
第1 章概述 2
1.1 引言 2
1.2 分层 2
1.3 TCP/IP 的分层 5
1.4 互联网的地址 6
1.5 域名系统 7
1.6 封装 8
1.7 分用 9
1.8 客户-服务器模型 10
1.9 端口号 10
1.10 标准化过程 11
1.11 RFC 12
1.12 标准的简单服务 12
1.13 互联网 13
1.14 实现 13
1.15 应用编程接口 14
1.16 测试网络 14
1.17 小结 14
第2 章链路层 16
2.1 引言 16
2.2 以太网和IEEE 802 封装 16
2.3 尾部封装 18
2.4 SLIP :串行线路IP 18
2.5 压缩的SLIP 19
2.6 PPP :点对点协议 19
2.7 环回接口 20
2.8 最大传输单元MTU 22
2.9 路径MTU 22
2.10 串行线路吞吐量计算 22
2.11 小结 23
第3 章IP :网际协议 25
3.1 引言 25
3.2 IP 首部 25
3.3 IP 路由选择 28
3.4 子网寻址 31
3.5 子网掩码 33
3.6 特殊情况的IP 地址 33
3.7 一个子网的例子 34
3.8 ifconfig 命令 35
3.9 netstat 命令 37
3.10 IP 的未来 37
3.11 小结 38
第4 章ARP :地址解析协议 39
4.1 引言 39
4.2 一个例子 39
4.3 ARP 高速缓存 41
4.4 ARP 的分组格式 41
4.5 ARP 举例 41
4.5.1 一般的例子 41
4.5.2 对不存在主机的ARP 请求 43
4.5.3 ARP 高速缓存超时设置 44
4.6 ARP 代理 44
4.7 免费ARP 45
4.8 arp 命令 46
4.9 小结 47
第5 章RARP :逆地址解析协议 48
5.1 引言 48
5.2 RARP 的分组格式 48
5.3 RARP 举例 48
5.4 RARP 服务器的设计 49
5.4.1 作为用户进程的RARP 服务器 49
5.4.2 每个网络有多个RARP 服务器 50
5.5 小结 50
第6 章ICMP :Internet 控制报文协议 51
6.1 引言 51
6.2 ICMP 报文的类型 51
6.3 ICMP 地址掩码请求与应答 53
6.4 ICMP 时间戳请求与应答 54
6.4.1 举例 55
6.4.2 另一种方法 56
6.5 ICMP 端口不可达差错 57
6.6 ICMP 报文的4.4BSD 处理 60
6.7 小结 61
第7 章Ping 程序 62
7.1 引言 62
7.2 Ping 程序 62
7.2.1 LAN 输出 63
7.2.2 WAN 输出 64
7.2.3 线路SLIP 链接 65
7.2.4 拨号SLIP 链路 66
7.3 IP 记录路由选项 66
7.3.1 通常的例子 67
7.3.2 异常的输出 69
7.4 IP 时间戳选项 70
7.5 小结 71
第8 章Traceroute 程序 72
8.1 引言 72
8.2 Traceroute 程序的操作 72
8.3 局域网输出 73
8.4 广域网输出 76
8.5 IP 源站选路选项 77
8.5.1 宽松的源站选路的t r a c e r o u t e 程序示例 78
8.5.2 严格的源站选路的t r a c e r o u t eL? 80
8.5.3 宽松的源站选路t r a c e r o u t e 程序的往返路由 81
8.6 小结 82
第9 章IP 选路 84
9.1 引言 84
9.2 选路的原理 84
9.2.1 简单路由表 85
9.2.2 初始化路由表 87
9.2.3 较复杂的路由表 88
9.2.4 没有到达目的地的路由 88
9.3 ICMP 主机与网络不可达差错 88
9.4 转发或不转发 90
9.5 ICMP 重定向差错 90
9.5.1 一个例子 91
9.5.2 更多的细节 92
9.6 ICMP 路由器发现报文 93
9.6.1 路由器操作 94
9.6.2 主机操作 94
9.6.3 实现 94
9.7 小结 95
第10 章动态选路协议 96
10.1 引言 96
10.2 动态选路 96
10.3 Unix 选路守护程序 97
10.4 RIP :选路信息协议 97
10.4.1 报文格式 97
10.4.2 正常运行 命令 98
10.4.3 度量 99
10.4.4 问题 99
10.4.5 举例 99
10.4.6 另一个例子 101
10.5 RIP 版本2 103
10.6 OSPF :开放最短路径优先 103
10.7 BGP :边界网关协议 104
10.8 CIDR :无类型域间选路 105
10.9 小结 106
第11 章UDP :用户数据报协议 108
11.1 引言 108
11.2 UDP 首部 108
11.3 UDP 检验和 109
11.3.1 tcpdump 输出 110
11.3.2 一些统计结果 111
11.4 一个简单的例子 111
11.5 IP 分片 112
11.6 ICMP 不可达差错(需要分片) 114
11.7 用Traceroute 确定路径MTU 115
11.8 采用UDP 的路径MTU 发现 117
11.9 UDP 和ARP 之间的交互作用 119
11.10 最大UDP 数据报长度 120
11.11 ICMP 源站抑制差错 121
11.12 UDP 服务器的设计 123
11.12.1 客户IP 地址及端口号 123
11.12.2 目的IP 地址 123
11.12.3 UDP 输入队列 123
11.12.4 限制本地IP 地址 125
11.12.5 限制远端IP 地址 126
11.12.6 每个端口有多个接收者 126
11.13 小结 127
第12 章广播和多播 129
12.1 引言 129
12.2 广播 130
12.2.1 受限的广播 130
12.2.2 指向网络的广播 130
12.2.3 指向子网的广播 130
12.2.4 指向所有子网的广播 130
12.3 广播的例子 131
12.4 多播 133
12.4.1 多播组地址 134
12.4.2 多播组地址到以太网地址的转换 134
12.4.3 FDDI 和令牌环网络中的多播 135
12.5 小结 135
第13 章IGMP :Internet 组管理协议 137
13.1 引言 137
13.2 IGMP 报文 137
13.3 IGMP 协议 137
13.3.1 加入一个多播组 137
13.3.2 IGMP 报告和查询 137
13.3.3 实现细节 139
13.3.4 生存时间字段 139
13.3.5 所有主机组 139
13.4 一个例子 139
13.5 小结 142
第14 章DNS :域名系统 143
14.1 引言 143
14.2 DNS 基础 143
14.3 DNS 的报文格式 145
14.3.1 DNS 查询报文中的问题部分 147
14.3.2 DNS 响应报文中的资源记录部分 147
14.4 一个简单的例子 148
14.5 指针查询 151
14.5.1 举例 151
14.5.2 主机名检查 152
14.6 资源记录 153
14.7 高速缓存 154
14.8 用UDP 还是用TCP 157
14.9 另一个例子 157
14.10 小结 158
第15 章TFTP :简单文件传送协议 160
15.1 引言 160
15.2 协议 160
15.3 一个例子 161
15.4 安全性 162
15.5 小结 163
第16 章BOOTP :引导程序协议 164
16.1 引言 164
16.2 BOOTP 的分组格式 164
16.3 一个例子 166
16.4 BOOTP 服务器的设计 167
16.5 BOOTP 穿越路由器 168
16.6 特定厂商信息 168
16.7 小结 169
第17 章TCP :传输控制协议 171
17.1 引言 171
17.2 TCP 的服务 171
17.3 TCP 的首部 172
17.4 小结 174
第18 章TCP 连接的建立与终止 175
18.1 引言 175
18.2 连接的建立与终止 175
18.2.1 t c p d u m p 的输出 175
18.2.2 时间系列 176
18.2.3 建立连接协议 176
18.2.4 连接终止协议 177
18.2.5 正常的t c p d u m p 输出 178
18.3 连接建立的超时 179
18.3.1 第一次超时时间 179
18.3.2 服务类型字段 180
18.4 最大报文段长度 180
18.5 TCP 的半关闭 181
18.6 TCP 的状态变迁图 183
18.6.1 2MSL 等待状态 184
18.6.2 平静时间的概念 187
18.6.3 FIN_WAIT_2 状态 187
18.7 复位报文段 187
18.7.1 到不存在的端口的连接请求 187
18.7.2 异常终止一个连接 188
18.7.3 检测半打开连接 189
18.8 同时打开 190
18.9 同时关闭 192
18.10 TCP 选项 193
18.11 TCP 服务器的设计 193
18.11.1 TCP 服务器端口号 194
18.11.2 限定的本地IP 地址 195
18.11.3 限定的远端IP 地址 196
18.11.4 呼入连接请求队列 196
18.12 小结 199
第19 章TCP 的交互数据流 201
19.1 引言 201
19.2 交互式输入 201
19.3 经受时延的确认 202
19.4 Nagle 算法 203
19.4.1 关闭Nagle 算法 205
19.4.2 一个例子 205
19.5 窗口大小通告 208
19.6 小结 209
第20 章TCP 的成块数据流 210
20.1 引言 210
20.2 正常数据流 210
20.3 滑动窗口 213
20.4 窗口大小 214
20.5 PUSH 标志 216
20.6 慢启动 217
20.7 成块数据的吞吐量 218
20.7.1 带宽时延乘积 221
20.7.2 拥塞 222
20.8 紧急方式 222
20.9 小结 225
第21 章TCP 的超时与重传 227
21.1 引言 227
21.2 超时与重传的简单例子 227
21.3 往返时间测量 228
21.4 往返时间RTT 的例子 229
21.4.1 往返时间RTT 的测量 230
21.4.2 RTT 估计器的计算 232
21.4.3 慢启动 233
21.5 拥塞举例 233
21.6 拥塞避免算法 236
21.7 快速重传与快速恢复算法 237
21.8 拥塞举例(续) 238
21.9 按每条路由进行度量 241
21.10 ICMP 的差错 241
21.11 重新分组 244
21.12 小结 244
第22 章TCP 的**定时器 246
22.1 引言 246
22.2 一个例子 246
22.3 糊涂窗口综合症 247
22.4 小结 251
第23 章TCP 的保活定时器 252
23.1 引言 252
23.2 描述 252
23.3 保活举例 254
23.3.1 另一端崩溃 254
23.3.2 另一端崩溃并重新启动 255
23.3.3 另一端不可达 255
23.4 小结 256
第24 章TCP 的未来和性能 257
24.1 引言 257
24.2 路径MTU 发现 257
24.2.1 一个例子 258
24.2.2 大分组还是小分组 259
24.3 长肥管道 260
24.4 窗口扩大选项 263
24.5 时间戳选项 264
24.6 PAWS :防止回绕的序号 266
24.7 T/TCP :为事务用的TCP 扩展 266
24.8 TCP 的性能 268
24.9 小结 269
第25 章SNMP: 简单网络管理协议 271
25.1 引言 271
25.2 协议 271
25.3 管理信息结构 273
25.4 对象标识符 275
25.5 管理信息库介绍 275
25.6 实例标识 277
25.6.1 简单变量 277
25.6.2 表格 277
25.6.3 字典式排序 278
25.7 一些简单的例子 278
25.7.1 简单变量 279
25.7.2 get-next 操作 279
25.7.3 表格的访问 280
25.8 管理信息库(续) 280
25.8.1 s y s t e m 组 280
25.8.2 interface 组 281
25.8.3 a t 组 282
25.8.4 i p 组 284
25.8.5 i c m p 组 286
25.8.6 t c p 组 286
25.9 其他一些例子 289
25.9.1 接口MTU 289
25.9.2 路由表 289
25.10 Trap 291
25.11 ASN.1 和BER 292
25.12 SNMPv2 293
25.13 小结 293
第26 章Telnet 和Rlogin :远程登录 294
26.1 引言 294
26.2 Rlogin 协议 295
26.2.1 应用进程的启动 296
26.2.2 流量控制 296
26.2.3 客户的中断键 297
26.2.4 窗口大小的改变 297
26.2.5 服务器到客户的命令 297
26.2.6 客户到服务器的命令 298
26.2.7 客户的转义符 298
26.3 Rlogin 的例子 299
26.3.1 初始的客户-服务器协议 299
26.3.2 客户中断键 300
26.4 Telnet 协议 303
26.4.1 NVT ASCII 303
26.4.2 Telnet 命令 303
26.4.3 选项协商 304
26.4.4 子选项协商 305
26.4.5 半双工、一次一字符、一次一行或行方式 306
26.4.6 同步信号 306
26.4.7 客户的转义符 307
26.5 Telnet 举例 307
26.5.1 单字符方式 307
26.5.2 行方式 311
26.5.3 一次一行方式(准行方式) 313
26.5.4 行方式:客户中断键 314
26.6 小结 315
第27 章FTP :文件传送协议 317
27.1 引言 317
27.2 FTP 协议 317
27.2.1 数据表示 317
27.2.2 FTP 命令 319
27.2.3 FTP 应答 320
27.2.4 连接管理 321
27.3 FTP 的例子 322
27.3.1 连接管理:临时数据端口 322
27.3.2 连接管理:默认数据端口 324
27.3.3 文本文件传输:NVT ASCII 表示还是图像表示 326
27.3.4 异常中止一个文件的传输:Telnet 同步信号 327
27.3.5 匿名FTP 330
27.3.6 来自一个未知IP 地址的匿名FTP 331
27.4 小结 331
第28 章SMTP: 简单邮件传送协议 333
28.1 引言 333
28.2 SMTP 协议 334
28.2.1 简单例子 334
28.2.2 SMTP 命令 335
28.2.3 信封、首部和正文 336
28.2.4 中继代理 336
28.2.5 NVT ASCII 337
28.2.6 重试间隔 337
28.3 SMTP 的例子 338
28.3.1 MX 记录:主机非直接连到Internet 338
28.3.2 MX 记录:主机出故障 339
28.3.3 VRFY 和EXPN 命令 341
28.4 SMTP 的未来 341
28.4.1 信封的变化:扩充的SMTP 341
28.4.2 首部变化:非ASCII 字符 343
28.4.3 正文变化:通用Internet 邮件扩充 344
28.5 小结 347
第29 章网络文件系统 348
29.1 引言 348
29.2 Sun 远程过程调用 348
29.3 XDR: 外部数据表示 350
29.4 端口映射器 350
29.5 NFS 协议 352
29.5.1 文件句柄 354
29.5.2 安装协议 354
29.5.3 NFS 过程 355
29.5.4 UDP 还是TCP 356
29.5.5 TCP 上的NFS 356
29.6 NFS 实例 357
29.6.1 简单的例子:读一个文件 357
29.6.2 简单的例子:创建一个目录 358
29.6.3 无状态 358
29.6.4 例子:服务器崩溃 359
29.6.5 等幂过程 360
29.7 第3 版的NFS 361
29.8 小结 362
第30 章其他的TCP/IP 应用程序 364
30.1 引言 364
30.2 Finger 协议 364
30.3 Whois 协议 365
30.4 Archie 、WAIS 、Gopher 、Veronica 和WWW 366
30.4.1 Archie 366
30.4.2 WAIS 367
30.4.3 Gopher 367
30.4.4 Veronica 367
30.4.5 万维网WWW 368
30.5 X 窗口系统 368
30.5.1 Xscope 程序 369
30.5.2 LBX :低带宽X 371
30.6 小结 371
附录A tcpdump 程序 372
A.1 BSD 分组过滤器 372
A.2 SunOS 的网络接口分接头 373
A.3 SVR4 数据链路提供者接口 374
A.4 tcpdump 的输出 374
A.5 安全性考虑 376
A.6 插口排错选项 376
附录B 计算机时钟 377
附录C sock 程序 379
附录D 部分习题的解答 382
附录E 配置选项 396
E.1 BSD/386 版本1.0 396
E.2 SunOS 4.1.3 398
E.3 SRV4 399
E.4 Solaris 2.2 400
E.5 AIX 3.2.2 405
E.6 4.4BSD 406
附录F 可以免费获得的源代码 407
参考文献 410
缩略语 421
|