计算机网络
作者 : Larry L.Peterson, Bruce S.Davie
译者 : 叶新铭 贾波 吴承勇 等译 史美林 校
丛书名 : 计算机科学丛书
出版日期 : 2001-06-01
ISBN : 7-111-08649-X
定价 : 49.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 527
开本 : 16开
原书名 : Computer Networks: A Systems Approach
原出版社: Morgan Kaufmann Publishers
属性分类: 教材
包含CD :
绝版 : 已绝版
图书简介

本书是一本理论联系实际、面向用户、面向应用,介绍新技术、新成就、新趋势,难易程度适中的优秀网络书籍。
  本书作者具有深厚的理论功底和丰富的实践经验,使得本书在结构、写作手法及实用性方面都独具特色。首先,在结构方面,本书遵循传统的层次模型,但并不拘泥于完全利用这种模型去帮助读者理解网络中的重大问题,而是采用独立于层次模型的方法来组织基本概念的讨论:在写作手法上,本书不仅从理论上,而且从实践上揭示了协议设计的问题;在实用性方面,本书引入因特网丰富的实例,介绍许多最新的协议,同时将书中的程序代码改编为适用于通用的环境,便于读者理解掌握。
  本书是一本实用性很强的教科书,特别适合高等院校计算机、信息管理及相关专业的本科生和研究生、网络从业人员使用。本书还可供各类专业人员自学使用。

图书特色

叶新铭,男,教授,全国优秀留学回国人员,现为内蒙古大学计算机学院院长,中国计算机学会理事,内蒙古计算机学会理事长。主要从事计算机网络、数据库、分布式系统等领域的研究。主持多项国家自然科学基金项目、国家863项目、国家科委八五攻关项目等,曾获公安部科技进步二等奖、乌兰夫奖金奖等奖项。先后在国内外的核心学术刊物上发表了50多篇论文和译著。 吴承勇,男,副教授,硕士研究生导师,现为内蒙古大学计算机学院副院长,内蒙古自治区信息产业专家小组成员和内蒙古教育和科研网专家组成员。1982年本科毕业于内蒙古大学电子系,1988年研究生毕业,获中国人民解放军国防大学硕士学位。长期从事计算机的教学、研究和开发工作,主讲《计算机网络》等课程。 贾波,女,高级工程师,毕业于内蒙古大学计算机专业,现为内蒙古大学网络中心副主任,内蒙古教育和科研网专家组成员。从事计算机的教学和开发工作,承担《计算机网络》等课程的教学。

图书前言

当本书第1版在1996年(按因特网的时间仿佛已是100年以前)出版时,在因特网上购物还是很新奇的事情,那时如果一个公司能用它的域名做广告,它就会被认为具有极大的优越条件。而当今社会,因特网商务已经进入日常生活中,公司以“.com”来注册它的法定名字,而不是因特网名字,已经不是什么稀罕的事情。证券经纪人也经常查询“.com股票”。当一个咖啡零售商宣布发展一个因特网策略计划时,它的身价倍增。指出因特网上飞速变化的事情,就有点像指出天空是蓝的一样。
  尽管有这么大的变化,我们在第1版中提出的问题对于今天来说仍然是有效的:什么是使因特网运行的基本概念和技术?回答是TCP/IP体系结构的大部分功能对于今天仍然适用,这一点正像30年前它的创立者预见的那样。这并不是说因特网的体系结构没什么新鲜的,而是正好相反。一个体系结构30年来不仅幸存下来,而且促进因特网快速地增长和变化,了解其中的设计原理正是我们的出发点。正像第1版一样,第2版把因特网的体系结构“何以如此”作为它的基础。

读者
  我们的目的是把这本书作为网络课的入门教材,供研究生或高年级本科生使用。我们也相信,这本书的核心概念不但对正在进行再培训以便完成网络相关任务的专业人员有吸引力,而且也可以帮助网络从业人员深入理解每天都要接触的网络协议并且可以对网络有一个整体的概念。
  根据我们的经验,第一次学习网络的学生和专业人员常常把网络协议理解成一种从高层传到低层的命令,所以只要尽量学习术语缩写就可以了。事实上协议是从工程设计原理的应用中开发出的复杂系统的建造模块。不仅如此,根据现实世界的经验,协议总是不断地被精炼、扩展和替换。因此,这本书的目标并不单纯介绍当今使用的协议,更侧重于解释合理的网络设计的基本原理。我们认为把握这些基本原理是对付当今网络瞬息万变的最好办法。

在第2版中的变化
  侧重网络的基本原理听起来好象是为第2版中不做改动找借口。其实正相反,第2版跟踪网络的最重要的新进展,补充了大量的新材料。我们也删除、重新组织和改变了原有材料的侧重点,以反映这4年中发生的变化。另外,我们也考虑到来自读过第1版的人和没读过第1版的人的大量反馈意见。本版的改动包括:
  ■ 新增关于网络安全的一章,内容包括PGP、IPSEC、安全套接字和防火墙。
  ■ 新增关于网络应用的一章,内容包括SMTP、HTTP、SNMP、DNS以及实时多媒体应用使用的RTP协议等。
  ■ 在服务质量和拥塞控制方面补充了大量新材料,内容包括在区分服务和RSVP方面的最新进展。
  ■ 对路由选择协议的进一步探讨,内容包括OSPF和BGP。
  ■ 新增关于无线技术的一节,内容包括扩展频谱技术和最近新出现的802.11标准。
  ■ 扩展了对音频和视频压缩的探讨,内容包括MPEG和MP3。
  ■ 增加了ATM的内容,内容包括局域网仿真(LANE) 。
  ■ 新增关于在公共的因特网顶层建立虚拟专用网(VPN)的材料。
  ■ 高速网的内容贯穿全书,而不是限制在某一章中。
  总的说来,本书还有两点明显的改动。首先,按照教师的反馈意见,我们把理解协议实现的教学工具x-kernel去掉了,用不依赖于操作系统的C代码代替它。在下面还要讨论这种改动的细节。其次,我们在每章的最后明显增加了练习的数量和质量。这一工作由一个专门的教师负责,他从第1版开始就讲授我们这本书。

方法
  对于像计算机网络这样动态的和不断变化的领域来说,一本教材能提供的最重要的东西就是洞察能力,以便能够区别什么是重要的,什么是不重要的,什么是长久的,什么是肤浅的。基于我们致力于网络新技术研究的20年经验,和对本科生和研究生讲授网络最新趋势的课堂反馈,以及把先进的网络产品投放市场的经验,我们已经提炼出我们自己的观点,叫做系统方法,它构成了本书的精髓,这种系统方法有以下几个含义:
  ■ 与其接受实际网络产品作为准则,不如从最基本的原理开始,让你了解通向当今网络技术的发展过程。这就能让你解释网络为什么像现在这样设计。根据我们的经验,一旦你理解了基本原理,对于你遇到的任何新协议,消化和吸收起来都将变得相对容易。
  ■ 虽然材料基本上是围绕传统的网络分层组织的,从底层开始并且按协议栈向上展开,但是我们并不严格的采用分层方法。许多课题没有分层的含意,例如拥塞控制和安全性就是这样,所以我们在传统的分层模型之外讨论它们。简言之,我们相信可以很好地使用分层,但是不必受它的限制。采用端到端的观点常常是有用的。
  ■ 与其抽象的理解协议如何工作,不如我们使用当今最重要的协议具体地说明网络是如何工作的,许多协议都是源自TCP/IP因特网的。这就允许我们在讨论中借鉴实际经验。
  ■ 虽然在最底层可以用从计算机销售商那里购买的硬件构造网络,并且通信服务可从电话公司租用,但是只有软件才可以使网络提供新的服务,并且迅速地适应新的需求。这就是我们为什么强调网络软件是如何实现的理由,而不是只停留在描述所涉及到的抽象算法。
  ■ 网络是由许多组件构成的,而在解决一个具体问题时,基本的方法是忽略一些不重要的因素,而理解所有的组件如何组织在一起,构成一个具有特定功能的网络。所以我们花费大量的时间解释网络总体的端到端行为,而不只是个别的组成部分,以便能够理解一个完整的网络,从应用到硬件的所有方面是如何工作的。
  ■ 这种系统方法是指要进行性能研究,并且使用两个方面积累起来的数据,即定量分析各种设计选择和指导优化实现中的数据。这种强调经验分析的方法贯穿全书。
  ■ 网络很像其他计算机系统,例如,操作系统、处理器体系结构、分布式和并行系统等。它们都很大,很复杂。为了处理这种复杂性,系统设计者常常提出一组设计原则。我们重点介绍这些贯穿全书的设计原则,并且用计算机网络中的例子加以说明。

软件
  如上所述,为了理解计算机网络,软件和它的实现在系统方法中扮演着重要的角色。第1版使用x-kernel作为教学工具,它是实现网络协议的一种软件模板,但在使用x-kernel时,存在额外的启动开销,所以许多人不愿意使用它。因此,我们在第2版中去掉了x-kernel。为了说明如何实现某种协议和算法,全书仍然使用代码段,事实上,我们已经增加另外的代码,这些代码段是用不依赖于操作系统的C语言给出的,而不是用x-kernel协议给出的。对于想继续使用x-kernel的用户,书中去掉的材料可以从以下站点
http://www.cs.princeton.edu/xkernel在线得到:
  因为我们把网络软件看做是建网的基本构件,所以在第2版的第1章中引入了一个简单的应用套接字程序的例子。基于Unix套接字的程序设计作业,可通过在线访问得到(见下面)。

教学法和特点
  在第2版中,我们保留了几个建议你充分利用的特点:
  ■ 问题陈述。在每一章的开头,我们描述一个在网络设计中必须解决的问题,由它引出本章探讨的一些课题。
  ■ 阴影框。本书中,阴影框详细说明要探讨的课题或介绍相关的高级课题。多数情况,这些阴影框与实际生活中的网络模型有关。
  ■ 突出的段落。这些段落归纳了你想从讨论中得出的重要结论,例如广泛使用的系统设计原理。
  ■ 实际的协议。虽然本书着重核心概念而不是已有的协议说明,但实际的协议常用来说明大部分重要的思想。因此本书可以用作许多协议的参考源。为了帮助你找到这些协议的描述,每个相应的小节标题中用括号括起来的是协议名称,指明在那一节定义的协议。例如,5.2节描述可靠的端到端协议的原理,它提供了TCP的详细描述,TCP是这个协议的典型例子。
  ■ 开放的问题。每章的叙述以一个开放讨论的问题结尾。这些仍有争议的各种课题,包括研究领域、商界以及整个社会正在研究的课题。我们发现这些讨论能使读者更贴近地了解所讨论的网络课题并对其产生浓厚的兴趣。
  ■ 推荐的阅读材料。在每一章的最后都列有大量参考书目。这些书目一般都包含刚讨论的有关课题的启发性文章。我们竭力推荐那些高级读者(如研究生)学习推荐阅读目录中的这些文章,以便补充本章所讲的材料。

本书结构和课程使用
  本书按以下方式组织:
  ■ 第1章介绍全书使用的核心概念。特别是进行了网络体系结构的讨论,并给出网络设计常常需要考虑的定量的性能标准。
  ■ 第2章综述了广泛的低层网络技术,从以太网到令牌环再到无线网络。也描述了所有链路协议必须解决的许多课题,包括编码、成帧和错误检验。
  ■ 第3章讲述交换网络(数据报网与虚电路网)的基本模型,并详细地介绍一种流行的交换技术(ATM)。也讨论基于硬件的交换机设计问题。
  ■ 第4章讲述互连网络,并且描述网际协议(IP)的基本原理。这一章讨论的中心问题是像因特网这样规模的网络如何对分组进行路由选择。
  ■ 第5章讲述传输层,详细地描述因特网的传输控制协议(TCP)和远程过程调用,它们用在建立客户 / 服务器的应用中。
  ■ 第6章讨论拥塞控制和资源分配。这一章的课题贯穿网络层(第3、4章)和传输层(第5章)。特别注意的是,这章描述拥塞控制如何在TCP上工作,并且介绍了为了提供服务质量,因特网和ATM所使用的机制。
  ■ 第7章考虑通过网络发送的数据。这涉及表示格式和数据压缩两方面的问题。压缩的讨论包括解释MPEG视频压缩和MP3音频压缩是如何工作的。
  ■ 第8章讨论网络安全,范围包括加密协议(DES、RSA、MD5)、安全服务的协议(鉴别、数字签名、消息的完整性)以及完整的安全系统(增强型加密邮件、IPSEC)的讨论。这一章也讨论像防火墙这样的实际课题。
  ■ 第9章描述网络应用的典型实例,既包括像电子邮件和万维网这样传统的应用,也包括使用实时传输协议(RTP)的多媒体应用。
  对本科生的课程,可能需要多些课时以帮助学生理解第1章的导论材料,而跳过第6~8章的提高课题。然后在第9章转到网络应用的典型课题上。相反,研究生的指导教师可用一两次课讲完第1章的内容,让学生自己更仔细地研究材料,因此腾出更多的时间深入讲授最后四章的内容。研究生和本科生都要完成中间四章(第2~5章)的核心材料。但本科生可有选择地跳过那些更深入的章节(如2.2、2.9、3.4和4.4节)。
  如何自学本书?我们相信我们所选的教材涵盖了计算机网络的核心内容,因此建议你从前到后顺序阅读即可。另外我们提供了详细的参考文献目录,以帮助读者能进一步找到你感兴趣领域的补充材料。
  本书采取独特的方法来讨论拥塞控制,即把有关拥塞控制和资源分配的所有课题集中到第6章中。之所以这样做是因为拥塞控制问题不能在任何一层单独解决,我们希望你同时能够考虑各种设计选择(这和我们的观点是一致的,即严格的分层常常掩盖了重要的设计考虑)。然而,对拥塞控制的更传统的处理方式是可能的,可在第3章对照学习6.2节的内容以及在第5章对照学习6.3节的内容。

练习
  在第2版中对练习做了大量的修改。特别是,为了修改练习,我们得到芝加哥Loyola大学教授网络课的Peter Dordal 老师的支持。他增加了很多习题(从196个增加到362个),并且根据课堂测验我们发现这样大大提高了教学的质量。目前的练习集有以下几种不同的风格:
  ■ 分析性的练习,要求学生做简单的代数计算,说明他们对基本关系的理解。
  ■ 设计问题,要求学生提出和评价各种情况下的协议。
  ■ 动手能力问题,要求学生编写较短的代码行去测试一个想法或实践已有的网络实用功能。
  ■ 文献研究问题,能够让学生更深入地了解某一个问题。
  还有,正如下面更详细描述的,x-kernel和基于套接字的程序设计作业是可以在网上得到的。

补充材料和在线资源
  为了帮助教师,我们已经准备了一个教师手册,内容包括所选练习的答案。这个手册可从出版商那里得到。其他的教学材料,包括讲课的幻灯片、正文中的插图、基于套接字的程序设计作业和测验样题,都可以在Morgan Kaufmann出版公司的网站(http://www.mkp.com)上找到。我们建议你每隔几周访问一下本书的主页,因为我们会经常增加相关材料并与有关的站点建立链接。

致谢
  如果没有许多朋友的帮助本书是不可能问世的。我们非常感谢他们为改进本书所做出的贡献。然而,在致谢之前,我们要提到的是,我们已经尽力改正审阅人指出的错误以及尽量准确地描述我们的同事给我们解释的协议和机制。如果还有什么错误,那就是我们的责任。如果你发现任何错误,请发电子邮件给我们的出版商—Morgan Kaufmann公司,地址是netbugs@mkp.com,我们将在本书再次印刷时改正它们。
  首先我们衷心感谢各章草稿的审阅人。这一名单是很长的,包括Kentucky大学的Ken Calvert,Iowa州立大学的Douglas Jacobson,Sherbrooke大学的Michel Barbeau,Colorado-Boulder大学的Ken Klingenstein,Stephen F. Austin州立大学的Robert Strader,Utah大学的Lee Hollaar, Marist学院的James TenEyck,Luther 学院的Walt Will,Lancaster大学的David Hutchison,Rutgers大学的Ivan Marsic,Infocus and Nova South-eastern大学的Lee Leitner,BeComm公司的顾问Michael Cochran和Edward Balassanian,UC-Davis公司的顾问Matt Bishop,以及Cisco公司的顾问 Steve Casner。
  第二,普林斯顿大学的网络系统组和亚利桑那大学的几位专家对本书提供了意见、例子、校订、数据和代码段。除了第1版提到的之外,George Tzanetakis 为我们解释了MP3,Chad Mynhier帮助修改了文献目录。正如以前一样,我们希望感谢国防部高级研究计划署和国家科学基金会在过去这几年对我们网络研究课题的支持。
  第三,我们衷心地感谢我们的编辑David Clark,以及Morgan Kaufmann出版公司中在本书编写期间指导过我们的所有人。还要特别感谢我们的主编Jennifer Mann;她的助手Karyn Johnson;和我们的责任编辑 Cheri Palmer。MKP 公司的全体人员都很愉快地与我们合作。
  最后,我们希望感谢我们的妻子—Lynn Peterson 和Jody Davie,在解释网络如何实际运行的过程中遇到困惑时,她们一直支持着我们。

图书序言

David Clark序
麻省理工学院
  我很高兴地告诉大家这本著名的著作又有了新的提高。然而本书所揭示的哲理是没有变的,即它及时地给出了没有时间限制的内容。这种没有时间限制的内容比以前更加丰富。本书很好地介绍了核心概念和基本原理,尽管标准在变化,技术在更新,但这些知识还是十分有用的。如果你不仅仅想了解数据分组头部的格式规定,而是想了解整个网络如何工作,那么请阅读此书。
  由于因特网的高速发展,写一本能及时反映因特网的书是要花费一番工夫的。我们大概已经淡忘了,大约就在十年前,几乎没有人听说过URL。就是在几年前,因特网电话和因特网广播都是研究的空白。作者花费了很大的努力保持本书的内容尽可能地与目前的技术同步。在许多重要课题中新增添了一些节,包括从服务质量到安全性的一系列内容。因此,本书既可以作为参考书,也可以作为学习基本理论的教材。
  本书做了一些其他的改变,使得例子更易于理解。代码段不再基于某个特定的操作系统,而是被重新改编为适用于通用的执行环境。这样做是为了使学生在学习和掌握材料的实质方面少费功夫,从而尽可能地加快学习进度。
  网络的发展是非常迅速的。任何东西,包括本书都必须及时更新内容以与这种发展变化同步。本书将帮助读者跟上这种发展变化的步伐。

第 1 版 序
David Clark
麻省理工学院
  普遍认为术语“无头绪码”(spaghetti code)是不好的。所有优秀的计算机科学家都推崇模块化,这是因为它能带来许多的好处,其中包括在解决问题的同时不必去了解所有问题的细节。本书主要采用模块化的组织方法,程序编码也是如此。如果一本书的内容能被以模块化的思想有效地组织起来,那么读者就会很乐意从头读到尾。
  采用国际标准的形式给出“适当的”模块化,网络协议领域大概是唯一的,ISO给出了7层网络协议参考模型。这种模型反映了模块化的一种层次方法,无论设计是符合还是偏离这种模型,这种模型都已被广泛地用作协议组织讨论的起点。
  看起来似乎围绕这种分层模型来组织一本网络书是显而易见的。但事实上这样做是有风险的。因为在组织网络的核心概念时,ISO的模型其实并不是十分成功的。一些基本的需求如可靠性、流量控制或安全性并不能完全纳入ISO的分层中。因此导致了对理解参考模型上的一些迷惑,有时甚至产生了不信任感。实际上,如果一本书被严格地按照分层模型来组织,那么它就具有某些无头绪码的属性。
  在本书中,Peterson和Davie先生遵循了传统的分层模型,但并没有拘泥于完全利用这种模型去帮助我们理解网络中的重大问题。相反,作者采用独立于分层模型的方法来组织基本概念的讨论。因此,在阅读本书后,读者将会理解流量控制、拥塞控制、可靠性增强、数据的表示以及同步等问题,同时,读者也将会分别了解这些问题是如何牵涉传统分层模型的这一层或那一层的。
  我们说这是一本适时的书,为什么呢?因为本书揭示了当今主要的协议,尤其是有关因特网的协议。Peterson和Davie先生都有丰富的从事因特网工作的经验。他们的书不仅从理论上,而且从实践上揭示了协议设计的问题。本书还介绍了许多最新的协议,因此读者可以把本书作为更新知识的读本。更重要的是,基本问题的讨论是基于问题的本质属性,不受分层参考模型或当前的协议细节的限制。通过以上介绍,我们可以说本书既体现了适时性又不受时间的限制。本书的独特之处在于它将有关的实际问题、现实的事例和基本概念的解释有机地结合在一起。

作者简介

Larry L.Peterson, Bruce S.Davie:Larry L.Peterson: 是普林斯顿大学计算机科学系主任和教授,ACM会士。他于1985年在普度大学获得博士学位,研究主要集中在计算机网络的端到端问题。他曾担任ACM Transactions on Computer Systems的主编,以及IEEE/ACM Transactions on Networking 和IEEE Journal on Select Areas in Communication的编委,曾担任SOSP和HotNets等会议的程序主席。
Bruce S.Davie: Bruce Davie 博士毕业于英国爱丁堡大学,现任职于Cisco IOS技术部门,1998年被授予Cisco会士称号,IEEE高级会员。他主持设计了MPLS协议,并开发了其他重要的因特网技术。在加入Cisco之前,Davie博士曾担任贝尔通信研究公司的首席科学家。

译者简介

叶新铭 贾波 吴承勇 等译 史美林 校:叶新铭: 教授,全国优秀留学回国人员,内蒙古大学计算机学院院长,中国计算机学会理事,内蒙古计算机学会理事长。主要从事计算机网络,数据库,分布式系统等领域的研究。主持多项国家自然科学基金项目,国家863项目,国家科委八五攻关项目等,曾获公安部科技进步二等奖,乌兰夫奖金奖等。先后在国内外的核心学术刊物上发表了50多篇论文和译著。
贾波: 女,高级工程师,毕业于内蒙古大学计算机专业,现为内蒙古大学网络中心副主任,内蒙古教育与科研网专家组成员,从事计算机的教学和开发工作,承担计算机网络等课程的教学。
吴承勇: 副教授,硕士生导师,内蒙古大学计算机学院副院长,自治区信息产业专家小组成员,内蒙古教育和科研网专家组成员。1982年毕业于内蒙古大学电子系,1988年获国防大学硕士学位。长期从事计算机的教学科研工作,主讲计算机网络等课程。
史美林: 生于1938年,教授,博士生导师。清华大学计算机系计算机网络与协同工作CSCW研究实验室主任,清华大学——COMPAQ培训与开发中心主任,1962年清华大学自动控制系计算机专业毕业。 科研方向为:操作系统,计算机网络与协同工作(CSCW)。现授课程有研究生课程"计算机支持的协同工作","网络体系结构"。 从事多项科研项目,并多次获得各种奖项。

译者序

自20世纪90年代以来,计算机网络技术与应用在我国迅猛发展,网络技术已成为广大计算机用户应用的主流。网络从业人员越来越多,计算机网络方面的专业技术人员和在校学生,迫切需要一本面向用户、面向应用、理论联系实际,介绍新技术、新成果、新趋势,难易程度适中的网络书籍。
  为了使广大从事网络应用系统开发和应用的人员全面掌握网络的基本理论,尽快熟悉网络环境以及各种网络实用技术,我们将Larry L. Peterson 和Bruce S. Davie合著的这本《计算机网络》第2版介绍给广大读者,这是一本最新的计算机网络的优秀教材。
  本书并不单纯论述当今使用的网络协议,而是更侧重于介绍网络设计的基本原理。与通常网络教材不同的是,本书从系统化的观点来探讨计算机网络。它通过给出建造网络的基础构件,讲述这些基础构件如何架构一个完整的网络,以及网络为什么这样设计。
  全书基本上按传统的分层方法组织,但是并不严格采用分层方法,并引入了因特网丰富的实例,说明实际网络的设计。给出的程序代码不再基于某个特定的操作系统,而是被重新改编为适用于通用的环境,说明网络软件是如何实现的;借此让读者了解所有建造网络的基础构件是如何结合在一起的。本书注重新技术、新成果、新趋势的介绍,是一本实用性很强的教科书,特别适合于大专院校计算机、信息管理及相关专业的本科生和研究生、网络规划人员和网络技术人员使用。本书还可供各类专业人员自学使用。
  本书由内蒙古大学叶新铭教授主持翻译定稿,参加本书翻译的老师还有贾波(第7、8章)、吴承勇(第9章)、叶海薇(第3章)、李华(第2章2.1~2.5节)、周建涛(第4章)、李军(第5章)、安春燕(第1、6章)、王丽蕊(第2章2.6节至章末)。全书由清华大学史美林教授审校。
另外,对在本书翻译过程中给予很大支持和帮助的敖其尔、石立新、郭勇、何敏、阎塔娜和王红霞等同事表示感谢。
  由于时间紧迫,书中错误之处敬请读者指正。

译  者
2000年9月

图书目录

译者序

第1版序
前言
第1章  基础 1
问题:建造一个网络 1
1.1  需求 1
1.1.1  连通性 2
1.1.2  成本-效益高的资源共享 5
1.1.3  支持共同的服务 8
1.1.4  性能 13
1.2  网络体系结构 19
1.2.1  分层和协议 19
1.2.2  OSI体系结构 23
1.2.3  因特网体系结构 24
1.3  实现网络软件 26
1.3.1  应用程序编程接口(套接字) 27
1.3.2  应用实例 28
1.3.3  协议实现的问题 31
1.4  小结 36
开放的问题:普遍存在的网络 37
第2章  直连的网络 43
问题:物理上相连的主机 43
2.1  网络构件 44
2.1.1  结点 44
2.1.2  链路 45
2.2  编码(NRZ、NRZI、Manchester、4B/5B) 50
2.3  成帧 52
2.3.1  面向字符的协议(BISYNC、PPP、DDCMP) 53
2.3.2  面向比特的协议(HDLC) 54
2.3.3  基于时钟成帧(SONET) 56
2.4  差错检测 58
2.4.1  二维奇偶校验 59
2.4.2  因特网校验和算法 59
2.4.3  循环冗余校验 60
2.5  可靠传输 64
2.5.1  停止等待协议 65
2.5.2  滑动窗口协议 66
2.5.3  并发逻辑信道 74
2.6  以太网 (802.3) 74
2.6.1  物理特性 75
2.6.2  访问协议 77
2.6.3  以太网的经验 80
2.7  令牌环(802.5、FDDI) 80
2.7.1  物理特性 81
2.7.2  令牌环介质访问控制 82
2.7.3  令牌环维护 84
2.7.4  帧格式 85
2.7.5  FDDI 85
2.8  无线网络(802.11) 88
2.8.1  物理特性 88
2.8.2  避免冲突 89
2.8.3  分布式系统 90
2.8.4  帧格式 92
2.9  网络适配器 92
2.9.1  组件 92
2.9.2  主机的观点 93
2.9.3  设备驱动程序 96
2.9.4  内存瓶颈 98
2.10  小结 100
开放的问题:它应归入硬件吗? 100
第3章  分组交换 110
问题:并非所有网络都是直接相连的 110
3.1  交换和转发 111
3.1.1  数据报 112
3.1.2  虚电路交换 113
3.1.3  源路由选择 118
3.1.4  实现和性能 119
3.2  网桥和局域网交换机 121
3.2.1  学习型网桥 121
3.2.2  生成树算法 123
3.2.3  广播和多点播送 126
3.2.4  网桥的局限性 127
3.3  信元交换(ATM) 128
3.3.1  信元 129
3.3.2  分段和重组 132
3.3.3  虚通路 136
3.3.4  ATM的物理层 137
3.3.5  局域网中的ATM 137
3.4  交换硬件 140
3.4.1  设计目标 141
3.4.2  端口和网状结构 143
3.4.3  纵横制交换机 144
3.4.4  共享介质交换机 147
3.4.5  自选路由网状结构 148
3.5  小结 152
开放的问题:ATM的未来 152
第4章  网络互连 160
问题:有不只一个网络 160
4.1  简单的网络互连(IP) 161
4.1.1  什么是互连网络 161
4.1.2  服务模型 162
4.1.3  全局地址 171
4.1.4  IP中的数据报转发 173
4.1.5  地址转换(ARP) 175
4.1.6  主机配置(DHCP) 178
4.1.7  差错报告(ICMP) 181
4.1.8  虚拟网络和隧道 181
4.2  路由选择 183
4.2.1  用图表示的网络 184
4.2.2  距离向量(RIP) 185
4.2.3  链路状态(OSPF) 191
4.2.4  度量标准 198
4.2.5  移动主机的路由选择 200
4.3  全球因特网 203
4.3.1  子网 204
4.3.2  无类路由选择(CIDR) 208
4.3.3  域间路由选择(BGP) 209
4.3.4  路由选择区 214
4.3.5  IP版本6(IPv6) 216
4.4  多点播送 224
4.4.1  链路状态多点播送 224
4.4.2  距离向量多点播送 226
4.4.3  协议无关多点播送(PIM) 228
4.5  小结 231
开放的问题:IP、ATM和MPLS 231
第5章  端到端协议 242
问题:进程间的通信 242
5.1  简单解多路复用协议(UDP) 243
5.2  可靠的字节流(TCP) 245
5.2.1  端到端的问题 245
5.2.2  数据段格式 247
5.2.3  连接的建立与终止 249
5.2.4  滑动窗口再讨论 252
5.2.5  适应性重传 256
5.2.6  记录边界 258
5.2.7  TCP扩展 259
5.2.8  其他的设计选择 260
5.3  远程过程调用 261
5.3.1  大块传输(BLAST) 263
5.3.2  请求/应答(CHAN) 268
5.3.3  分发程序(SELECT) 274
5.3.4  把它们放在一起(SunRPC、DCE) 276
5.4  性能 281
5.4.1  试验方法 281
5.4.2  时延 282
5.4.3  吞吐量 283
5.5  小结 283
开放的问题:面向应用的协议 284
第6章  拥塞控制和资源分配 292
问题:分配资源 292
6.1  与资源分配有关的问题 293
6.1.1  网络模型 293
6.1.2  分类法 295
6.1.3  评价标准 297
6.2  排队规则 299
6.2.1  FIFO 299
6.2.2  公平排队法 301
6.3  TCP 拥塞控制 303
6.3.1  累次增加/成倍减少 304
6.3.2  慢启动 306
6.3.3  快速重传和快速恢复 308
6.4  拥塞避免机制 310
6.4.1  DECbit 310
6.4.2  随机及早检测(RED) 311
6.4.3  基于源的拥塞避免 315
6.5  服务质量 319
6.5.1  应用需求 320
6.5.2  综合服务(RSVP) 324
6.5.3  区分服务 330
6.5.4  ATM服务质量 333
6.6  小结 336
开放的问题:网络内外 336
第7章  端到端的数据 345
问题:我们用数据做什么? 345
7.1  表示格式化 346
7.1.1  分类方法 347
7.1.2  举例(XDR、ASN.1、NDR) 349
7.2  数据压缩 352
7.2.1  无损压缩算法 354
7.2.2  图像压缩(JPEG) 355
7.2.3  视频压缩(MPEG) 358
7.2.4  在网上传输MPEG 361
7.2.5  音频压缩(MP3) 364
7.3  小结 365
开放的问题:计算机网络满足用户电子设备的需求 366
第8章  网络安全 371
问题:数据安全 371
8.1  加密算法 371
8.1.1  要求 373
8.1.2  数据加密标准(DES) 374
8.1.3  RSA 377
8.1.4  第5类报文摘要(MD5) 380
8.1.5  实现与性能 381
8.2  安全机制 382
8.2.1  鉴别协议 382
8.2.2  消息完整性协议 384
8.2.3  公开密钥分发(X.509) 386
8.3  系统实例 388
8.3.1  增强型加密邮件(PEM) 388
8.3.2  极好保密性(PGP) 391
8.3.3  传输层安全(TLS、SSL、HTTPS) 393
8.3.4  IP安全(IPSEC) 395
8.4  防火墙 397
8.4.1  基于过滤器的防火墙 398
8.4.2  基于代理的防火墙 399
8.4.3  局限性 400
8.5  小结 401
开放的问题:拒绝服务攻击 401
第9章  应用 406
问题:应用需要它们自己的协议 406
9.1  域名服务(DNS) 406
9.1.1  域名的层次结构 408
9.1.2  名字服务器 408
9.1.3  名字解析 411
9.2  传统的应用 413
9.2.1  电子邮件(SMTP、MIME) 414
9.2.2  万维网(HTTP) 418
9.2.3  网络管理(SNMP) 422
9.3  多媒体应用 424
9.3.1  需求 425
9.3.2  实时传输协议(RTP) 426
9.3.3  会话控制和呼叫控制(H.323) 431
9.4  小结 432
开放的问题:网络编程 433
术语 439
参考文献 463
索引 481

教学资源推荐
作者: 王卫红 李晓明
作者: 黄文斌 刘君 熊建强
作者: [美]詹姆斯·F. 库罗斯(James F. Kurose)基思·W. 罗斯(Keith W. Ross) 著
作者: 熊建强 黄文斌 彭庆喜 主编
参考读物推荐