TCP/IP详解 卷2:实现
基本信息

内容简介
作译者
W. 理查德 史蒂文斯(W. Richard Stevens)(1951—1999)是国际知名的Unix和网络专家,备受赞誉的技术作家。生前著有《TCP/IP 详解》(三卷本)、《UNIX网络编程》(两卷本)以及《UNIX环境高级编程》,均为不朽的经典著作。
目录
译者序
前言
第1章 概述 1
1.1 引言 1
1.2 源代码表示 1
1.2.1 将拥塞窗口设置为1 1
1.2.2 印刷约定 2
1.3 历史 2
1.4 应用编程接口 3
1.5 程序示例 4
1.6 系统调用和库函数 6
1.7 网络实现概述 6
1.8 描述符 7
1.9 mbuf与输出处理 11
1.9.1 包含插口地址结构的mbuf 11
1.9.2 包含数据的mbuf 12
1.9.3 添加IP和UDP首部 13
1.9.4 IP输出 14
1.9.5 以太网输出 14
前言
本书描述并给出了TCP/IP实现引用的源代码—加利福尼亚大学伯克利分校的计算机系统研究组(CSRG)的实现。历史上,它曾以4.x BSD系统(伯克利软件发行)发布。这个实现第一次发布是在1982年,经过了很多重大的改变和改进,并且其中很多特性被引入到其他Unix和非Unix系统中。这不是一个没有多大意义的实现,而是天天在世界上成千上万个系统上运行的TCP/IP实现的基础。这个实现还提供路由功能,显示主机和路由器的TCP/IP实现间的区别。
我们描述这个实现并给出TCP/IP内核实现的完整源代码,大约15 000行C代码。在本文中描述的是4.4BSD-Lite版本。这个代码在1994年4月公开,包含很多增强的联网部分,它们被添加到1988年的4.3BSD Tahoe版、1990年的4.3BSD Reno版和1993年的4.4BSD版(附录B介绍了如何获得这些源代码)。4.4BSD版提供最新的TCP/IP特征,如多播和长肥管道支持(用于高宽带、长时延路径)。图1-1提供了伯克利联网代码的各种版本的其他细节。
本书适用于希望理解TCP/IP的实现细节的广大读者:编写网络应用的程序员,负责利用TCP/IP维护计算机系统和网络的系统管理员,以及任何想理解大块的重要代码是如何满足一个真实操作系统的程序员。
本书的组织结构
下图显示的是所涉及的各种协议和子系统。每个方框旁的斜体数字指出方框中的论题在哪一章讨论。
我们采用自底向上的方法来讨论TCP/IP协议族,从数据链路层开始,然后是网络层(IP、ICMP、IGMP、IP路由选择和多播路由选择),接下来是插口层,最后以运输层(UDP、TCP和原始IP)结束。
预期的读者
本书假设读者对TCP/IP的工作原理有基本的理解。不熟悉TCP/IP的读者应该参考本套书中的第1卷[Stevens 1994],那本书对TCP/IP协议组进行了全面的描述。在本书中对第1卷的引用均为卷1。本书还假设读者对操作系统原理有基本的理解。
我们用数据结构方法来描述这个协议的实现。即,除了给出源代码外,每章还包括源代码使用和维护的数据结构的图与说明。我们显示了这些数据结构是如何适用于TCP/IP和内核使用的其他数据结构的。通篇使用大量的图表—超过250个图表。
这种数据结构方法允许读者采用各种方式使用本书。对所有实现细节感兴趣的读者可以从头到尾阅读全书,看完所有的源代码。可能只想理解协议的实现细节的其他读者,可通过理解所有数据结构并阅读所有文字达到目的,而不必看完所有的源代码。
我们预料很多读者会对书中的特定部分感兴趣并且想直接进入那一章。因此,通篇提供了很多向前或向后的引用,沿着完整的索引,允许单独学习某一章。在各章的结尾都提供了习题,并在附录A中给出大多数习题的答案作为自学的参考,使本书能发挥最大的作用。
源代码版权
本书中出现的所有代码,除了图1-2和图8-27,都是来自4.4BSD-Lite发行版。这个软件是公开的,可从很多地方获得(参见附录B)。
源代码的所有部分都包含下列版权声明。
Gary R.Wright
米德尔顿,康涅狄格
W. Richard Stevens
图森,亚利桑那
1994年11月
媒体评论
——Vint Cerf
互联网发明人之一、图灵奖获得者、谷歌公司副总裁兼首席互联网宣传官
《TCP/IP详解》是已故网络专家、著名技术作家W. Richard Stevens的传世之作,内容详尽且具权威性,被誉为TCP/IP领域的不朽名著。本书是《TCP/IP详解》三卷本的第2卷,重点关注TCP/IP的实现问题。书中介绍了一个实际的TCP/IP实现,并给出了这一实现的完整源代码,大约有15 000行C代码。此外,几乎每章都提供精选的习题,并在附录中提供了部分习题的答案。
这一卷要求读者对TCP/IP的工作原理以及操作系统原理有初步的了解。对TCP/IP不是很熟悉的读者应先阅读《TCP/IP详解》的第1卷,该书对TCP/IP协议族有比较透彻的描述。
《TCP/IP详解》对于网络应用的开发人员、网络管理员以及任何想了解TCP/IP运行原理的人员来说,都是极好的权威参考书。无论是初学者还是功底深厚的网络领域高手,这套书都应是案头必备。