TCP/IP详解. 卷1,协议(英文版)(TCP/IP领域的经典之作,案头必备)(china-pub首发)
基本信息
推荐阅读
内容简介回到顶部↑
作译者回到顶部↑
本书提供作译者介绍
W. Richard Stevens 国际知名的UNIX和网络专家,备受赞誉的技术作家。他1951年2月5日出生于赞比亚,后随父母回到美国。中学时就读于弗吉尼亚菲什伯恩军事学校,1973年获得密歇根大学航空和航天工程学士学位。1975年至1982年,他在亚利桑那州图森市的基特峰国家天文台从事计算机编程工作,业余时间喜爱飞行运动,做过兼职飞行教练。这期间他分别在1978年和1982年获得亚利桑那大学系统工程硕士和博士学位。此后他去康涅狄格州纽黑文的健康系统国际公司任主管计算机服务的副总裁。1990年他回到图森,从.. << 查看详细
目录回到顶部↑
preface xv
chapter 1. introduction 1
1.1 introduction 1
1.2 layering 1
1.3 tcp/ip layering 6
1.4 internet addresses 7
1.5 the domain name system 9
1.6 encapsulation 9
1.7 demultiplexing 11
1.8 client-server model 12
1.9 port numbers 12
1.1 0standardization process 14
1.11 rfcs 14
1.12 standard, simple services 15
1.13 the i nternet 16
1.14 implementations v16
1.15 application programming interfaces 17
1.16 test network 18
1.17 summary 19
chapter 2. link layer 21
chapter 1. introduction 1
1.1 introduction 1
1.2 layering 1
1.3 tcp/ip layering 6
1.4 internet addresses 7
1.5 the domain name system 9
1.6 encapsulation 9
1.7 demultiplexing 11
1.8 client-server model 12
1.9 port numbers 12
1.1 0standardization process 14
1.11 rfcs 14
1.12 standard, simple services 15
1.13 the i nternet 16
1.14 implementations v16
1.15 application programming interfaces 17
1.16 test network 18
1.17 summary 19
chapter 2. link layer 21
前言回到顶部↑
概述
本书介绍的是TCP/IP协议族,但是视角却不同于其他TCP/IP教科书。我们将用一种流行的诊断工具来动态地监视协议,而不仅仅是描述协议及其功能。通过观察不同环境下协议的运作情况,可以更好地理解其工作原理和设计方案的由来。此外,本书还分析了协议的实现,读者无须花费精力去阅读数千行的源代码。
在网络协议从20世纪60年代到20世纪80年代的发展过程中,必须要使用昂贵的专用硬件才能监视到分组在线路上的传送情况。要理解由硬件显示的分组,还必须对协议极为熟悉。硬件分析器的功能也受限于硬件设计者所提供的内置功能。
现在的情况有了显著的变化:随处可见的工作站就能监视局域网了[Mogul 1990]。只要在网络上连接一个工作站,然后运行一些公用软件(详见附录A),就能够观察线路上发生的情况。很多人可能会认为这只是一个诊断网络问题的工具,实际上它也非常有助于理解网络协议的工作原理,这正是本书的目标。
本书面向所有希望了解TCP/IP协议运行原理的读者:编写网络应用的程序员、利用TCP/IP维护计算机系统与网络的系统管理员以及那些需要每天与TCP/IP应用打交道的用户。
本书的结构
下图给出了本书涉及的各种协议和应用,方框上的斜体数字指明了该协议或应用在哪一章讨论。
(图中略去的许多细节将在相应的章节中讨论。例如,DNS和RPC都用到了TCP,但从图中看不出来。)
我们采用一种自底向上的方式来介绍TCP/IP协议族。第1章介绍TCP/IP的基础知识;随后从链路层(第2章)开始向上介绍协议栈。这样做可以为不熟悉TCP/IP或者网络的读者提供阅读后续章节所需的背景知识。
本书在讲述过程中还采用了一种功能性的方法,而没有死板地遵循自底向上的顺序。例如,第3章描述了IP层和IP首部,但IP首部中的大量字段放在具体的应用(这类应用会用到特定的字段或者受特定字段的影响)场景中介绍才是最合适的。例如,分片技术(fragmentation)从UDP(第11章)角度最好理解,因为该协议经常会受其影响。生存时间(time-to-live)字段在第8章研究Traceroute程序时详细描述,因为该字段是该程序运行的基础。类似地,ICMP的很多特性也在后面的章节中讲述,主要考虑协议或应用使用特定ICMP报文的方式。当然,我们也并不是想把所有的好东西都藏到最后。因此,只要具备了足以理解某种TCP/IP应用的知识基础,我们就会尽快对其进行介绍。在讨论完IP和ICMP之后,我们对Ping和Traceroute进行了讲解。在分析完UDP之后,我们描述了基于UDP的应用(多播、DNS、TFTP和BOOTP)。不过TCP应用和网络管理必须在彻底讲清楚TCP之后才能加以介绍,因此只能留到最后了。本书侧重于介绍这些应用如何使用TCP/IP协议,而不会提供运行这些应用的所有细节。
致读者
本书自成一体,阅读之前不需要掌握具体的网络或TCP/IP知识。本书还提供了大量的参考文献,对具体领域感兴趣的读者可以进一步阅读这些资料。
本书有多种使用方式:对TCP/IP协议族的所有细节感兴趣的读者可以把本书用作自学参考书,从头看到尾,具有一定TCP/IP背景知识的读者可以跳过前面几章,直接从第7章开始阅读,然后选择感兴趣的章节进行重点研究。每章的末尾都安排了一些习题,附录D给出了大部分习题的答案,这样做是为了本书更适合作为自学参考书。
如果将本书的内容作为一或两个学期的计算机网络课程的一部分,重点应该放在IP(第3章和第9章)、UDP(第11章)、TCP(第17章至第24章)以及一些应用章节上。
全书贯穿了许多交叉引用,并提供了完整的索引,因此读者可以独立阅读各章的内容。书中用到的缩略词及相应的复合术语都详细列在索引之后。
如果你可以访问网络,建议你下载本书中使用的软件(附录F),并在自己的计算机上进行实验。动手进行协议方面的实验可以大大丰富知识(并且使学习的过程更有乐趣)。
用于测试的系统
本书中的每一个示例都是在实际网络中运行过的,并将输出结果保存在文件中。图1-11(第18页)展示了书中所用的不同主机、路由器以及网络。(为方便读者阅读本书时随时查阅,本书最前面也放上了该图。)这种网络集合非常简单,其拓扑结构不会造成读者对示例的误解;此外,由于使用了4个系统作为路由器,我们可以看到路由器产生的错误报文。
多数系统的名字指明了所用软件的类型,如bsdi、svr4、sun、solaris、aix、slip等。这样,我们只要查看所显示出的系统名就可以确定软件的类型。
书中用到了多种操作系统和TCP/IP实现。
本书介绍的是TCP/IP协议族,但是视角却不同于其他TCP/IP教科书。我们将用一种流行的诊断工具来动态地监视协议,而不仅仅是描述协议及其功能。通过观察不同环境下协议的运作情况,可以更好地理解其工作原理和设计方案的由来。此外,本书还分析了协议的实现,读者无须花费精力去阅读数千行的源代码。
在网络协议从20世纪60年代到20世纪80年代的发展过程中,必须要使用昂贵的专用硬件才能监视到分组在线路上的传送情况。要理解由硬件显示的分组,还必须对协议极为熟悉。硬件分析器的功能也受限于硬件设计者所提供的内置功能。
现在的情况有了显著的变化:随处可见的工作站就能监视局域网了[Mogul 1990]。只要在网络上连接一个工作站,然后运行一些公用软件(详见附录A),就能够观察线路上发生的情况。很多人可能会认为这只是一个诊断网络问题的工具,实际上它也非常有助于理解网络协议的工作原理,这正是本书的目标。
本书面向所有希望了解TCP/IP协议运行原理的读者:编写网络应用的程序员、利用TCP/IP维护计算机系统与网络的系统管理员以及那些需要每天与TCP/IP应用打交道的用户。
本书的结构
下图给出了本书涉及的各种协议和应用,方框上的斜体数字指明了该协议或应用在哪一章讨论。
(图中略去的许多细节将在相应的章节中讨论。例如,DNS和RPC都用到了TCP,但从图中看不出来。)
我们采用一种自底向上的方式来介绍TCP/IP协议族。第1章介绍TCP/IP的基础知识;随后从链路层(第2章)开始向上介绍协议栈。这样做可以为不熟悉TCP/IP或者网络的读者提供阅读后续章节所需的背景知识。
本书在讲述过程中还采用了一种功能性的方法,而没有死板地遵循自底向上的顺序。例如,第3章描述了IP层和IP首部,但IP首部中的大量字段放在具体的应用(这类应用会用到特定的字段或者受特定字段的影响)场景中介绍才是最合适的。例如,分片技术(fragmentation)从UDP(第11章)角度最好理解,因为该协议经常会受其影响。生存时间(time-to-live)字段在第8章研究Traceroute程序时详细描述,因为该字段是该程序运行的基础。类似地,ICMP的很多特性也在后面的章节中讲述,主要考虑协议或应用使用特定ICMP报文的方式。当然,我们也并不是想把所有的好东西都藏到最后。因此,只要具备了足以理解某种TCP/IP应用的知识基础,我们就会尽快对其进行介绍。在讨论完IP和ICMP之后,我们对Ping和Traceroute进行了讲解。在分析完UDP之后,我们描述了基于UDP的应用(多播、DNS、TFTP和BOOTP)。不过TCP应用和网络管理必须在彻底讲清楚TCP之后才能加以介绍,因此只能留到最后了。本书侧重于介绍这些应用如何使用TCP/IP协议,而不会提供运行这些应用的所有细节。
致读者
本书自成一体,阅读之前不需要掌握具体的网络或TCP/IP知识。本书还提供了大量的参考文献,对具体领域感兴趣的读者可以进一步阅读这些资料。
本书有多种使用方式:对TCP/IP协议族的所有细节感兴趣的读者可以把本书用作自学参考书,从头看到尾,具有一定TCP/IP背景知识的读者可以跳过前面几章,直接从第7章开始阅读,然后选择感兴趣的章节进行重点研究。每章的末尾都安排了一些习题,附录D给出了大部分习题的答案,这样做是为了本书更适合作为自学参考书。
如果将本书的内容作为一或两个学期的计算机网络课程的一部分,重点应该放在IP(第3章和第9章)、UDP(第11章)、TCP(第17章至第24章)以及一些应用章节上。
全书贯穿了许多交叉引用,并提供了完整的索引,因此读者可以独立阅读各章的内容。书中用到的缩略词及相应的复合术语都详细列在索引之后。
如果你可以访问网络,建议你下载本书中使用的软件(附录F),并在自己的计算机上进行实验。动手进行协议方面的实验可以大大丰富知识(并且使学习的过程更有乐趣)。
用于测试的系统
本书中的每一个示例都是在实际网络中运行过的,并将输出结果保存在文件中。图1-11(第18页)展示了书中所用的不同主机、路由器以及网络。(为方便读者阅读本书时随时查阅,本书最前面也放上了该图。)这种网络集合非常简单,其拓扑结构不会造成读者对示例的误解;此外,由于使用了4个系统作为路由器,我们可以看到路由器产生的错误报文。
多数系统的名字指明了所用软件的类型,如bsdi、svr4、sun、solaris、aix、slip等。这样,我们只要查看所显示出的系统名就可以确定软件的类型。
书中用到了多种操作系统和TCP/IP实现。
媒体评论回到顶部↑
“这本书必定是TCP/IP开发人员和用户的圣经。Stevens揭秘了此前一些网络专家讳莫如深的许多奥妙。我本人参与过几年TCP/IP的实现工作,以我的观点,这本书堪称目前最详尽的参考书了。”
——Robert A. Ciampa,3COM公司网络工程师
“Stevens创作了一本很好的教材和参考书。内容组织合理,文字清晰易懂,书中有很多出色的图示详细解读了IP、TCP和辅助协议以及应用的原理与运作中的隐秘细节。”
——Scott Bradner,哈佛大学OIT/NSD技术顾问
“比光讲理论强多了。Stevens采用了多主机的配置,带领我们饱览TCP/IP的各种例子和图示。基于实际的例子,这些例子反过来又强化了理论,这一点使其有别于本领域的所有其他书籍,并使本书既有极强的可读性,又蕴涵丰富的信息。”
——Peter M.Haverlock,IBM TCP/IP技术顾问
“卷1对于开发人员、网络管理员以及任何想理解TCP/IP技术的人来说,都是极好的参考书。内容非常全面,既能满足专家的需要,也给了新手足够的背景知识和注解。”
——Bob Williams,NetManage公司营销副总裁
“Stevens写的所有书都相当出色,这部巨著再次令世人称奇。虽然已经有不少书在写TCP/IP了,但是这本书以其深入和详实而领先群伦。Stevens带领读者深入TCP/IP协议的内部,采用了形象化的方法展示协议的运作。”
——Steven Baker,Unix Review杂志
“书中的图示好极了,写作风格清新,可读性强。总之,Stevens把一个复杂的问题说得很容易理解。这本书值得每个人关注。你一定要读一读,并把它珍藏在书架上。”
——Elizabeth Zinkann,Sys Admin杂志
“作者成功地创作出了又一本不可或缺的网络巨著。这是我所读过的最全面、最完整的TCP/IP著作,写法完全不同于其他书,不仅详细介绍了TCP、IP、ARP、ICMP、路由技术等,还实际展示了这些协议和常见网络工具的用法。”
——Eli Charne,ConneXions杂志
“……区别在于Stevens力图向大家清晰地展示协议内幕。他的主要方法是直截了当地阐释、章末提供练习题、对于首部等逐字节解读,并将实际通信流内容列出来作为示例。”
——Walter Zintz,Unix World杂志
——Robert A. Ciampa,3COM公司网络工程师
“Stevens创作了一本很好的教材和参考书。内容组织合理,文字清晰易懂,书中有很多出色的图示详细解读了IP、TCP和辅助协议以及应用的原理与运作中的隐秘细节。”
——Scott Bradner,哈佛大学OIT/NSD技术顾问
“比光讲理论强多了。Stevens采用了多主机的配置,带领我们饱览TCP/IP的各种例子和图示。基于实际的例子,这些例子反过来又强化了理论,这一点使其有别于本领域的所有其他书籍,并使本书既有极强的可读性,又蕴涵丰富的信息。”
——Peter M.Haverlock,IBM TCP/IP技术顾问
“卷1对于开发人员、网络管理员以及任何想理解TCP/IP技术的人来说,都是极好的参考书。内容非常全面,既能满足专家的需要,也给了新手足够的背景知识和注解。”
——Bob Williams,NetManage公司营销副总裁
“Stevens写的所有书都相当出色,这部巨著再次令世人称奇。虽然已经有不少书在写TCP/IP了,但是这本书以其深入和详实而领先群伦。Stevens带领读者深入TCP/IP协议的内部,采用了形象化的方法展示协议的运作。”
——Steven Baker,Unix Review杂志
“书中的图示好极了,写作风格清新,可读性强。总之,Stevens把一个复杂的问题说得很容易理解。这本书值得每个人关注。你一定要读一读,并把它珍藏在书架上。”
——Elizabeth Zinkann,Sys Admin杂志
“作者成功地创作出了又一本不可或缺的网络巨著。这是我所读过的最全面、最完整的TCP/IP著作,写法完全不同于其他书,不仅详细介绍了TCP、IP、ARP、ICMP、路由技术等,还实际展示了这些协议和常见网络工具的用法。”
——Eli Charne,ConneXions杂志
“……区别在于Stevens力图向大家清晰地展示协议内幕。他的主要方法是直截了当地阐释、章末提供练习题、对于首部等逐字节解读,并将实际通信流内容列出来作为示例。”
——Walter Zintz,Unix World杂志
【插图】








点击看大图






加载中...

