标题：TCP/IP协议族（第4版）
基本信息
原书名： TCP/IP Protocol Suite 4 edition 
原出版社： McGraw-Hill Science/Engineering/Math 
作者： Behrouz A.Forouzan    
译者： 王海 张娟 朱晓阳 
丛书名： 世界著名计算机教材精选 
出版社：清华大学出版社 
ISBN：9787302232391
上架时间：2011-1-24
出版日期：2011 年1月
开本：16开
页码：828
版次：4-1
内容简介
本书是介绍tcp/ip协议族的经典图书的最新版本。本书自第1版出版以来，就广受读者欢迎。本书的第3版中文翻译版更是获得“第八届全国高校出版社优秀畅销书一等奖”。
本书最新版进行了扩充，以体现计算机网络技术的最新发展，全书含有七大部分共30章和7个附录:第一部分介绍一些基本概念和基础底层技术；第二部分介绍网络层协议；第三部分介绍运输层协议；第四部分介绍应用层协议；第五部分介绍下一代协议，即ipv6协议；第六部分介绍网络安全问题；第七部分给出了7个附录。每章的最后都有实践安排，其中的第一部分是习题，第二部分是研究活动，要求学生或读者再查找以下课外的阅读资料。
本书可作为大学生和研究生的教材，对从事计算机网络的教学和科研人员以及工程技术人员也有很好的参考价值。 
目录
第一部分　引言和底层技术 
第1章　引言 3 
1.1　发展简史 3 
1.1.1　arpanet 3 
1.1.2　因特网的诞生 4 
1.1.3　传输控制协议/网际协议（tcp/ip） 4 
1.1.4　milnet 4 
1.1.5　csnet 5 
1.1.6　nsfnet 5 
1.1.7　ansnet 5 
1.1.8　今日的因特网 5 
1.1.9　主干isp 6 
1.1.10　地区isp 6 
1.1.11　本地isp 6 
1.1.12　大事记 7 
1.1.13　因特网的发展 7 
1.2　协议和标准 7 
1.2.1　协议 7 
1.2.2　标准 8 
1.3　标准化组织 8 
.1.3.1　标准创建委员会 9 
1.3.2　论坛 10 
1.3.3　管理机构 10 
1.4　因特网标准 10 
1.4.1　成熟度 11 
1.4.2　需求级别 11 
1.5　因特网的管理机构 12 
1.5.1　因特网协会（isoc） 13 
1.5.2　因特网体系结构研究委员会（iab） 13 
1.5.3　因特网工程部（ietf） 13 
1.5.4　因特网研究部（irtf） 13 
1.5.5　因特网赋号管理局和因特网名字与号码指派公司 14 
1.5.6　网络信息中心（nic） 14 
1.6　深入阅读 14 
1.6.1　书籍和论文 14 
1.6.2　网站 14 
1.7　重要术语 14 
1.8　本章小结 15 
1.9　实践安排 16 
1.9.1　习题 16 
1.9.2　研究活动 16 
第2章　osi模型和tcp/ip协议族 17 
2.1　协议分层 17 
2.1.1　分层结构 18 
2.1.2　服务 18 
2.2　osi模型 19 
2.2.1　分层的体系结构 19 
2.2.2　层与层之间的通信 20 
2.2.3　封装 21 
2.2.4　osi模型中的各层 21 
2.2.5　osi各层小结 24 
2.3　tcp/ip协议族 25 
2.3.1　osi和tcp/ip协议族的比较 25 
2.3.2　tcp/ip协议族的分层 26 
2.4　编址 30 
2.4.1　物理地址 31 
2.4.2　逻辑地址 32 
2.5　深入阅读 35 
2.5.1　参考书 35 
2.5.2　rfc 35 
2.6　重要术语 35 
2.7　本章小结 36 
2.8　实践安排 36 
2.8.1　习题 36 
2.8.2　研究活动 38 
第3章　底层技术 39 
3.1　有线局域网 39 
3.1.1　ieee标准 40 
3.1.2　帧格式 40 
3.1.3　编址 42 
3.1.4　以太网的发展历程 43 
3.1.5　标准以太网 43 
3.1.6　快速以太网 47 
3.1.7　吉比特以太网 48 
3.1.8　10g以太网 49 
3.2　无线局域网 50 
3.2.1　ieee 802.11 50 
3.2.2　编址机制 55 
3.2.3　蓝牙 57 
3.3　点到点广域网 59 
3.3.1　56k调制解调器 59 
3.3.2　dsl技术 60 
3.3.3　电缆调制解调器 61 
3.3.4　t线 63 
3.3.5　sonet 64 
3.3.6　ppp 64 
3.4　交换广域网 65 
3.4.1　x.25 65 
3.4.2　帧中继 66 
3.4.3　atm 66 
3.5　连接设备 70 
3.5.1　转发器 70 
3.5.2　网桥 71 
3.5.3　路由器 73 
3.6　深入阅读 74 
3.7　重要术语 74 
3.8　本章小结 75 
3.9　实践安排 76 
3.9.1　习题 76 
3.9.2　研究活动 77 
第二部分　网　络　层 
第4章　网络层简介 81 
4.1　简介 81 
4.2　交换 82 
4.2.1　电路交换 82 
4.2.2　分组交换 83 
4.3　网络层的分组交换 83 
4.3.1　无连接服务 83 
4.3.2　面向连接的服务 85 
4.4　网络层的服务 88 
4.4.1　一个例子 89 
4.4.2　逻辑编址 90 
4.4.3　源计算机提供的服务 90 
4.4.4　各路由器提供的服务 91 
4.4.5　目的计算机提供的服务 92 
4.5　其他与网络层相关的问题 93 
4.5.1　差错控制 93 
4.5.2　流量控制 94 
4.5.3　拥塞控制 94 
4.6　进一步阅读 96 
4.7　重要术语 96 
4.8　本章小结 96 
4.9　实践安排 97 
4.9.1　习题 97 
第5章　ipv4地址 98 
5.1　引言 98 
5.1.1　地址空间 99 
5.1.2　记法 99 
5.1.3　地址段 101 
5.1.4　运算 101 
5.2　分类编址 104 
5.2.1　分类 104 
5.2.2　地址类和地址块 106 
5.2.3　两级编址 107 
5.2.4　一个例子 110 
5.2.5　三级编址：子网划分 112 
5.2.6　构造超网 114 
5.3　无分类编址 115 
5.3.1　可变长度地址块 116 
5.3.2　两级编址 116 
5.3.3　地址块的分配 120 
5.3.4　子网划分 121 
5.4　特殊地址 125 
5.4.1　特殊地址块 125 
5.4.2　每个地址块中的特殊地址 126 
5.5　nat 127 
5.5.1　地址转换 127 
5.5.2　转换表 128 
5.6　深入阅读 129 
5.6.1　参考书 129 
5.6.2　rfc 130 
5.7　重要术语 130 
5.8　本章小结 130 
5.9　实践安排 131 
5.9.1　习题 131 
第6章　ip分组的交付和转发 135 
6.1　交付 135 
6.1.1　直接交付 135 
6.1.2　间接交付 136 
6.2　转发 136 
6.2.1　基于目的地址的转发 136 
6.2.2　基于标记的转发 148 
6.3　路由器的结构 150 
6.3.1　构件 150 
6.4　深入阅读 153 
6.4.1　参考书 153 
6.4.2　rfc 153 
6.5　重要术语 153 
6.6　本章小结 153 
6.7　实践安排 154 
6.7.1　习题 154 
6.7.2　研究活动 155 
第7章　网际协议版本4（ipv4） 156 
7.1　引言 156 
7.2　数据报 157 
7.3　分片 161 
7.3.1　最大传送单元（mtu） 161 
7.3.2　与分片有关的字段 162 
7.4　选项 165 
7.4.1　格式 165 
7.4.2　选项类型 166 
7.5　检验和 171 
7.5.1　在发送端计算检验和 172 
7.5.2　在接收端计算检验和 172 
7.5.3　ip分组中的检验和 173 
7.6　ip在atm上运行 174 
7.6.1　atm广域网 174 
7.6.2　信元的路由选择 175 
7.7　安全性 176 
7.7.1　安全问题 176 
7.7.2　ipsec 176 
7.8　ip软件包 177 
7.8.1　首部添加模块 178 
7.8.2　处理模块 178 
7.8.3　队列 179 
7.8.4　路由表 179 
7.8.5　转发模块 179 
7.8.6　mtu表 179 
7.8.7　分片模块 180 
7.8.8　重装表 181 
7.8.9　重装模块 181 
7.9　深入阅读 182 
7.9.1　参考书 182 
7.9.2　rfc 182 
7.10　重要术语 182 
7.11　本章小结 183 
7.12　实践安排 184 
7.12.1　习题 184 
7.12.2　研究活动 185 
第8章　地址解析协议（arp） 186 
8.1　地址映射 186 
8.1.1　静态映射 187 
8.1.2　动态映射 187 
8.2　arp协议 187 
8.2.1　分组格式 189 
8.2.2　封装 190 
8.2.3　操作 190 
8.2.4　代理arp 192 
8.3　atmarp 193 
8.3.1　分组格式 193 
8.3.2　atmarp的操作 194 
8.3.3　逻辑ip子网（lis） 197 
8.4　arp软件包 197 
8.4.1　高速缓存表 198 
8.4.2　队列 199 
8.4.3　输出模块 199 
8.4.4　输入模块 200 
8.4.5　高速缓存控制模块 201 
8.4.6　更多的例子 203 
8.5　深入阅读 204 
8.5.1　参考书 204 
8.5.2　rfc 205 
8.6　重要术语 205 
8.7　本章小结 205 
8.8　实践安排 206 
8.8.1　习题 206 
第9章　网际控制报文协议（icmp） 207 
9.1　引言 207 
9.2　报文 208 
9.2.1　报文格式 208 
9.2.2　差错报告报文 209 
9.2.3　查询 214 
9.2.4　检验和 216 
9.3　排错工具 217 
9.3.1　ping 217 
9.3.2　traceroute 219 
9.4　icmp软件包 221 
9.4.1　输入模块 222 
9.4.2　输出模块 222 
9.5　深入阅读 223 
9.5.1　参考书 223 
9.5.2　rfc 224 
9.6　重要术语 224 
9.7　本章小结 224 
9.8　实践安排 224 
9.8.1　习题 224 
9.8.2　研究活动 226 
第10章　移动ip 227 
10.1　编址 227 
10.1.1　固定主机 227 
10.1.2　移动主机 228 
10.2　代理 228 
10.2.1　归属代理 229 
10.2.2　外地代理 229 
10.3　三个阶段 229 
10.3.1　代理发现 230 
10.3.2　登记 231 
10.3.3　数据传送 233 
10.4　移动ip的低效率 234 
10.4.1　两次穿越 234 
10.4.2　三角路由选择 235 
10.4.3　解决方法 235 
10.5　深入阅读 235 
10.5.1　参考书 235 
10.5.2　rfc 236 
10.6　重要术语 236 
10.7　本章小结 236 
10.8　实践安排 236 
10.8.1　习题 236 
10.8.2　研究活动 237 
第11章　单播路由选择协议（rip、ospf和bgp） 238 
11.1　引言 238 
11.1.1　代价或度量 239 
11.1.2　静态路由表还是动态路由表 239 
11.1.3　路由选择协议 239 
11.2　域内和域间路由选择 239 
11.3　距离向量路由选择 240 
11.3.1　bellman-ford算法 241 
11.3.2　距离向量路由选择算法 242 
11.3.3　计数到无穷大 246 
11.4　rip 248 
11.4.1　rip的报文格式 249 
11.4.2　请求和响应 250 
11.4.3　rip的计时器 251 
11.4.4　rip版本2 252 
11.4.5　封装 253 
11.5　链路状态路由选择 253 
11.5.1　构造路由表 254 
11.6　ospf 257 
11.6.1　区域 257 
11.6.2　度量 258 
11.6.3　链路的类型 258 
11.6.4　图形表示法 260 
11.6.5　ospf分组 260 
11.6.6　链路状态更新分组 261 
11.6.7　其他分组 268 
11.6.8　封装 270 
11.7　路径向量路由选择 270 
11.7.1　可达性 271 
11.7.2　路由表 272 
11.8　bgp 273 
11.8.1　自治系统的类型 273 
11.8.2　路径属性 274 
11.8.3　bgp会话 274 
11.8.4　外部bgp和内部bgp 274 
11.8.5　分组的类型 275 
11.8.6　分组格式 275 
11.8.7　封装 278 
11.9　深入阅读 278 
11.9.1　参考书 278 
11.9.2　rfc 278 
11.10　重要术语 279 
11.11　本章小结 279 
11.12　实践安排 280 
11.12.1　习题 280 
11.12.2　研究活动 282 
第12章　多播和多播路由选择协议 283 
12.1　引言 283 
12.1.1　单播 284 
12.1.2　多播 284 
12.1.3　广播 286 
12.2　多播地址 286 
12.2.1　ipv4中的多播地址 286 
12.2.2　选择多播地址 289 
12.2.3　数据链路层多播分组的交付 289 
12.3　igmp 291 
12.3.1　组管理 291 
12.3.2　igmp报文 292 
12.3.3　在主机上应用igmp协议 294 
12.3.4　igmp协议应用于路由器 297 
12.3.5　igmp在转发中的作用 299 
12.3.6　变量和计时器 300 
12.3.7　封装 301 
12.3.8　与老版本之间的兼容 301 
12.4　多播路由选择 301 
12.4.1　最佳路由选择：最短路径树 302 
12.5　路由选择协议 304 
12.5.1　多播链路状态路由选择：mospf 304 
12.5.2　多播距离向量路由选择 305 
12.5.3　dvmrp 309 
12.5.4　cbt 309 
12.5.5　pim 311 
12.6　mbone 311 
12.7　深入阅读 312 
12.7.1　参考书 312 
12.7.2　rfc 312 
12.8　重要术语 313 
12.9　本章小结 313 
12.10　实践安排 313 
12.10.1　习题 313 
12.10.2　研究活动 315 
第三部分　运　输　层 
第13章　运输层简介 319 
13.1　运输层服务 319 
13.1.1　进程到进程的通信 319 
13.1.2　编址：端口号 320 
13.1.3　封装和解封 322 
13.1.4　复用和分用 323 
13.1.5　流量控制 323 
13.1.6　差错控制 325 
13.1.7　流量控制和差错控制的组合 326 
13.1.8　拥塞控制 327 
13.1.9　无连接的和面向连接的服务 328 
13.2　运输层协议 331 
13.2.1　简单协议 331 
13.2.2　停止等待协议 333 
13.2.3　返回n协议 336 
13.2.4　选择重传协议 342 
13.2.5　双向协议：捎带 347 
13.3　深入阅读 348 
13.4　重要术语 348 
13.5　本章小结 349 
13.6　实践安排 349 
13.6.1　习题 349 
13.6.2　研究活动 351 
第14章　用户数据报协议（udp） 352 
14.1　引言 352 
14.2　用户数据报 353 
14.3　udp服务 354 
14.3.1　进程到进程的通信 355 
14.3.2　无连接服务 355 
14.3.3　流量控制 355 
14.3.4　差错控制 356 
14.3.5　拥塞控制 357 
14.3.6　封装和解封 357 
14.3.7　排队 358 
14.3.8　复用和分用 359 
14.3.9　udp与简单协议的比较 360 
14.4　udp的应用 360 
14.4.1　udp的特点 360 
14.4.2　典型应用 362 
14.5　udp软件包 362 
14.5.1　控制块表 362 
14.5.2　输入队列 362 
14.5.3　控制块模块 363 
14.5.4　输入模块 363 
14.5.5　输出模块 364 
14.5.6　举例 364 
14.6　深入阅读 366 
14.6.1　参考书 366 
14.6.2　rfc 366 
14.7　重要术语 366 
14.8　本章小结 366 
14.9　实践安排 367 
14.9.1　习题 367 
第15章　传输控制协议（tcp） 368 
15.1　tcp服务 368 
15.1.1　进程到进程的通信 368 
15.1.2　流交付服务 369 
15.1.3　全双工通信 371 
15.1.4　复用和分用 371 
15.1.5　面向连接的服务 371 
15.1.6　可靠的服务 372 
15.2　tcp的特点 372 
15.2.1　编号系统 372 
15.2.2　流量控制 373 
15.2.3　差错控制 373 
15.2.4　拥塞控制 374 
15.3　报文段 374 
15.3.1　格式 374 
15.3.2　封装 376 
15.4　tcp连接 376 
15.4.1　连接建立 376 
15.4.2　数据传送 378 
15.4.3　连接终止 380 
15.4.4　连接复位 382 
15.5　状态转换图 382 
15.5.1　几种情况 384 
15.6　tcp中的窗口 390 
15.6.1　发送窗口 390 
15.6.2　接收窗口 391 
15.7　流量控制 391 
15.7.1　打开和关闭窗口 392 
15.7.2　窗口的收缩 394 
15.7.3　糊涂窗口综合征 395 
15.8　差错控制 396 
15.8.1　检验和 397 
15.8.2　确认 397 
15.8.3　重传 398 
15.8.4　失序的报文段 398 
15.8.5　tcp数据传送的fsm 399 
15.8.6　几种情况 400 
15.9　拥塞控制 404 
15.9.1　拥塞窗口 404 
15.9.2　拥塞策略 404 
15.10　tcp的计时器 408 
15.10.1　重传计时器 408 
15.10.2　持续计时器 411 
15.10.3　保活计时器 411 
15.10.4　time-wait计时器 411 
15.11　选项 411 
15.12　tcp软件包 418 
15.12.1　传输控制块（tcb） 418 
15.12.2　计时器 419 
15.12.3　主模块 419 
15.12.4　输入处理模块 423 
15.12.5　输出处理模块 424 
15.13　深入阅读 424 
15.13.1　参考书 424 
15.13.2　rfc 424 
15.14　重要术语 424 
15.15　本章小结 425 
15.16　实践安排 426 
15.16.1　习题 426 
15.16.2　研究活动 429 
第16章　流控制传输协议（sctp） 430 
16.1 引言 430 
16.2　sctp的服务 431 
16.2.1　进程到进程的通信 431 
16.2.2　多重流 432 
16.2.3　多重归属 432 
16.2.4　全双工通信 433 
16.2.5　面向连接的服务 433 
16.2.6　可靠的服务 433 
16.3　sctp的特点 433 
16.3.1　传输序号（tsn） 434 
16.3.2　流标识符（si） 434 
16.3.3　流序号（ssn） 434 
16.3.4　分组 434 
16.3.5　确认号 436 
16.3.6　流量控制 436 
16.3.7　差错控制 437 
16.3.8　拥塞控制 437 
16.4　分组格式 437 
16.4.1　通用首部 437 
16.4.2　块（chunk） 438 
16.5　sctp关联 444 
16.5.1　关联建立 445 
16.5.2　数据传送 447 
16.5.3　关联终止 449 
16.5.4　关联异常终止 449 
16.6　状态转换图 450 
16.6.1　几种情况 451 
16.6.2　其他情况 453 
16.7　流量控制 454 
16.7.1　接收方 454 
16.7.2　发送方 454 
16.7.3　一种情况 455 
16.8　差错控制 456 
16.8.1　接收方 456 
16.8.2　发送方 457 
16.8.3　发送数据块 458 
16.8.4　生成sack块 458 
16.9　拥塞控制 459 
16.9.1　拥塞控制和多归属 459 
16.9.2　显式拥塞通知 459 
16.10　深入阅读 459 
16.10.1　参考书 460 
16.10.2　rfc 460 
16.11　重要术语 460 
16.12　本章小结 460 
16.13　实践安排 461 
16.13.1　习题 461 
16.13.2　研究活动 463 
第四部分　应　用　层 
第17章　应用层简介 467 
17.1　客户-服务器范式 467 
17.1.1　服务器 468 
17.1.2　客户 468 
17.1.3　并发 468 
17.1.4　套接字接口 470 
17.1.5　使用udp的通信 477 
17.1.6　使用tcp的通信 480 
17.1.7　预先定义的客户–服务器应用 486 
17.2　p2p范式 486 
17.3　深入阅读 487 
17.4　重要术语 487 
17.5　本章小结 487 
17.6　实践安排 488 
17.6.1　习题 488 
第18章　主机配置：dhcp 489 
18.1　引言 489 
18.1.1　曾经使用过的协议 490 
18.2　dhcp操作 490 
18.2.1　同一个网络 491 
18.2.2　不同的网络 491 
18.2.3　udp端口 492 
18.2.4　使用tftp 493 
18.2.5　差错控制 493 
18.2.6　分组格式 493 
18.3　配置 495 
18.3.1　静态地址分配 495 
18.3.2　动态地址分配 496 
18.3.3　转换状态 496 
18.3.4　其他 497 
18.3.5　交换报文 498 
18.4　深入阅读 498 
18.4.1　参考书和rfc 499 
18.5　重要术语 499 
18.6　本章小结 499 
18.7　实践安排 499 
18.7.1　习题 499 
18.7.2　研究活动 500 
第19章　域名系统（dns） 501 
19.1　dns的必要性 501 
19.2　名字空间 502 
19.2.1　平面名字空间 503 
19.2.2　层次名字空间 503 
19.2.3　域名空间 503 
19.2.4　域 505 
19.2.5　域名空间的分布 505 
19.3　因特网中的dns 507 
19.3.1　类属域 507 
19.3.2　国家域 508 
19.3.3　反向域 508 
19.4　解析 509 
19.4.1　解析程序 509 
19.4.2　名字到地址的映射 510 
19.4.3　地址到名字的映射 510 
19.4.4　递归解析 510 
19.4.5　迭代解析 511 
19.4.6　高速缓存 511 
19.5　dns报文 512 
19.5.1　首部 512 
19.6　记录的类型 514 
19.6.1　问题记录 514 
19.6.2　资源记录 515 
19.7　压缩 516 
19.8　封装 519 
19.9　注册机构 519 
19.10　ddns 520 
19.11　dns的安全性 520 
19.12　深入阅读 521 
19.12.1　参考书 521 
19.12.2　rfc 521 
19.13　重要术语 521 
19.14　本章小结 521 
19.15　实践安排 522 
19.15.1　习题 522 
19.15.2　研究活动 523 
第20章　远程登录：telnet与ssh 525 
20.1　telnet 525 
20.1.1　概念 525 
20.1.2　分时的环境 526 
20.1.3　网络虚拟终端（nvt） 527 
20.1.4　嵌入 528 
20.1.5　选项 529 
20.1.6　对称性 532 
20.1.7　子选项协商 532 
20.1.8　对服务器进行控制 532 
20.1.9　带外信令 533 
20.1.10　转义字符 534 
20.1.11　操作方式 535 
20.1.12　用户接口 536 
20.1.13　安全问题 537 
20.2　ssh 537 
20.2.1　版本 537 
20.2.2　组成 537 
20.2.3　端口转发 538 
20.2.4　ssh分组格式 539 
20.3　深入阅读 539 
20.3.1　参考书 539 
20.3.2　rfc 539 
20.4　重要术语 540 
20.5　本章小结 540 
20.6　实践安排 541 
20.6.1　习题 541 
20.6.2　研究活动 541 
第21章　文件传送：ftp和tftp 543 
21.1　文件传送协议（ftp） 543 
21.1.1　连接 544 
21.1.2　通信 545 
21.1.3　命令处理 547 
21.1.4　文件传送 550 
21.1.5　匿名ftp 553 
21.2　简单文件传送协议（tftp） 554 
21.2.1　报文 555 
21.2.2　连接 557 
21.2.3　数据传送 557 
21.2.4　udp端口 559 
21.2.5　tftp举例 560 
21.2.6　tftp选项 561 
21.2.7　安全性 561 
21.2.8　应用 561 
21.3　深入阅读 561 
21.3.1　参考书 562 
21.3.2　rfc 562 
21.4　重要术语 562 
21.5　本章小结 562 
21.6　实践安排 563 
21.6.1　习题 563 
21.6.2　研究活动 564 
第22章　万维网和http 565 
22.1　体系结构 565 
22.1.1　超文本和超媒体 566 
22.1.2　web客户（浏览器） 567 
22.1.3　web服务器 567 
22.1.4　统一资源定位符（url） 567 
22.2　web文档 568 
22.2.1　静态文档 568 
22.2.2　动态文档 568 
22.2.3　活动文档 570 
22.3　http 571 
22.3.1　http事务 571 
22.3.2　有条件请求 577 
22.3.3　持续连接 577 
22.3.4　cookie 579 
22.3.5　web缓存：代理服务器 581 
22.3.6　http的安全 581 
22.4　深入阅读 582 
22.4.1　参考书 582 
22.4.2　rfc 582 
22.5　重要术语 582 
22.6　本章小结 583 
22.7　实践安排 583 
22.7.1　习题 583 
22.7.2　研究活动 584 
第23章　电子邮件：smtp、pop、imap和mime 585 
23.1　体系结构 585 
23.1.1　第一种情况 586 
23.1.2　第二种情况 586 
23.1.3　第三种情况 587 
23.1.4　第四种情况 587 
23.2　用户代理 588 
23.2.1　用户代理提供的服务 589 
23.2.2　用户代理类型 589 
23.2.3　发送邮件 589 
23.2.4　接收邮件 590 
23.2.5　地址 590 
23.2.6　发件清单或分组清单 590 
23.3　报文传送代理：smtp 590 
23.3.1　命令和响应 591 
23.3.2　邮件传送阶段 594 
23.4　报文读取代理：pop和imap 596 
23.4.1　pop3 597 
23.4.2　imap4 597 
23.5　mime 598 
23.5.1　mime首部 598 
23.6　基于万维网的邮件 602 
23.6.1　案例一 602 
23.6.2　案例二 603 
23.7　电子邮件的安全性 603 
23.8　深入阅读 604 
23.8.1　参考书 604 
23.8.2　rfc 604 
23.9　重要术语 604 
23.10　本章小结 604 
23.11　实践安排 605 
23.11.1　习题 605 
23.11.2　研究活动 606 
第24章　网络管理（snmp） 607 
24.1　概念 607 
24.1.1　管理器和代理 608 
24.2　管理构件 608 
24.2.1　snmp的作用 609 
24.2.2　smi的作用 609 
24.2.3　mib的作用 609 
24.2.4　类比 609 
24.2.5　概览 610 
24.3　smi 611 
24.3.1　名字 611 
24.3.2　类型 612 
24.3.3　编码方法 613 
24.4　mib 615 
24.4.1　访问mib变量 615 
24.4.2　字典式排序 618 
24.5　snmp 618 
24.5.1　pdu 618 
24.5.2　格式 620 
24.5.3　报文 621 
24.6　udp端口 623 
24.7　安全 624 
24.8　深入阅读 624 
24.8.1　参考书 624 
24.8.2　rfc 624 
24.9　重要术语 625 
24.10　本章小结 625 
24.11　实践安排 625 
24.11.1　习题 625 
24.11.2　研究活动 626 
第25章　多媒体 627 
25.1　引言 627 
25.2　数字化音频和视频 628 
25.2.1　数字化音频 628 
25.2.2　数字化视频 628 
25.3　音频和视频压缩 629 
25.3.1　音频压缩 629 
25.3.2　视频压缩 630 
25.4　流式存储音频/视频 633 
25.4.1　第一种方法：使用万维网服务器 633 
25.4.2　第二种方法：使用具有元文件的万维网服务器 633 
25.4.3　第三种方法：使用媒体服务器 634 
25.4.4　第四种方法：使用媒体服务器和rtsp 634 
25.5　流式直播音频/视频 635 
25.6　实时交互式音频/视频 636 
25.6.1　特性 636 
25.7　rtp 639 
25.7.1　rtp分组格式 640 
25.7.2　udp端口 641 
25.8　rtcp 641 
25.8.1　发送方报告 641 
25.8.2　接收方报告 642 
25.8.3　源点描述报文 642 
25.8.4　再见报文 642 
25.8.5　特定应用报文 642 
25.8.6　udp端口 642 
25.9　ip话音 642 
25.9.1　sip 642 
25.9.2　h.323 644 
25.10　服务质量 646 
25.10.1　流的特性 646 
25.10.2　流的分类 647 
25.10.3　提高qos的技术 647 
25.10.4　资源预留 650 
25.10.5　许可控制 650 
25.11　综合服务 650 
25.11.1　信令 651 
25.11.2　流规范 651 
25.11.3　许可 651 
25.11.4　服务类别 651 
25.11.5　rsvp 652 
25.11.6　综合服务存在的问题 653 
25.12　区分服务 654 
25.13　深入阅读 655 
25.13.1　参考书 655 
25.13.2　rfc 656 
25.14　重要术语 656 
25.15　本章小结 656 
25.16　实践安排 657 
25.16.1　习题 657 
第五部分　下　一　代 
第26章　ipv6编址 661 
26.1　引言 661 
26.1.1　记法 661 
26.1.2　地址空间 664 
26.1.3　三种地址类型 664 
26.1.4　广播和多播 665 
26.2　地址空间分配 665 
26.2.1　指派的和保留的地址块 667 
26.3　全球单播地址 670 
26.3.1　三级结构 670 
26.4　自动配置 672 
26.5　重新编号 673 
26.6　深入阅读 673 
26.6.1　参考书 673 
26.6.2　rfc 673 
26.7　重要术语 673 
26.8　本章小结 674 
26.9　实践安排 674 
26.9.1　习题 674 
第27章　ipv6协议 676 
27.1　引言 676 
27.1.1　改变的缘由 676 
27.1.2　采用进度延缓的原因 677 
27.2　分组格式 677 
27.2.1　基本首部 677 
27.2.2　流标号 678 
27.2.3　ipv4首部和ipv6首部的比较 679 
27.2.4　扩展首部 680 
27.2.5　ipv4和ipv6的比较 684 
27.3　从ipv4过渡到ipv6 684 
27.3.1　双协议栈 684 
27.3.2　隧道技术 685 
27.3.3　首部转换 685 
27.4　深入阅读 686 
27.4.1　参考书 686 
27.4.2　rfc 686 
27.5　重要术语 686 
27.6　本章小结 686 
27.7　实践安排 687 
27.7.1　习题 687 
27.7.2　研究活动 687 
第28章　icmpv6 688 
28.1　引言 688 
28.2　差错报文 689 
28.2.1　终点不可达报文 689 
28.2.2　分组太大报文 690 
28.2.3　超时报文 690 
28.2.4　参数问题报文 691 
28.3　信息报文 691 
28.3.1　回送请求报文 691 
28.3.2　回送回答报文 692 
28.4　邻站发现报文 692 
28.4.1　路由器询问报文 692 
28.4.2　路由器通告报文 692 
28.4.3　邻站询问报文 693 
28.4.4　邻站通告报文 694 
28.4.5　改变路由报文 694 
28.4.6　反向邻站询问报文 695 
28.4.7　反向邻站通告报文 695 
28.5　组成员关系报文 695 
28.5.1　成员关系查询报文 696 
28.5.2　成员关系报告报文 696 
28.5.3　功能性 696 
28.6　深入阅读 698 
28.6.1　参考书 698 
28.6.2　rfc 698 
28.7　重要术语 698 
28.8　本章小结 698 
28.9　实践安排 699 
28.9.1　习题 699 
28.9.2　研究活动 699 
第六部分　安　全　性 
第29章　加密术和网络安全 703 
29.1　引言 703 
29.1.1　安全的目标 704 
29.1.2　攻击 704 
29.1.3　服务 706 
29.1.4　技术 706 
29.2　传统加密方法 706 
29.2.1　密钥 707 
29.2.2　替代加密方法 708 
29.2.3　置换加密方法 710 
29.2.4　流和块加密方法 711 
29.3　现代加密方法 711 
29.3.1　现代块加密方法 711 
29.3.2　数据加密标准（des） 713 
29.3.3　现代流加密方法 714 
29.4　不对称密钥加密方法 715 
29.4.1　密钥 716 
29.4.2　总体思想 716 
29.4.3　rsa加密系统 718 
29.4.4　应用 720 
29.5　报文完整性 720 
29.5.1　报文和报文摘要 720 
29.5.2　散列函数 721 
29.6　报文鉴别 721 
29.6.1　hmac 722 
29.7　数字签名 722 
29.7.1　比较 723 
29.7.2　过程 723 
29.7.3　对摘要的签名 724 
29.7.4　服务 725 
29.7.5　rsa数字签名机制 726 
29.7.6　数字签名标准 727 
29.8　实体鉴别 727 
29.8.1　实体鉴别和报文鉴别的比较 727 
29.8.2　验证类别 727 
29.8.3　口令 728 
29.8.4　查问–响应 728 
29.9　密钥管理 729 
29.9.1　对称密钥的分发 730 
29.9.2　对称密钥协商 732 
29.9.3　公钥分配 733 
29.10　深入阅读 734 
29.11　重要术语 734 
29.12　本章小结 735 
29.13　实践安排 736 
29.13.1　习题 736 
29.13.2　研究活动 737 
第30章　因特网安全 739 
30.1　网络层安全 739 
30.1.1　两种方式 740 
30.1.2　两个安全协议 741 
30.1.3　ipsec提供的服务 743 
30.1.4　安全关联 744 
30.1.5　因特网密钥交换（ike） 747 
30.1.6　虚拟专用网（vpn） 747 
30.2　运输层安全 748 
30.2.1　ssl的体系结构 748 
30.2.2　四个协议 750 
30.3　应用层的安全 752 
30.3.1　电子邮件的安全 753 
30.3.2　相当好的保密（pgp） 753 
30.3.3　密钥环 755 
30.3.4　pgp的证书 756 
30.3.5　s/mime 758 
30.3.6　s/mime的应用 761 
30.4　防火墙 761 
30.4.1　分组过滤防火墙 762 
30.4.2　代理防火墙 762 
30.5　深入阅读 763 
30.6　重要术语 763 
30.7　本章小结 764 
30.8　实践安排 764 
30.8.1　习题 764 
30.8.2　研究活动 765 
第七部分　附　　录 
附录a　unicode 769 
a.1　平面 769 
a.1.1　基本多语言平面（bmp） 770 
a.1.2　其他平面 770 
a.2　ascii 770 
附录b　进位制计数系统 773 
b.1　不同的系统 773 
b.1.1　基10：十进制 773 
b.1.2　基2：二进制 773 
b.1.3　基16：十六进制 774 
b.1.4　基256：点分十进制记法 774 
b.1.5　比较 775 
b.2　转换 775 
b.2.1　从任意数制到十进制的转换 775 
b.2.2　从十进制到任意数制的转换 776 
b.2.3　其他转换 777 
附录c　差错检测码 779 
c.1　引言 779 
c.1.1　差错的类型 779 
c.1.2　冗余 779 
c.1.3　检错与纠错的比较 779 
c.1.4　编码 780 
c.2　块编码 780 
c.2.1　差错检测 781 
c.2.2　汉明距离 781 
c.2.3　最小汉明距离 781 
c.3　线性块码 782 
c.3.1　线性块码的最小距离 782 
c.4　循环码 783 
c.4.1　循环冗余检验 783 
c.4.2　循环码的优点 785 
c.4.3　其他循环码 785 
附录d　检验和 786 
d.1　传统的检验和 786 
d.1.1　思想 786 
d.1.2　因特网的检验和 787 
d.2　fletcher检验和 788 
d.3　adler检验和 789 
附录e　html、xhtml、xml和xsl 791 
e.1　html 791 
e.1.1　标签 791 
e.1.2　xhtml 794 
e.2　xml和xsl 794 
附录f　java中的客户-服务器编程 796 
f.1　udp程序 796 
f.2　tcp程序 798 
附录g　其他信息 801 
g.1　端口号 801 
g.2　rfc 802 
g.3　联系地址 803 
词汇表 804 
参考文献 827 
译者序
我很高兴向各位读者推荐福罗赞教授的新书《TCP/IP协议族（第4版）》。 
福罗赞教授（Behrouz A. Forouzan）出生于1944年，目前任职于DeAnza学院的计算机信息系统（CIS）系，他参与了该系计算机信息系统学科的课程设计工作，同时还兼任许多公司的系统开发顾问。福罗赞教授也是一个非常高产的作家，出版了十余部涵盖计算机科学、组网、编程和数据库、安全等领域的热门书籍，其中多部著作反复再版。本书《TCP/IP协议族》就是他的经典著作之一。 
本书的最大特色是将内容庞杂，关联繁多的TCP/IP协议体系以有条不紊的组织方式，阐述得非常明晰，充分体现了作者深厚的功力。作为一个教师，我经常体会到，很多时候对于一个思想，理解它并不难，难的是如何能够以通俗浅显的方式准确无误地传达给学生，而福罗赞教授却非常成功地在本书中做到了。他能够化繁入简，虽是一些复杂的概念，往往以实际生活的例子为引线，逐步深入，于细微处见真功。大量的图表是本书的另一特色，对于一些抽象的概念，他往往能够应用一些图表将其具像化，使得整个内容理解起来非常轻松而同时不流于肤浅。 
福罗赞教授非常勤奋，本版与第3版相比，不少章节几乎全部重写，且新增了很多内容，比如，增加了MPLS的介绍，将IPv6扩展为三章（第26、27和28章），将安全内容扩展为两章（第29和30章）等。在结构方案，他按照TCP/IP协议层次关系对章节进行了重组，从中可以看出他对如何更合理地安排这些章节内容所进行的不断探索。同时还在各章中适时补充了很多新的技术和内容，删除了一些过时的协议，还增加了一些新的习题和研究项目等。 
该书如果能够与史蒂文斯（Stevens）的TCP/IP Illustrated一书搭配阅读，可起到概念相互印证，宏观与细节俱备，原理与实现兼收的多重功效。 
本书可作为大学生和研究生的教材，也同样适合于自学，对于从事通信网络的教学和科研人员以及工程技术人员也有很好的参考价值。 
由于译者水平有限，本书中翻译错误和不当之处在所难免，敬请读者提出宝贵意见。 
序言
在今天的文明生活中，与网络和连网有关技术的发展变化可能是最快的。很多专家学者以及学生在审阅或学习使用了本书的第3版之后都提出建议，希望在本书新一版发行时能够包括这些变化。在第4版中，我对本书内容进行了重新整理，不仅融入了许多技术上的发展变化，而且还增加了几个新的章节和附录。 
本书第4版假定读者并没有关于TCP/IP协议族的预备知识，不过读者最好还是预先学习一下数据通信的课程。 
内容结构 
本书分为七个部分。 
·第一部分（引言和底层技术），包括第1～3章，回顾了一些基本概念和基础技术。虽然这部分内容不包含在TCP/IP协议中，但TCP/IP协议需要它们的支持。 
·第二部分（网络层），包括第4～12章，讨论了IPv4编址技术、IPv4协议、所有IPv4协议的辅助协议以及单播和多播路由选择协议。 
·第三部分（运输层），包括第13～16章，介绍了运输层的总体概念（第13章），然后全面讨论了三个运输层协议：UDP、TCP和SCTP（第14、15、16章） 
·第四部分（应用层），包括第17～25章，介绍了应用层的总体概念，包括客户/服务器模式的编程（第17章），然后全面讨论了七个应用层协议（第18～24章）。第25章专门介绍因特网上的多媒体技术。 
·第五部分（新一代），包括第26～28章，介绍了新一代的IP协议、IPv6编址技术（第26章）、IPv6协议（第27章）和ICMPv6（第28章）。 
·第六部分（安全性），包括第29～30章，讨论了一些不可回避的话题，如加密技术和网络安全（第29章）以及因特网安全（第30章）。 
·第七部分（附录）一共含有七个附录，在你阅读本书的过程中也许会用得着它们。 
特点 
为了使学生更容易地学习TCP/IP，本书的编写具有如下一些特点。 
用直观的方法 
本书用图文并茂的方法讲述了技术性很强的内容，但并没有使用复杂的公式。大约超过650张插图与正文一起为理解这些内容提供了直观的方法。在解释网络的概念时，插图是特别重要的，因为网络的概念是基于连接和传输的。使用插图要比使用文字更容易地理解这些概念。 
突出重点 
对一些重要概念反复提示，使读者可迅速找到这些重点并引起注意。 
例子和应用 
只要合适，我们就会用例子来阐明书中给出的概念。此外，我们在每一章都放进许多实际生活中的应用，以提高读者的兴趣。 
协议软件包 
.虽然我们并不试图给出实现每个协议的详细代码，但在许多章还是包括了一个小节，用来讨论每个协议实现背后的大致想法。这些内容可帮助理解每一种协议的思路和相关问题，不过它们也可作为选读内容。 
重要术语 
在每一章的最后列出了在这一章中出现的新术语，而这些术语的定义包含在词汇表中。 
小结 
每一章的结尾部分是对本章内容的小结。小结以重点符号打头，列举了这章中的所有重点内容。 
实践项目 
每一章都包括一项实践内容，用来巩固重要概念，同时鼓励学生应用它们。实践项目由两部分组成：习题和研究活动。完成习题需要对所学内容真正理解，而研究活动则是为打算更加深入钻研这些内容而安排的。 
附录 
附录的作用是提供快捷的参考内容，或为理解本书中的概念而需要复习的一些内容。前几版中的附录在这里经过重新修订、整理，同时还增加了一些新的附录。 
词汇表和缩写表 
本书包含了一个庞大的词汇表和缩写词列表。  
第4版改动以及新增的内容 
在第4版中有很多改动的地方和新增的内容，包括： 
·在每章开头部分增加了学习目标。 
·在每章结尾增加了简要参考列表和相应RFC的列表。 
·有几章增加了新的习题和研究活动。 
·有些插图作了修订，以更真实地反映当前实际使用的技术。 
·第3章（底层技术）全面改写以囊括新的技术。 
·第4章（网络层简介）是全新内容。 
·第13章（运输层简介）是全新内容。 
·第17章（应用层简介）是全新内容。 
·现在的第5章既讨论了分类编址，也讨论了无分类编址（是第3版中第4章和第5章的合并）。 
·第6章修订后包括了MPLS。 
·新一代网际协议（IPv6）的内容扩展到3个章节（第26、27、28章）。 
·有关安全性的内容扩展到两个章节（第29、30章）。 
·一些过时的协议，如RARP和BOOTP被删掉以腾出空间给新的内容。 
·根据TCP/IP协议族中的层次关系对章节进行了重组。 
·附录A（ASCII码）被Unicode取代。 
·附录C（差错检测）经过全面修订和扩充。 
·附录D（检验和）经过全面修订。 
·附录E（HTML、XHTML、XML和XSL）是全新的。 
·附录F（客户/服务器模式的Java编程）是全新的。 
·附录G（杂项信息）此次综合了前几版中的附录F、附录G和附录H。 
怎样使用本书 
本书是为学校学生和专业人员写的。它可作为感兴趣的专业人员的自学指导书。作为教科书，它可当作一学期的教材使用（对一年两个学期或四个学期的学制都可以）。各章的组织有很大的灵活性。下面是我给出的一些建议： 
·如果学生已经学过数据通信和联网的课程，则可跳过第1～3章。 
·第4～25章对了解TCP/IP是至关重要的。 
·第26～28章的决定权在于教授是否认为应该让学生熟悉新一代的IP。 
·第29章和第30章为学生学习安全性课程提供预备知识，如果时间有限可以跳过。 
致谢 
很显然，写这样篇幅的书没有很多人的帮助是不可能的。在前3版的序言中，我对许多人的贡献表示了感谢。在此第4版中，我想对以下同行审阅人对编写本书的贡献表示感谢，他们包括： 
Dale Buchholz, DePaul University 
Victor Clincy, Kennesaw State University 
Richard Coppins, Virginia Commonwealth University 
Zongming Fei, University of Kentucky 
Guy Hembroff, Michigan Tech University 
Frank Lin, San Jose State University 
Tim Lin, California Polytechnic University–Pomona 
Abdallah Shami, University of Western Ontario 
Elsa Valeroso, Eastern Michigan University 
Mark Weiser, Oklahoma State University 
Ben Zhao, University of California at Santa Barbara 
我还要感谢Paul D. Amer教授，因为他对初稿提出了许多反馈意见和建议，对本书做出了宝贵的贡献。 
特别要感谢麦格劳-希尔(McGraw-Hill)公司的工作人员。发行人Raghu Srinivasan证明了熟练的发行人可以把不可能的事情变为可能的。每当我需要帮助时，开发编辑Melinda Bilecki就会给予帮助。项目经理Joyce Watters在出版的过程中一直以极大的热情领导着我们。我还要感谢Macmillan Publishing Solutions 公司的Les Chappell在制作上，Laurie Janssen在设计上以及George F. Watson在原稿编辑上所做的贡献。 
Behrouz A. Forouzan 
January, 2009 
商标 
本书中经常会出现一些商标名称。书中并没有在每次提到这些商标名称时都插入一个商标符号，而是由我在这里确认使用这些商标，并在此声明绝无对它们进行侵权的意图。其他的产品名称、商标、注册商标等也都是其拥有者的财产。 
·Network File System和NFS是Sun Microsystems公司的注册商标。 
·UNIX是UNIX系统实验室公司（是诺威公司完全拥有的子公司）的注册商标。 
·Xerox是商标，而Ethernet是Xerox公司的注册商标。