TCP/IP详解 卷1:协议(原书第2版)[图书]
基本信息
- 原书名:TCP/IP Illustrated, Volume 1: The Protocols, Second Edition

编辑推荐
内容简介
计算机书籍
已故专家W. Richard Stevens的《TCP/IP详解》是一部经典之作!第1版自1994年出版以来深受读者欢迎,但其内容有些已经陈旧,而且没有涉及IPv6。现在,这部世界领先的TCP/IP畅销书已由网络顶级专家Kevin R. Fall博士彻底更新,反映了新一代基于TCP/IP的网络技术。本书主要讲述TCP/IP协议,展示每种协议的实际工作原理的同时还解释了其来龙去脉,新增了RPC、访问控制、身份认证、隐私保护、NFS、SMB/CIFS、DHCP、NAT、防火墙、电子邮件、Web、Web服务、无线、无线安全等内容,每章最后还描述了针对协议的攻击方法,帮助读者轻松掌握领域知识。
本书内容丰富、概念清晰、论述详尽,适合任何希望理解TCP/IP协议实现的人阅读,更是TCP/IP领域研究人员和开发人员的权威参考书。无论是初学者还是功底深厚的网络领域高手,本书都是案头必备。
作译者
W. 理查德·史蒂文斯(W. Richard
Stevens)博士,是国际知名的UNIX和网络专家、受人尊敬的技术作家和咨询顾问。他教会了一代网络专业人员使用TCP/IP的功能,使互联网成为
人们日常生活的中心。Stevens于1999年9月1日去世,年仅48岁。在短暂而精彩的一生中,他著有多部经典的传世之作,包括《TCP/IP
详解》(三卷本)、《UNIX网络编程》(两卷本)以及《UNIX环境高级编程》。2000年他被国际*威机构Usenix追授“终身成就奖”。
吴功宜,南开大学信息技术科学学院教授、博士生导师。曾任南开大学计算机系主任、信息技术科学学院院长。研究方向为计算机网络与信息系统、计算机网络与
信息安全,目前主要从事无线网络、P2P网络机器安全问题的研究。主持和参加完成计算机网络、数据通信与信息安全方向的科研项目20多项,获部委与省市科
技奖6项,发表学术论文50余篇;参加编著和出版教材、译著、专著30余部。
吴 英,南开大学计算机与控制工程学院副教授,博士,硕
士生导师。主要研究方向:无线网络与移动计算、网络安全与管理、物联网应用。主持和参与国家自然科学基金、教育部博士点基金、天津市自然科学基金等多个项
目;发表学术论文20余篇,其中EI检索15篇;参与编著教材与译著12本,其中2本列入国家“十二五”规划教材;主讲“可视化编程”“物联网导论”与
“计算机网络”等课程;获得天津市级教学成果一等奖1项。
张 玉,南开大学计算机与控制工程学院副教授,博士,硕士生导师。主要研究
方向:数据流挖掘、网络与信息安全、计算机安全性分析等。主持国家自然科学基金、教育部博士点基金、国家242项目等多个项目;作为*一作者在《中国科
学:信息科学》《 Computer Communications》《Concurrency and Computation:Practice
and Experience》《IEICE Transactions on Information and
Systems》等发表学术论文10余篇。
许昱玮,南开大学计算机与控制工程学院讲师,博士,硕士生导师。主要研究方向:无线网络与
移动计算、物联网、车载自组网。主持和参与国家自然科学基金、教育部博士点基金、天津市自然科学基金等多个项目;发表学术论文10余篇,其中EI检索10
篇;参与编著教材与译著6本;主讲“物联网通信技术”“计算机基础”等课程;带队获得中国大学生计算机设计竞赛全国决赛三等奖2项。
目录
译者序
本书评语
序
第2版前言
第1版前言(改编)
第1章 概述 1
1.1 体系结构原则 2
1.1.1 分组、连接和数据报 2
1.1.2 端到端论点和命运共享 3
1.1.3 差错控制和流量控制 4
1.2 设计和实现 5
1.2.1 分层 5
1.2.2 分层实现中的复用、分解和封装 6
1.3 TCP/IP协议族结构和协议 9
1.3.1 ARPANET参考模型 9
1.3.2 TCP/IP中的复用、分解和封装 11
1.3.3 端口号 12
1.3.4 名称、地址和DNS 12
1.4 Internet、内联网和外联网 13
译者序
我们知道,TCP/IP已成为计算机网络事实上的标准。在关于TCP/IP的著作中,最有影响的著作之一就是W. Richard Stevens著的《TCP/IP详解 卷1:协议》,本书第2版由Kevin R. Fall在原著的基础上修订而成。
本书的特点是内容丰富,概念清晰,论述详细,图文并茂。本书每章开头都有一个引言,然后对某个技术或协议进行详细介绍,最后给出相关的安全问题、总结与参考文献。本书通过很多例子来说明问题,并在最后给出了书中用到的缩略语,这对读者了解相关术语有很大的帮助。
本书的前言、第1~6章和缩略语由吴英翻译,第7~12章由张玉翻译,第13~18章由许昱玮翻译,全书由吴功宜教授审校。我们在翻译过程中尽可能尊重原著的思想,但是限于译者的学识,书中难免存在疏漏和理解错误之处,敬请读者指正。
译者
2016年1月
于南开大学计算机与控制工程学院
前言
欢迎阅读本书的第2版。这本书致力于对TCP/IP协议族进行详细了解。不仅描述协议如何操作,还使用各种分析工具显示协议如何运行。这可以帮助你更好地了解协议背后的设计决策,以及它们如何相互影响。同时为你揭露协议的实现细节,而不需要你阅读实现的软件源代码,或者设置一个实验性的实验室。当然,阅读源代码或设置一个实验室将不只是有助于加深你的理解。
网络在过去30年中已经发生了巨大的变化。Internet最初作为一个研究项目和令人好奇的对象,现在已经成为一个全球性的通信设施,并被各国政府、企业和个人所依赖。TCP/IP协议族定义了Internet中每个设备交换信息的基本方法。经过十多年的发展,Internet和TCP/IP自身正在向兼容IPv6的方向进化。在整本书中,我们将讨论IPv6和目前的IPv4,着重关注它们之间的重要不同点。遗憾的是,它们不直接进行互操作,因此需要关心和注意其演变的影响。
本书的读者对象是希望更好地了解当前的TCP/IP协议族以及它们如何运作的人员:网络操作员和管理员、网络软件开发人员、学生,以及需要掌握TCP/IP的用户。我们提供的材料包括读者感兴趣的新材料和第1版已有的材料,希望读者能从中找到有用和有趣的新旧材料。
第1版的评论
距本书第1版出版已过去近20年。对于希望了解TCP/IP协议细节的学生和专业人士而言,本书仍然是一个宝贵的资源,这些细节在许多其他同类教材中是难以获得的。目前,它仍是有关TCP/IP协议运行的详细信息的最好参考。但是,即使是信息和通信技术领域最好的书籍,经过一段时间之后也会过时,当然本书也不例外。在这个版本中,我希望通过引入新材料来彻底更新Stevens博士的前期工作,同时能够保持前作的极高水准和对其很多书籍都包含的知识的详细介绍。
第1版涵盖了各种类型的协议和它们的操作,范围从链路层到应用和网络管理的所有方面。目前,将如此广泛的材料综合在一卷中篇幅将会很长。因此,第2版特别关注核心协议:那些级别相对较低的协议,常用于为Internet提供配置、命名、数据传输和安全等基础性服务。关于应用、路由、Web服务和其他重要主题被放到后续卷中。
从第1版出版以来,对TCP/IP相应规范的实现在鲁棒性和规范性方面的改进已取得相当大的进展。第1版中很多例子出现明显的实现错误或不符合要求的行为,这些问题在当前可用的系统中已经得到解决,至少对于IPv4如此。考虑到在过去18年中TCP/IP协议的应用日益广泛,这个事实并不令人吃惊。不符合要求的实现是比较罕见的,这证明了协议族整体是比较成熟的。当前,在核心协议的运行中遇到的问题,通常涉及不常使用的协议功能。在第1版中不太关注的安全问题,在第2版中花费了相当的笔墨来讨论。
21世纪的互联网环境
Internet使用模式和重要性自第1版出版以来已经发生了很大变化。最明显的具有分水岭意义的事件是万维网在20世纪90年代初的建立和随后开始的激烈的商业化。这个事件大大加快了大量有不同目的(有时冲突)的人对Internet的使用。因此,这个最初实现在一个小规模的学术合作环境中的协议和系统已受限于有限的可用地址,并且需要增加安全方面的考虑。
为了应对安全威胁,网络和安全管理员纷纷为网络引入专门的控制单元。无论是大型企业还是小型企业和家庭,现在常见的做法是将防火墙布置在Internet的连接点。随着过去十年IP地址和安全需求的增长,网络地址转换(NAT)现在几乎被所有路由器支持,并且得到广泛的使用。它可以缓解地址短缺的压力,允许站点从服务提供商(对每个同时在线的用户)获得一组相对较少的可路由的Internet地址,无须进一步协调就可以为本地主机提供大量的地址。部署NAT的结果是减缓了向IPv6(它提供了几乎不可思议的大量地址)的迁移,解决了一些旧协议的互操作性问题。
随着PC用户在20世纪90年代中期开始要求连接Internet,最大的PC软件供应商(微软)放弃了其原来只提供专用Internet协议的策略,转而努力在自己的大部分产品中兼容TCP/IP。此后,运行Windows操作系统的PC变为接入Internet的主体。随着时间的推移,基于Linux系统的主机数量显著上升,意味着这种系统现在有可能取代微软的领跑者地位。其他操作系统,包括Oracle的Solaris和Berkeley的基于BSD的系统,曾经代表了接入Internet的大多数系统,而现在只占一小部分。苹果的OS X操作系统(基于Mac)已成为一个新的竞争者并日益普及,特别是在便携式计算机用户中。2003年,便携式计算机(笔记本电脑)的销量超过了台式机,成为个人电脑销售的主力类型,它们的快速增长带来了对支持高速上网的无线基础设施的需求。根据预测,2012年以后访问Internet的最常用方法是智能手机。平板电脑也是一个快速增长的重要竞争者的代表。
现在有大量场所提供了无线网络,例如餐厅、机场、咖啡馆,以及其他公共场所。它们通常使用办公或家庭环境的局域网设备,提供短距离、免费或低费用、高速、无线Internet连接。一系列基于蜂窝移动电话标准(例如LTE、UMTS、HSPA、EV-DO)的“无线宽带”替代技术已广泛用于世界发达地区(一些发展中地区争相采用较新的无线技术),为了提供更大范围的运营,通常需要在一定程度上减少带宽和降低基于流量的定价。两种类型的基础设施满足了用户使用便携式计算机或更小的设备在移动过程中访问Internet的需要。在任何情况下,移动终端用户通过无线网络访问Internet都会带来两个对TCP/IP协议体系结构的技术挑战。首先,移动性影响了Internet的路由和寻址结构,打破了主机基于附近的路由器分配地址的假设。其次,无线链路可能因更多原因而断开并导致数据丢失,这些原因与典型的有线链路(通常不会丢失太多数据,除非网络中有太多流量)
不同。
最后,Internet已经促进了由对等应用形成的“覆盖”网络的兴起。对等应用不依赖于中心服务器完成一项任务,而是通过一组对等计算机之间的通信和交互完成一项任务。对等计算机可以由其他终端用户来操作,并且可能快速进入或离开一个固定的服务器基础设施。“覆盖”的概念刻画了如下事实:由这些交互的对等方形成一个网络,并且覆盖在传统的基于TCP/IP的网络上(在低层的物理链路之上实现覆盖)。对于那些对网络流量和电子商务有浓厚兴趣的研究者而言,对等应用的发展没有对卷1中所描述的核心协议产生深远的影响,但是覆盖网络的概念在网络技术研究中普遍受到重视。
第2版的内容变化
第2版的最重要的变化是对第1版全部内容的整体重组和安全方面材料的显著增加。第2版没有尝试覆盖Internet的每个层次中使用的所有常用协议,而是关注正在广泛使用的非安全的核心协议,或者预计在不久的将来广泛使用的协议:以太网(802.3)、Wi-Fi(802.11)、PPP、ARP、IPv4、IPv6、TCP、UDP、DHCP和DNS。系统管理员和用户可能都会用到这些协议。
第2版通过两种方法来讨论安全性。首先,每章中都有专门的一节,用于介绍对本章所描述协议的已知攻击和对策。这些描述没有介绍攻击的方法,而是提示了协议实现(或规范,在某些情况下)不够健全时可能出现的问题。在当前的Internet中,对于不完整的规范或不健全的实现,即使是相对简单的攻击,也可能导致关键的任务系统受到损坏。
第二个重要的安全性讨论出现在第18章,对安全和密码学中的一些细节进行研究,包括协议,例如IPsec、TLS、DNSSEC和DKIM。目前,这些协议对希望保持完整性或安全操作的任何服务或应用的实现都是非常重要的。随着Internet在商业上的重要性的增加,安全需求(以及威胁的数量)已成比例增加。
虽然IPv6没有被包括在第1版中,但是未分配的IPv4地址块在2011年2月已耗尽,现在有理由相信IPv6的使用可能会显著加快速度。IPv6主要是为了解决IPv4地址耗尽问题,随着越来越多的小型设备(例如移动电话、家用电器和环境传感器)接入Internet,IPv6正在变得越来越重要。如世界IPv6日(2011年6月8日)这种事件有助于表明Internet可以继续工作,即使是对底层协议进行重大修改和补充。
序言
在早期互联网体系结构的制定中,“企业”的概念并没有被真正认识。因此,大多数网络都有自己的IP地址空间,并在路由系统中直接“公布”自己的地址。在商业服务被引入之后,Internet服务提供商像中介那样“公布”自己客户的Internet地址块。因此,大多数的地址空间被分配为“提供商依赖”方式。“提供商独立”编址很少见。这种网络导致路由汇聚和全球路由表大小的限制。虽然这种方式有好处,但它也带来了“多归属”问题,这是由于用户的提供商依赖地址在全球路由表中没有自己的条目。IP地址“短缺”也导致了网络地址转换,它也没有解决提供商依赖和多归属问题。
通过阅读这本书可以唤起读者对复杂性的好奇——这种复杂性由工作在几种网络和应用环境下的一组相对简单的概念发展而来。当各章展开时,读者可以看见复杂性程度随着日益增长的需求而变化——这部分是由新的部署情况和挑战决定的,系统规模的激增就更不必
说了。
“企业”用户网络安全的问题迫使人们使用防火墙提供边界安全。这样做虽然有用,但是很明显对本地Internet基础设施的攻击可以通过内部(例如将一台受感染的计算机放入内部网络,或用一个受感染的便携驱动器通过USB端口感染一台内部计算机)进行。
很明显,除了需要通过引入IPv6协议(它有340×1036个地址)扩大Internet地址空间之外,还强烈需要引入各种安全增强机制,例如域名系统安全扩展(DNSSEC)等。
究竟是什么使这本书看起来很独特?据我估计是对细节的重视和对历史的关注。它提供了解决已经演变的网络问题的背景和意义。它在确保精确和揭露剩余问题方面不懈努力。对于一位希望完善和确保Internet操作安全,或探索持续存在的问题的其他解决方案的工程师来说,这本书所提供的见解将是非常宝贵的。作者对当前Internet技术的彻底分析是值得称赞的。
Vint Cerf
Woodhurst
2011年6月
媒体评论
——Robert A. Ciampa,3COM公司Synernetics部网络工程师
“Stevens所有的书都具有很强的可读性和技术性,这本书尤其如此。尽管已经有很多描述TCP/IP协议的书问世,但Stevens在书中提供了别人没有的深度和实现细节。他采用可视化方法使读者深入TCP/IP内部,以便了解该协议是如何工作的。”
——Steven Baker,《Unix评论》网络专栏作者
“对于开发人员、网络管理员以及其他需要理解TCP/IP技术的人来说,本书是一本优秀的参考书。它覆盖面广泛,涉及TCP/IP各方面的主题。对专家来说,它提供足够的细节;对于初学者来说,它给出详细的背景和注释。”
——Bob Williams,NetManage公司市场部副总监
“……区别在于Stevens不仅希望给出协议的描述,而且还对它们进行解释。他的主要教学方法是直接阐述,并逐个字节地给出头部中的各字段以及类似的内容,另外还给出了真实的通信例子。”
——Walter Zintz,《Unix世界》
“比纯理论要好得多……W. Richard Stevens将基于多主机的配置作为解释TCP/IP的例子。本书根据实例来描述理论,使得该书和其他相关主题的书有所区别,不但可读性强,而且信息量大。”
——Peter M. Haverlock,IBM公司TCP/IP开发部顾问
“他使用的图表都很好,写作风格清晰易懂。总的来说,Stevens使一个复杂的问题变得容易理解。这本书值得每个人关注。本书值得阅读和收藏。”
——Elizabeth Zinkann,系统管理员
“W. Richard Stevens写了一本优秀的教材和参考书。这本书组织结构良好,文笔清新,提供了很多好的例子来详细解释IP、TCP,以及支撑协议和应用程序的内部逻辑与操作
细节。”
——Scott Bradner,哈佛大学OIT/NSD顾问