标题：TCP/IP详解卷1：协议
基本信息
出版社: 机械工业出版社; 第1版 (2000年4月1日)
平装: 423页
开本: 16开
ISBN: 7111075668, 9787111075660
条形码: 9787111075660
商品尺寸: 25.8 x 19.2 x 1.6 cm
商品重量: 680 g
品牌: 机械工业出版社
ASIN: B00116OTVS
内容简介
《TCP/IP详解卷1：协议》描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者LawrenceBerkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输的不同分组。对tcpdump输出的研究可以帮助理解不同协议如何工作。《TCP/IP详解卷1：协议》是网络构建原型——4.4BSD的建造者的倾力之作，《TCP/IP解析》中的第1卷，主要讲述TCP/IP协议方面的内容。与其他的TCP/IP书藉的最大不同在于，本书不仅仅讲述了RFCS的标准协议，而且结合大量实例讲述了TCP/IP协议包的定义原因及在各种不同的操作系统中（如Sunos4.1.3、Soloris2.2、AIX3.2.2）的应用与工作方式，这样可以以动态方式讲述TCP/IP的知识，使读者可以轻松掌握TCP/IP的知识：路由协议、寻址协议、组控制协议、简单邮件传输协议等。全书内容实用性强，是在校生学习TCP/IP知识的良师益友。
编辑推荐
《TCP/IP详解卷1：协议》是一本完整而详细的TCP/IP协议指南。 《TCP/IP详解卷1：协议》适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。
媒体推荐
书评
本书是网络构建原型——4.4BSD的建造者的倾力之作，《TCP/IP解析》中的第1卷，主要讲述TCP/IP协议方面的内容。与其他的TCP/IP书藉的最大不同在于，本书不仅仅讲述了RFCS的标准协议，而且结合大量实例讲述了TCP/IP协议包的定义原因及在各种不同的操作系统中（如Sunos4.1.3、Soloris2.2、AIX3.2.2）的应用与工作方式，这样可以以动态方式讲述TCP/IP的知识，使读者可以轻松掌握TCP/IP的知识：路由协议、寻址协议、组控制协议、简单邮件传输协议等。全书内容实用性强，是在校生学习TCP/IP知识的良师益友。
作者简介
W.Richard Stevens（1951-1999）是一位非常受人尊敬的专家，除了《TCP/IP详解》三卷本外，他还有其他两部最为畅销的作品：《UNIX环境高级编程》和《UNIX网络编程》（两卷本）。
目录
译者序
前言
第1章 概述1
1.1 引言1
1.2 分层1
1.3 TCP/IP的分层4
1.4 互联网的地址5
1.5 域名系统6
1.6 封装6
1.7 分用8
1.8 客户-服务器模型8
1.9 端口号9
1.10 标准化过程10
1.11 RFC10
1.12 标准的简单服务11
1.13 互联网12
1.14 实现12
1.15 应用编程接口12
1.16 测试网络13
1.17 小结13
第2章 链路层15
2.1 引言15
2.2 以太网和IEEE 802封装15
2.3 尾部封装17
2.4 SLIP：串行线路IP17
2.5 压缩的SLIP18
2.6 PPP：点对点协议18
2.7 环回接口20
2.8 最大传输单元MTU21
2.9 路径MTU21
2.10 串行线路吞吐量计算21
2.11 小结22
第3章 IP：网际协议24
3.1 引言24
3.2 IP首部24
3.3 IP路由选择27
3.4 子网寻址30
3.5 子网掩码32
3.6 特殊情况的IP地址33
3.7 一个子网的例子33
3.8 ifconfig命令35
3.9 netstat命令36
3.10 IP的未来36
3.11 小结37
第4章 ARP：地址解析协议38
4.1 引言38
4.2 一个例子38
4.3 ARP高速缓存40
4.4 ARP的分组格式40
4.5 ARP举例41
4.5.1 一般的例子41
4.5.2 对不存在主机的ARP请求42
4.5.3 ARP高速缓存超时设置43
4.6 ARP代理43
4.7 免费ARP45
4.8 arp命令45
4.9 小结46
第5章 RARP：逆地址解析协议47
5.1 引言47
5.2 RARP的分组格式47
5.3 RARP举例47
5.4 RARP服务器的设计48
5.4.1 作为用户进程的RARP服务器49
5.4.2 每个网络有多个RARP服务器49
5.5 小结49
第6章 ICMP：Internet控制报文协议50
6.1 引言50
6.2 ICMP报文的类型50
6.3 ICMP地址掩码请求与应答52
6.4 ICMP时间戳请求与应答53
6.4.1 举例54
6.4.2 另一种方法55
6.5 ICMP端口不可达差错56
6.6 ICMP报文的4.4BSD处理59
6.7 小结60
第7章 Ping程序61
7.1 引言61
7.2 Ping程序61
7.2.1 LAN输出62
7.2.2 WAN输出63
7.2.3 线路SLIP链接64
7.2.4 拨号SLIP链路65
7.3 IP记录路由选项65
7.3.1 通常的例子66
7.3.2 异常的输出68
7.4 IP时间戳选项69
7.5 小结70
第8章 Traceroute程序71
8.1 引言71
8.2 Traceroute 程序的操作71
8.3 局域网输出72
8.4 广域网输出75
8.5 IP源站选路选项76
8.5.1 宽松的源站选路的traceroute
程序示例78
8.5.2 严格的源站选路的traceroute
程序示例79
8.5.3 宽松的源站选路traceroute程序
的往返路由80
8.6 小结81
第9章 IP选路83
9.1 引言83
9.2 选路的原理84
9.2.1 简单路由表84
9.2.2 初始化路由表86
9.2.3 较复杂的路由表87
9.2.4 没有到达目的地的路由87
9.3 ICMP主机与网络不可达差错88
9.4 转发或不转发89
9.5 ICMP重定向差错89
9.5.1 一个例子90
9.5.2 更多的细节91
9.6 ICMP路由器发现报文92
9.6.1 路由器操作93
9.6.2 主机操作93
9.6.3 实现93
9.7 小结94
第10章 动态选路协议95
10.1 引言95
10.2 动态选路95
10.3 Unix选路守护程序96
10.4 RIP：选路信息协议96
10.4.1 报文格式96
10.4.2 正常运行97
10.4.3 度量98
10.4.4 问题98
10.4.5 举例98
10.4.6 另一个例子100
10.5 RIP版本2102
10.6 OSPF：开放最短路径优先102
10.7 BGP：边界网关协议103
10.8 CIDR：无类型域间选路104
10.9 小结105
第11章 UDP：用户数据报协议107
11.1 引言107
11.2 UDP首部107
11.3 UDP检验和108
11.3.1 tcpdump输出109
11.3.2 一些统计结果109
11.4 一个简单的例子110
11.5 IP分片111
11.6 ICMP不可达差错（需要分片）113
11.7 用Traceroute确定路径MTU114
11.8 采用UDP的路径MTU发现116
11.9 UDP和ARP之间的交互作用118
11.10 最大UDP数据报长度119
11.11 ICMP源站抑制差错120
11.12 UDP服务器的设计122
11.12.1 客户IP地址及端口号122
11.12.2 目标IP地址122
11.12.3 UDP输入队列122
11.12.4 限制本地IP地址124
11.12.5 限制远端IP地址125
11.12.6 每个端口有多个接收者125
11.13 小结126
第12章 广播和多播128
12.1 引言128
12.2 广播129
12.2.1 受限的广播129
12.2.2 指向网络的广播129
12.2.3 指向子网的广播129
12.2.4 指向所有子网的广播130
12.3 广播的例子130
12.4 多播132
12.4.1 多播组地址133
12.4.2 多播组地址到以太网地址的转换133
12.4.3 FDDI和令牌环网络中的多播134
12.5 小结134
第13章 IGMP：Internet组管理协议136
13.1 引言136
13.2 IGMP报文136
13.3 IGMP协议136
13.3.1 加入一个多播组136
13.3.2 IGMP报告和查询137
13.3.3 实现细节137
13.3.4 生存时间字段138
13.3.5 所有主机组138
13.4 一个例子138
13.5 小结141
第14章 DNS：域名系统142
14.1 引言142
14.2 DNS基础142
14.3 DNS的报文格式144
14.3.1 DNS查询报文中的问题部分146
14.3.2 DNS响应报文中的资源记录部分147
14.4 一个简单的例子147
14.5 指针查询150
14.5.1 举例151
14.5.2 主机名检查151
14.6 资源记录152
14.7 高速缓存153
14.8 用UDP还是用TCP156
14.9 另一个例子156
14.10 小结157
第15章 TFTP：简单文件传送协议159
15.1 引言159
15.2 协议159
15.3 一个例子160
15.4 安全性161
15.5 小结162
第16章 BOOTP: 引导程序协议163
16.1 引言163
16.2 BOOTP的分组格式163
16.3 一个例子164
16.4 BOOTP服务器的设计165
16.5 BOOTP穿越路由器167
16.6 特定厂商信息167
16.7 小结168
第17章 TCP：传输控制协议170
17.1 引言170
17.2 TCP的服务170
17.3 TCP的首部171
17.4 小结173
第18章 TCP连接的建立与终止174
18.1 引言174
18.2 连接的建立与终止174
18.2.1 tcpdump的输出174
18.2.2 时间系列175
18.2.3 建立连接协议175
18.2.4 连接终止协议177
18.2.5 正常的tcpdump输出177
18.3 连接建立的超时178
18.3.1 第一次超时时间178
18.3.2 服务类型字段179
18.4 最大报文段长度179
18.5 TCP的半关闭180
18.6 TCP的状态变迁图182
18.6.1 2MSL等待状态183
18.6.2 平静时间的概念186
18.6.3 FIN_WAIT_2状态186
18.7 复位报文段186
18.7.1 到不存在的端口的连接请求187
18.7.2 异常终止一个连接187
18.7.3 检测半打开连接188
18.8 同时打开189
18.9 同时关闭191
18.10 TCP选项191
18.11 TCP服务器的设计192
18.11.1 TCP服务器端口号193
18.11.2 限定的本地IP地址194
18.11.3 限定的远端IP地址195
18.11.4 呼入连接请求队列195
18.12 小结197
第19章 TCP的交互数据流200
19.1 引言200
19.2 交互式输入200
19.3 经受时延的确认201
19.4 Nagle算法203
19.4.1 关闭Nagle算法204
19.4.2 一个例子205
19.5 窗口大小通告207
19.6 小结208
第20章 TCP的成块数据流209
20.1 引言209
20.2 正常数据流209
20.3 滑动窗口212
20.4 窗口大小214
20.5 PUSH标志215
20.6 慢启动216
20.7 成块数据的吞吐量218
20.7.1 带宽时延乘积220
20.7.2 拥塞220
20.8 紧急方式221
20.9 小结224
第21章 TCP的超时与重传226
21.1 引言226
21.2 超时与重传的简单例子226
21.3 往返时间测量227
21.4 往返时间RTT的例子229
21.4.1 往返时间RTT的测量229
21.4.2 RTT估计器的计算231
21.4.3 慢启动233
21.5 拥塞举例233
21.6 拥塞避免算法235
21.7 快速重传与快速恢复算法236
21.8 拥塞举例（续）237
21.9 按每条路由进行度量240
21.10 ICMP的差错240
21.11 重新分组243
21.12 小结243
第22章 TCP的坚持定时器245
22.1 引言245
22.2 一个例子245
22.3 糊涂窗口综合症246
22.4 小结250
第23章 TCP的保活定时器251
23.1 引言251
23.2 描述252
23.3 保活举例253
23.3.1 另一端崩溃253
23.3.2 另一端崩溃并重新启动254
23.3.3 另一端不可达254
23.4 小结255
第24章 TCP的未来和性能256
24.1 引言256
24.2 路径MTU发现256
24.2.1 一个例子257
24.2.2 大分组还是小分组258
24.3 长肥管道259
24.4 窗口扩大选项262
24.5 时间戳选项263
24.6 PAWS：防止回绕的序号265
24.7 T/TCP：为事务用的TCP扩展265
24.8 TCP的性能267
24.9 小结268
第25章 SNMP：简单网络管理协议270
25.1 引言270
25.2 协议270
25.3 管理信息结构272
25.4 对象标识符274
25.5 管理信息库介绍274
25.6 实例标识276
25.6.1 简单变量276
25.6.2 表格276
25.6.3 字典式排序277
25.7 一些简单的例子277
25.7.1 简单变量278
25.7.2 get-next操作278
25.7.3 表格的访问279
25.8 管理信息库(续)279
25.8.1 system组279
25.8.2 interface组280
25.8.3 at组281
25.8.4 ip组282
25.8.5 icmp组285
25.8.6 tcp组285
25.9 其他一些例子288
25.9.1 接口MTU288
25.9.2 路由表288
25.10 trap290
25.11 ASN.1和BER291
25.12 SNMPv2292
25.13 小结292
第26章 Telnet和Rlogin：远程登录293
26.1 引言293
26.2 Rlogin协议294
26.2.1 应用进程的启动295
26.2.2 流量控制295
26.2.3 客户的中断键296
26.2.4 窗口大小的改变296
26.2.5 服务器到客户的命令296
26.2.6 客户到服务器的命令297
26.2.7 客户的转义符298
26.3 Rlogin的例子298
26.3.1 初始的客户-服务器协议298
26.3.2 客户中断键299
26.4 Telnet协议302
26.4.1 NVT ASCII302
26.4.2 Telnet命令302
26.4.3 选项协商303
26.4.4 子选项协商304
26.4.5 半双工、一次一字符、一次
一行或行方式304
26.4.6 同步信号306
26.4.7 客户的转义符306
26.5 Telnet举例306
26.5.1 单字符方式306
26.5.2 行方式310
26.5.3 一次一行方式(准行方式)312
26.5.4 行方式：客户中断键313
26.6 小结314
第27章 FTP：文件传送协议316
27.1 引言316
27.2 FTP协议316
27.2.1 数据表示316
27.2.2 FTP命令318
27.2.3 FTP应答319
27.2.4 连接管理320
27.3 FTP的例子321
27.3.1 连接管理：临时数据端口321
27.3.2 连接管理：默认数据端口323
27.3.3 文本文件传输：NVT ASCII
表示还是图像表示325
27.3.4 异常中止一个文件的传输：
Telnet同步信号326
27.3.5 匿名FTP329
27.3.6 来自一个未知IP地址的匿名FTP330
27.4 小结331
第28章 SMTP：简单邮件传送协议332
28.1 引言332
28.2 SMTP协议332
28.2.1 简单例子332
28.2.2 SMTP命令334
28.2.3 信封、首部和正文335
28.2.4 中继代理335
28.2.5 NVT ASCII337
28.2.6 重试间隔337
28.3 SMTP的例子337
28.3.1 MX记录：主机非直接连到
Internet337
28.3.2 MX记录：主机出故障339
28.3.3 VRFY和EXPN命令340
28.4 SMTP的未来340
28.4.1 信封的变化：扩充的SMTP341
28.4.2 首部变化：非ASCII字符342
28.4.3 正文变化：通用Internet邮件
扩充343
28.5 小结346
第29章 网络文件系统347
29.1 引言347
29.2 Sun远程过程调用347
29.3 XDR：外部数据表示349
29.4 端口映射器349
29.5 NFS协议351
29.5.1 文件句柄353
29.5.2 安装协议353
29.5.3 NFS过程354
29.5.4 UDP还是TCP355
29.5.5 TCP上的NFS355
29.6 NFS实例356
29.6.1 简单的例子：读一个文件356
29.6.2 简单的例子：创建一个目录357
29.6.3 无状态358
29.6.4 例子：服务器崩溃358
29.6.5 等幂过程360
29.7 第3版的NFS360
29.8 小结361
第30章 其他的TCP/IP应用程序363
30.1 引言363
30.2 Finger协议363
30.3 Whois协议364
30.4 Archie、WAIS、Gopher、Veronica
和WWW366
30.4.1 Archie366
30.4.2 WAIS366
30.4.3 Gopher366
30.4.4 Veronica366
30.4.5 万维网WWW367
30.5 X窗口系统367
30.5.1 Xscope程序368
30.5.2 LBX: 低带宽X370
30.6 小结370
附录A tcpdump程序371
附录B 计算机时钟376
附录C sock程序378
附录D 部分习题的解答381
附录E 配置选项395
附录F 可以免费获得的源代码406
参考文献409
缩略语420