内容提要《计算机网络)第3版,是国外使用最广泛的计算机网络教材。本书按照网络模型,分层次地系统介绍了计算机网络的基本概念,包括物理层、数据链路层、介质访问子层、网络层、传输层及应用层。本书在介绍网络各层基本原理实现方法时,结合进了近年来迅速发展的网络技术,如因特网、A′TM、ISDN、移动通信、卫星通信等。本书的适用对象很广泛。对于学习计算机网络课程的专科生、本科生及研究生,本书可作为教材或教学参考书。对于从事网络研究、网络工程、技术服务及使用网络的科研和工程技术人员、用户,本书也是一本很好的基础性参考读物。片断:而在网络中,用户必须明确地指定在哪一台机器上登录;明确地远程递交任务;明确指定文件传输的源和目的地,并且要管理整个网络。在分布式系统中,不需要明确地指定这些内容,系统会自动地完成而无需用户的干预。从效果上讲,分布式系统是建立于网络之上的软件系统。它具有高度的整体性和透明性。因此,网络和分布式系统的区别更多地取决于软件(尤其是操作系统)而不是硬件。但是,这两个主题之间也有许多共同之处。例如,分布式系统和网络都需要文件的传送。区别在于是谁来发起传送,是系统还是用户?虽然本书的主题是计算机网络,但其中讨论的许多问题对分布式系统也很重要。如果用户希望了解分布式系统,请参阅(Cou-Louris等,1994;Mullender,1993及Tanenbaum,1995)。计算机网络的应用在开始仔细地分析技术问题之前,值得一提的是为什么人们对计算机网络感兴趣,以及计算机网络有什么用途。1.1.1用于企业的网络许多机构都有一定数量的计算机在运行,这些机器大都相距甚远。例如,一家有许多工厂的公司,可能在每个工厂所在地都装配有计算机,用于记录库存,监视生产状况和管理当地的工资发放。最初,每台计算机都独立地工作,但后来管理部门可能决定把这些独立的计算机连接起来,以获取和核对整个公司的信息。稍加概括,这里的核心问题是资源共享(resourcesharing)。其目的是让网络上的用户,无论他处于什么地方,也无论资源的物理位置在哪里,都能使用网络中的程序、设备,尤其是数据。也就是说,用户使用千里之外的数据就像使用本地数据一样。可以这样归纳网络的目的:它试图解除“地理位置的束缚”。第二个目的是依靠可替代的资源来提供高可靠性(highreliability)。例如,所有的文件可以在两台或三台计算机上留有副本,如果其中之一不能使用(由于硬件故障),还可以使用其他的副本。另外,多处理机的出现,意味着如果其中一台机器出了故障,其余的处理机仍然可以分担它的任务,尽管性能可能有所下降。例如,军事、银行、航空、交通管制、核反应堆安全设备和其他许多的应用中,出现硬件故障后仍能继续运行的能力是极其重要的。另一个目的是节约经费(savingmoney)。小型计算机比大型计算机有更高的性能价格比。主机(房间大小的计算机)比个人计算机大概快十倍,但价格却在千倍以上。这种不平衡使得许多系统设计者用多台功能强大的个人计算机来组建系统,每个用户使用一台个人计算机,数据则存放在一台或多台共享的文件服务器(fileserver)里。在这一模式中,用户被称作客户(client),而整个结构被称作客户-服务器模型(client-servermodel),如图1-1所示。在客户-服务器模型中,通信的方式通常是客户向服务器发送请求信息,指示需要完成的工作。服务器完成工作后送回应答。一般情况下,是多个客户使用少量服务器。网络的另一个目的是可扩充性,即当工作负荷加大时,只要增加更多的处理器,就能逐步改善系统的性能。而采用中心主机的方式,当系统能力达到极限时,就必须用更强大的主机来代替它。这样做一般开销都较大,而对用户的影响就更大了。在客户-服务器模型中,新的客户和服务器可以按需要随时加入。建立网络的另一个目的与技术没有太大的关系。计算机网络可以为分布在各地的雇员提供强大的通信手段(communicationmedium)。通过网络,两个或多个生活在不同地方的人可以一起写报告。当某人修改了联机文档的某处时,其他人员可以立即看到这一变更,而不必花几天的时间等待信件。这种速度上的提高使得广泛分布的人与人之间的合作很容易进行,而在以前是不可能的。从长远的观点来看,利用网络来增强人际沟通可能比它的技术目的(如增加可靠性)更重要。1.1.2服务于公众的网络上面给出的建设网络的动机,从本质上来讲都是为了经济和技术。如果可以用可接受的价格购买到足够大的和功能强的主机,大多数公司都会选择把他们的所有数据都放到主机上去,让他们的雇员通过终端连接到主机。在70年代和80年代早期,大多数公司都以这种方式运作。当个人计算机网络提供了比主机高得多的性能价格比时,计算机网络才开始流行。从90年代开始,计算机网络开始为居家的个人用户提供服务。这些服务和提供这些服务的动机与前面一节介绍的“企业效率”模型大不相同。下面简要地介绍方兴未艾的最激动人心的3种服务:1.访问远程信息。2.个人间通信。3.交互式娱乐。本书前言前言这本书是它的第3版,每一版都对应着计算网络的不同发展阶段。本书于1980年初次面世时,网络还处于学术探讨阶段。本书第2版于1988年出版时,网络已在各大学和大公司里得到了应用。本书第3版于1996年出版时,计算机网络,尤其是世界范围内的因特网(Intemet),已成为千百万人日常生活中的组成部分。不仅如此,从本书第2版出版后,联网硬件和软件已发生了翻天覆地的变化。在1988年,几乎所有的网络都是用铜线电缆连接的,而在今天,许多网络已用光纤或无线通信来实现。一些专用的网络,如SNA,其地位已变得远没有公用网络重要,尤其是因特网。OSI的各层协议结构正在迅速消失,而TCP/IP协议组已得到大家的认可。事实上,由于有了如此多的变化,本书几乎是从总体上重写了一遍。尽管本书的第1章与第2版时一样,也起的是介绍作用,但其中的内容已彻底更新,以反映最新的技术成果。例如,我们在第1章里未采用第2版里所基于的七层OSI模型,而采用的是五层混合模型(读者可参看图1-21)。虽然这种模型不完全等同于TCP/IP模型,但与在第2版里所介绍的OSI模型相比,它的主要内容更接近于TCP/IP模型。而且,我们以新的运行例子——因特网和ATM贯穿于全书,也介绍了一些吉比特网络(gigabitNetworks)和其他流行网络。在第2章,我们已将重点从铜线电缆转移到了光纤和无线通信,因为这些是未来的技术。在过去十年内,电话系统已变成几乎是全部数字式的,因此,关于它的介绍材料已大量重写,并补充了宽带ISDN的材料。有关蜂窝无线通信的内容已进行了大量扩展,并在本章中补充了新的低轨卫星的知识。有关数据链路层和MAC子层讨论的顺序倒了一下,因为我通过教学实践发现,学生在学习了数据链路层后,才能更好地理解MAC子层,所以本书第3章介绍数据链路层。以前的协议例子仍保留下来了,它们已被证明变得很流行,但现在我用C语言重写了。此外,我们补充了新的有关因特网和A′TM数据链路层的材料。第4章中的MAC子层原理的内容已做了更新,以反映新的协议,包括波长划分多路复用、无线局域网及数字无线传输技术。有关网桥的内容已更新,补充进了高速局域网的材料。第5章中的大多数路由算法已由更现代化的例子所代替,包括距离向量和链接状态路由。有关拥塞控制的一节已彻底重写。有关因特网及ATM的实际运行例子全部是新加上的。第6章仍讨论传输层,但在这一章里也改写了主要内容。其中最主要的是加入了大量的有关因特网,ATM及网络性能的新知识。第7章讨论的应用层已变成了本书最长的一章。有关网络安全的内容,其份量加大了一倍;增加了各种新的知识,如DNS,SNMP,电子函件,USENET,万维网,HTML,Java,多媒体,视频点播及MBone等。第3版中共有395幅插图,其中276幅(占70%)全部是新的,其他的图也已进行了更新。本书所列的370种参考文献中,有281种(占76%)是自本书第2版出版以来新出现的著作和论文。在这些文献中,100种以上是1995年和1996年发表和出版的。总的说来,本书75%的内容是新的,剩余25%的内容也已做了大量更新。因此,本书基本上是一本新书,其封面也重新设计了,以免与第2版混淆。计算机著作中充满了各种缩写词,本书也不例外。这里列出一些先让读者了解一下:AAL,AMPS,ARP,ASN,A′TM,BGP,CDMA,CDPD,CSMA,DQDB,DNS,FAQ,FDM,FTP,FTTC,FTTH,GSM,HDLC,HEC,HIPPI,IAB,ICMP,IDEA,IE′TF,IPv6,ISO,ITU,LATA,MAC,MACA,MAN,MIB,MIME,NAP,NNTP,NSA,NSAP,OSI,OSPF,PCM,PCN,PCS,PEM,PGP,PPP,PSTN,PTT,PVC,QAM,RARP,RFC,RSA,SABME,SAP,SAR,SDH,SDLC,SHA,SMI,SNA,SNMP,SNRME,SPX,TCP,UDP,VHF,VLF,VSAT,WARC,WDM,WWV及WWW。不要担心,每个缩写词在使用时都会仔细定义。为了帮助教师使用本教材,作者准备了3种辅助教学材料:习题解答。含有所有插图的PostScript文件(可用于制作教学幻灯片)。第3章中协议例子的模拟程序(用C语言编写的)。习题解答可从PrenticeHall出版社得到(但仅限于教师)。插图文件及模拟程序可通过万维网得到。为了找到上述内容,请访问作者的主页:http://www.cs.vu.nl/~ast/。本书原稿(英文版)是用Troff以TimesRoman字体排版的,在经过了这么多年后,仍采用了这种方式。虽然Troff不符合“所见即所得”系统的潮流,但读者不妨将此书的质量与由“所见即所得”系统出的书的质量作一比较。我对PC及台式系统的唯一让步就是,我第一次使用了AdobeIllustrator来作图,而不是将图画到纸上。而且,本书也是第一次完整地以电子方式出版的。来自Troff的PostScript的输出,可通过因特网送至打印机上,然后就可以直接印出胶片。不需要像通常那样,必须生成中间的纸质拷贝或照相处理。在本教材的第3版编写期间,许多人曾帮助过我。我要特别感谢ChaseBailey,SaniyaBenHassen,NathanielBorenstein,RonCocchi,DaveCrocker,WiebrendeJonge,CarlEllison,M.RasitEskicioglu,JohnEvans,MarioGerla,MikeGoguen,PaulGreen,DickGrune,WayneHath-away,FranaHauck,JackHoltzman,GerardHolzmann,PhilipHomburg,PeterHoneyman,RajJain,DaveJohnson,CharlieKaufman,VinayKumar,JorgLiebeheer,PaulMockapetris,CarolOrange,CraigPartridge,CharliePerkins,ThomasPowell,GregSharp,AnneSteegstra,GeorgeSwallow,MarkTay—lor,PetervanderLinden,HansvanStaveren,MaartenvanSteen,KeesVerstoep,StephenWalters,MichaelWeintraub,JosephWilkes及StephenWoiff。我还要特别感谢RadiaPerlman为我所提出的许多有益建议。我的众多学生也以多种方式给过我帮助,我要特别列出MartijnBot,WilbertdeGraaf,FlaviodelPomo及ArnolddeWit提供的帮助。PrenticeHall出版社的MaryFranz是我的编辑,在过去10年里为我提供了大量的参考材料。她还以其他各种方式帮助过我,事无巨细,不厌其烦。我的责任编辑CamilleTrentacoste在本书的整个出版过程中,将流程安排得紧锣密鼓而又有条不紊,本书得以顺利出版,他的功劳很大。最后,我还要对几位最重要的人士表示感谢:Suzanne,Barbara,Marvin,还有小Bram都曾自始至终地帮助过我。我衷心地感谢他们所做的这些工作。AndrewS.Tanenbaum