前 言 在今天的文明生活中,与网络和网际互联有关的技术可能是增长最快的。这种技术增长的结果就是,要想在许多职业中获得成功就必须懂得网络和网际互联技术,并且这种职业的种类正在急剧增多。于是,学习网络课程的学生数目也在成比例地增多。 本书是讲述TCP/IP的书。它为想要在数据通信和网际互联领域获得学位的学生提供了必要的信息。本书还可作为在基于TCP/IP的网络上工作或准备工作的专业人员的参考书。简言之,本书对任何需要了解TCP/IP协议的人都是有用的。 本书假定读者并没有关于TCP/IP协议的预备知识,不过,最好先学习一下数据通信的课程。 1. 组织 本书分为5个部分。第1部分由第1~3章组成,回顾了一些基本概念和基础技术。虽然这部分内容与TCP/IP协议没有直接关系,但却有助于理解TCP/IP协议。 本书的第2部分讨论网络中的协议和传输层。第4~10章重点讨论网络层的一些协议。运输层协议在第11~12章详细讨论。第13~14章则详细说明几种路由选择协议。 本书的第3部分讨论使用网络和传输层协议的应用程序。第15~16章简单地介绍客户-服务器范式和套接字编程,为后面讨论应用层协议的第17~25章打下了基础。 第4部分(第26~30章)包含了因特网中比较新的问题和题目。我们讨论在ATM上运行IP、移动IP、实时通信、因特网的安全和专用网(包括实际的专用网和虚拟专用网)。 本书的第5部分(第31章)讨论下一代的TCP/IP。我们介绍IPv6、ICMPv6,以及从版本4到版本6的过渡。 2. 特点 为了使学生更容易地学习TCP/IP,本书的编写具有如下一些特点: (1) 直观 本书用图文并茂的方法讲述了技术性很强的内容,但并没有使用复杂的公式。大约有590幅插图与正文配合提供了一种直观的方法来阐述有关内容。在解释网络的概念时,插图是特别重要的,因为网络的概念是基于连接和传输。使用插图要比使用文字更容易地理解这些概念。 (2) 重点突出 我们多次重复一些在“注释”中出现的重要概念,使读者可迅速找到和引起注意。 (3) 丰富的示例和应用 只要有合适的场合,我们就用示例来阐明书中给出的有关概念。此外,我们在每一章都安排了许多实际生活中的应用,以利于读者学习。 (4) 协议软件包 虽然我们并不试图给出每种协议详细的实现代码,但在许多章还是包括了专门的一节,用来讨论每种协议的实现的一般思想。这些内容可帮助理解每一种协议的思路和问题。这些节可作为选读内容。 (5) 重要术语 在每一章的最后列出了这一章用过的新术语。这些术语的定义包含在词汇表中。 (6) 小结 每一章有这章内容的小结。小结是该章所有重点内容的归纳。 (7) 练习题 各章章末都附有练习题,用来巩固重点的概念,同时鼓励学生应用这些练习题。练习题分为三个部分:多项选择问题、习题和编程练习。多项选择问题是测验学生对基本概念和术语的掌握情况。习题则需要对内容有更深入的了解。编程练习则要求学生或读者学过一门或两门C语言或类似语言的编程课程。这些练习是为打算学习客户-服务器编程课程的学生使用的。 (8) 附录 附录的作用是迅速找到参考内容,或为理解本书中的概念需要而复习一些内容。 (9) 词汇表 词汇表包含本书使用的许多词汇和缩写词。 3. 怎样使用本书 本书是为学校学生和专业人员编写的。它可作为感兴趣的专业人员的自学指导书。本书可用作一学期的教材。各章的组织有很大的灵活性。下面是一些建议: ● 如果学生已经学过数据通信和联网的课程,则可跳过第1~3章。 ● 第4~14章对了解TCP/IP是至关重要的。 ● 第15~16章可作为网络编程课程的简要入门。 ● 对于一年分为两个学期的学制,第17~25章可详细讨论。 ● 当时间受限时,第26~30章可略去。 ● 第31章可自己灵活掌握。 4. 致谢 很显然,编写这样篇幅的书没有很多人的帮助是不可能的。我们在第1版的序言中对许多人的贡献表示了感谢。对于第2版,我们要感谢许多同行审阅人对编写本书的贡献。我们必须特别感谢以下一些审阅人: ● Walter Read, 加利福尼亚州立大学,弗雷斯诺 (California State University, Fresno) ● Wayne D. Smith, 密西西比州立大学 (Mississippi State University) ● Ronald R. Srodawa, 奥克兰大学 (Oakland University) ● Rod Fatoohi, 圣何塞州立大学 (San Jose State University) ● Abdullah Abonamah, 阿克伦大学 (University of Akron) ● Douglas Jacobson, 衣阿华州立大学 (Iowa State University) ● Sam C. Hsu, 佛罗里达大西洋大学 (Florida Atlantic University) ● Dale Liu, 印第安纳大学-印第安纳波利斯 (Indiana University-Indianapolis) ● Dennis Karvelas, 新泽西技术学院 (New Jersey Institute of Technology) 特别要感谢麦格劳-希尔(McGraw-Hill)公司的工作人员。我们的出版者Besty Jones证明了熟练的出版者可以把不可能的事情变为可能。只要我们需要,开发编辑Emily Lupash就会给我们提供帮助。我们的项目经理Sheila Frank在本书的出版过程中一直以极大的热情领导着我们。我们还要对Sherry Kane在成书过程中和Rick Noel在设计上的贡献,并对文稿编辑Barbara Somogyi的工作一起表示感谢。 我们还要特别感谢Andy Yu,他从技术上审阅了本书的内容。 5. 商标介绍 在本书中我们使用了许多商标。我们在每一次提到商标名字时没有插入商标符号,因此我们感谢这些商标拥有者,并且声明我们没有对它们进行侵权的意图。其他的产品名称、商标、注册商标等都是其拥有者的财产。下面是对本书所使用的商标的说明: ● Apple、AppleTalk、EtherTalk、LocalTalk、TokenTalk,以及Macintosh是苹果计算机公司的注册商标。 ● Bell和StarLan是AT&T的注册商标。 ● DEC、DECnet、VAX、以及DNA是数字设备公司的注册商标。 ● IBM、SDLC、SNA,以及IBM PC是IBM(国际商用机器公司)的注册商标。 ● Novell, Netware、IPX、以及SPX是Novell公司的注册商标。 ● Network File System和NFS是Sun Microsystems公司的注册商标。 ● PostScript是Adobe系统公司的注册商标。 ● UNIX是UNIX系统实验室公司(是Novell公司完全拥有的子公司)的注册商标。 Xerox是商标,而Ethernet是Xerox公司的注册商标。 译 者 序 我们很高兴向广大读者推荐Behrouz. A. Forouzan所著的《TCP/IP协议族》第2版。 关于TCP/IP协议族的国外著作已有多种,但Forouzan所著的这本《TCP/IP协议族》特色非常显著。通过对本书的翻译,译者收获很大,因为从这本书中可以学习到很多知识。 大家知道,教材和学术专著有很大的区别。学术专著要突出作者在某个学术领域所做出的贡献,特别要包含作者所取得的有创造性的研究成果。但教材则不然。译者认为,对一本教材的评价,最主要的就是看这本教材是否能够起到给学生领好路的作用,是否能够符合学生认识事物的规律,使学生在学习这本教材后,逐渐能够在这一领域入门。因此,从这样的观点来看,这本教材应当是很不错的。 译者认为,这本教材具有如下一些主要特色: (1) 本书的作者特别重视基本概念。在讲解TCP/IP协议时,强调了各种协议的基本概念,而不是纠缠在一些细节问题上,或是不分主次地摘抄一些协议标准中的具体规定。这本书不仅对于计算机网络的入门者很有用处,就是对那些已经比较熟悉计算机网络的人也颇有参考价值。因为同一个问题可以用不同的方法来阐明,而作者所采用的介绍各种协议的方法,能够使读者较快地掌握复杂协议要点。例如,直接交付和间接交付是很重要的基本概念。由于这个概念并没有多少深奥的理论,因此很多讲述TCP/IP协议的书就一带而过,致使部分读者并没有真正弄清楚这个重要概念。但Forouzan却专门用了一节(6.2节),以近两页的篇幅来阐述这两种交付的区别。这样就使读者比较容易地建立对这两种交付的正确理解。 (2) 作者非常重视插图在教材中的作用。Forouzan的观点是:对于计算机网络来说,插图比文字有时更加重要,因为网络中的概念,如“连接”和“传输”等,只有利用插图才能把问题说明得更加清楚。因此,本书的插图特别多,而且很有独创性,使得这些插图特别能够说明问题,起到了画龙点睛的作用。这一特点在同类书籍中尚不多见。实际上,这些插图也说明了作者有着丰富的教学经验。例如,最大传送单元MTU是一个十分重要的网络参数。但这个术语的名称很容易令人产生错误的理解。于是Forouzan专门用一副图(图8-6)来说明MTU是帧的数据部分,但并不是指整个帧的长度。像这样的指出重要概念的插图,在本书中是很多的。当然插图会占去书的大量篇幅,使书的页数增多。 (3) 对TCP/IP协议族来说,这本书内容翔实,取材新颖。每章后面都有重要术语和本章要点的小结。练习题安排得也很有特色,有多项选择和一般的习题以及一些编程练习。附录内容也很丰富,便于学生进一步深入学习。特别是,对一些重要概念或结论,Forouzan还使用“注释”语句提醒读者注意。例如,学生往往把ISO和OSI弄混。于是Forouzan就在第2章的开头使用了以下的句子提醒读者: 注释: ISO是个组织。而OSI是个模型。 像这样的例子,在本书中也是很多的。 (4) 本书的第2版除了对许多章节的内容进行了更新外,还增加了6章新的内容,即:“多播和多播路由选择协议”、“在ATM上运行IP”、“移动IP”、“因特网上的实时通信”、“因特网的安全”,以及“专用网、虚拟专用网和网络地址转换”。 译者认为,本书也有一些美中不足之处。例如,有些内容的叙述似乎可以更加精炼一些,可以适当减少一些重复。习题似乎可以减少一些,因为精选习题或许效果会更好些。每一章后面的重要术语可能也多了一些。但总的说来,本书还是很值得仔细阅读的好教材。 译者在翻译过程中发现的一些原书的错误,已经在翻译过程中进行了改正(或许也还有遗漏)。吴自珠、耿建美和李翔宇等对译稿进行了认真的校对,译者在此表示衷心的感谢。限于水平,翻译不妥或错误之处在所难免,敬请广大读者批评指正。