內容提要《計算機網絡)第3版,是國外使用最廣泛的計算機網絡教材。本書按照網絡模型,分層次地系統(tǒng)介紹了計算機網絡的基本概念,包括物理層、數據鏈路層、介質訪問子層、網絡層、傳輸層及應用層。本書在介紹網絡各層基本原理實現方法時,結合進了近年來迅速發(fā)展的網絡技術,如因特網、A′TM、ISDN、移動通信、衛(wèi)星通信等。本書的適用對象很廣泛。對于學習計算機網絡課程的專科生、本科生及研究生,本書可作為教材或教學參考書。對于從事網絡研究、網絡工程、技術服務及使用網絡的科研和工程技術人員、用戶,本書也是一本很好的基礎性參考讀物。片斷:而在網絡中,用戶必須明確地指定在哪一臺機器上登錄;明確地遠程遞交任務;明確指定文件傳輸的源和目的地,并且要管理整個網絡。在分布式系統(tǒng)中,不需要明確地指定這些內容,系統(tǒng)會自動地完成而無需用戶的干預。從效果上講,分布式系統(tǒng)是建立于網絡之上的軟件系統(tǒng)。它具有高度的整體性和透明性。因此,網絡和分布式系統(tǒng)的區(qū)別更多地取決于軟件(尤其是操作系統(tǒng))而不是硬件。但是,這兩個主題之間也有許多共同之處。例如,分布式系統(tǒng)和網絡都需要文件的傳送。區(qū)別在于是誰來發(fā)起傳送,是系統(tǒng)還是用戶?雖然本書的主題是計算機網絡,但其中討論的許多問題對分布式系統(tǒng)也很重要。如果用戶希望了解分布式系統(tǒng),請參閱(Cou-Louris等,1994;Mullender,1993及Tanenbaum,1995)。計算機網絡的應用在開始仔細地分析技術問題之前,值得一提的是為什么人們對計算機網絡感興趣,以及計算機網絡有什么用途。1.1.1用于企業(yè)的網絡許多機構都有一定數量的計算機在運行,這些機器大都相距甚遠。例如,一家有許多工廠的公司,可能在每個工廠所在地都裝配有計算機,用于記錄庫存,監(jiān)視生產狀況和管理當地的工資發(fā)放。最初,每臺計算機都獨立地工作,但后來管理部門可能決定把這些獨立的計算機連接起來,以獲取和核對整個公司的信息。稍加概括,這里的核心問題是資源共享(resourcesharing)。其目的是讓網絡上的用戶,無論他處于什么地方,也無論資源的物理位置在哪里,都能使用網絡中的程序、設備,尤其是數據。也就是說,用戶使用千里之外的數據就像使用本地數據一樣。可以這樣歸納網絡的目的:它試圖解除“地理位置的束縛”。第二個目的是依靠可替代的資源來提供高可靠性(highreliability)。例如,所有的文件可以在兩臺或三臺計算機上留有副本,如果其中之一不能使用(由于硬件故障),還可以使用其他的副本。另外,多處理機的出現,意味著如果其中一臺機器出了故障,其余的處理機仍然可以分擔它的任務,盡管性能可能有所下降。例如,軍事、銀行、航空、交通管制、核反應堆安全設備和其他許多的應用中,出現硬件故障后仍能繼續(xù)運行的能力是極其重要的。另一個目的是節(jié)約經費(savingmoney)。小型計算機比大型計算機有更高的性能價格比。主機(房間大小的計算機)比個人計算機大概快十倍,但價格卻在千倍以上。這種不平衡使得許多系統(tǒng)設計者用多臺功能強大的個人計算機來組建系統(tǒng),每個用戶使用一臺個人計算機,數據則存放在一臺或多臺共享的文件服務器(fileserver)里。在這一模式中,用戶被稱作客戶(client),而整個結構被稱作客戶-服務器模型(client-servermodel),如圖1-1所示。在客戶-服務器模型中,通信的方式通常是客戶向服務器發(fā)送請求信息,指示需要完成的工作。服務器完成工作后送回應答。一般情況下,是多個客戶使用少量服務器。網絡的另一個目的是可擴充性,即當工作負荷加大時,只要增加更多的處理器,就能逐步改善系統(tǒng)的性能。而采用中心主機的方式,當系統(tǒng)能力達到極限時,就必須用更強大的主機來代替它。這樣做一般開銷都較大,而對用戶的影響就更大了。在客戶-服務器模型中,新的客戶和服務器可以按需要隨時加入。建立網絡的另一個目的與技術沒有太大的關系。計算機網絡可以為分布在各地的雇員提供強大的通信手段(communicationmedium)。通過網絡,兩個或多個生活在不同地方的人可以一起寫報告。當某人修改了聯(lián)機文檔的某處時,其他人員可以立即看到這一變更,而不必花幾天的時間等待信件。這種速度上的提高使得廣泛分布的人與人之間的合作很容易進行,而在以前是不可能的。從長遠的觀點來看,利用網絡來增強人際溝通可能比它的技術目的(如增加可靠性)更重要。1.1.2服務于公眾的網絡上面給出的建設網絡的動機,從本質上來講都是為了經濟和技術。如果可以用可接受的價格購買到足夠大的和功能強的主機,大多數公司都會選擇把他們的所有數據都放到主機上去,讓他們的雇員通過終端連接到主機。在70年代和80年代早期,大多數公司都以這種方式運作。當個人計算機網絡提供了比主機高得多的性能價格比時,計算機網絡才開始流行。從90年代開始,計算機網絡開始為居家的個人用戶提供服務。這些服務和提供這些服務的動機與前面一節(jié)介紹的“企業(yè)效率”模型大不相同。下面簡要地介紹方興未艾的最激動人心的3種服務:1.訪問遠程信息。2.個人間通信。3.交互式娛樂。本書前言前言這本書是它的第3版,每一版都對應著計算網絡的不同發(fā)展階段。本書于1980年初次面世時,網絡還處于學術探討階段。本書第2版于1988年出版時,網絡已在各大學和大公司里得到了應用。本書第3版于1996年出版時,計算機網絡,尤其是世界范圍內的因特網(Intemet),已成為千百萬人日常生活中的組成部分。不僅如此,從本書第2版出版后,聯(lián)網硬件和軟件已發(fā)生了翻天覆地的變化。在1988年,幾乎所有的網絡都是用銅線電纜連接的,而在今天,許多網絡已用光纖或無線通信來實現。一些專用的網絡,如SNA,其地位已變得遠沒有公用網絡重要,尤其是因特網。OSI的各層協(xié)議結構正在迅速消失,而TCP/IP協(xié)議組已得到大家的認可。事實上,由于有了如此多的變化,本書幾乎是從總體上重寫了一遍。盡管本書的第1章與第2版時一樣,也起的是介紹作用,但其中的內容已徹底更新,以反映最新的技術成果。例如,我們在第1章里未采用第2版里所基于的七層OSI模型,而采用的是五層混合模型(讀者可參看圖1-21)。雖然這種模型不完全等同于TCP/IP模型,但與在第2版里所介紹的OSI模型相比,它的主要內容更接近于TCP/IP模型。而且,我們以新的運行例子——因特網和ATM貫穿于全書,也介紹了一些吉比特網絡(gigabitNetworks)和其他流行網絡。在第2章,我們已將重點從銅線電纜轉移到了光纖和無線通信,因為這些是未來的技術。在過去十年內,電話系統(tǒng)已變成幾乎是全部數字式的,因此,關于它的介紹材料已大量重寫,并補充了寬帶ISDN的材料。有關蜂窩無線通信的內容已進行了大量擴展,并在本章中補充了新的低軌衛(wèi)星的知識。有關數據鏈路層和MAC子層討論的順序倒了一下,因為我通過教學實踐發(fā)現,學生在學習了數據鏈路層后,才能更好地理解MAC子層,所以本書第3章介紹數據鏈路層。以前的協(xié)議例子仍保留下來了,它們已被證明變得很流行,但現在我用C語言重寫了。此外,我們補充了新的有關因特網和A′TM數據鏈路層的材料。第4章中的MAC子層原理的內容已做了更新,以反映新的協(xié)議,包括波長劃分多路復用、無線局域網及數字無線傳輸技術。有關網橋的內容已更新,補充進了高速局域網的材料。第5章中的大多數路由算法已由更現代化的例子所代替,包括距離向量和鏈接狀態(tài)路由。有關擁塞控制的一節(jié)已徹底重寫。有關因特網及ATM的實際運行例子全部是新加上的。第6章仍討論傳輸層,但在這一章里也改寫了主要內容。其中最主要的是加入了大量的有關因特網,ATM及網絡性能的新知識。第7章討論的應用層已變成了本書最長的一章。有關網絡安全的內容,其份量加大了一倍;增加了各種新的知識,如DNS,SNMP,電子函件,USENET,萬維網,HTML,Java,多媒體,視頻點播及MBone等。第3版中共有395幅插圖,其中276幅(占70%)全部是新的,其他的圖也已進行了更新。本書所列的370種參考文獻中,有281種(占76%)是自本書第2版出版以來新出現的著作和論文。在這些文獻中,100種以上是1995年和1996年發(fā)表和出版的??偟恼f來,本書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章中協(xié)議例子的模擬程序(用C語言編寫的)。習題解答可從PrenticeHall出版社得到(但僅限于教師)。插圖文件及模擬程序可通過萬維網得到。為了找到上述內容,請訪問作者的主頁:http://www.cs.vu.nl/~ast/。本書原稿(英文版)是用Troff以TimesRoman字體排版的,在經過了這么多年后,仍采用了這種方式。雖然Troff不符合“所見即所得”系統(tǒng)的潮流,但讀者不妨將此書的質量與由“所見即所得”系統(tǒng)出的書的質量作一比較。我對PC及臺式系統(tǒng)的唯一讓步就是,我第一次使用了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為我所提出的許多有益建議。我的眾多學生也以多種方式給過我?guī)椭?,我要特別列出MartijnBot,WilbertdeGraaf,FlaviodelPomo及ArnolddeWit提供的幫助。PrenticeHall出版社的MaryFranz是我的編輯,在過去10年里為我提供了大量的參考材料。她還以其他各種方式幫助過我,事無巨細,不厭其煩。我的責任編輯CamilleTrentacoste在本書的整個出版過程中,將流程安排得緊鑼密鼓而又有條不紊,本書得以順利出版,他的功勞很大。最后,我還要對幾位最重要的人士表示感謝:Suzanne,Barbara,Marvin,還有小Bram都曾自始至終地幫助過我。我衷心地感謝他們所做的這些工作。AndrewS.Tanenbaum