本書在前幾版的基礎(chǔ)上進(jìn)行了全面的修訂與更新,系統(tǒng)介紹了計算機(jī)網(wǎng)絡(luò)各方面的知識,全面翔實地講解網(wǎng)絡(luò)底層細(xì)節(jié),并增加了*的網(wǎng)絡(luò)應(yīng)用與技術(shù)。全書共分為五大部分,講解了網(wǎng)絡(luò)基礎(chǔ)知識與因特網(wǎng)應(yīng)用,數(shù)據(jù)傳輸技術(shù),分組交換及網(wǎng)絡(luò)技術(shù),網(wǎng)際互連協(xié)議,以及其他網(wǎng)絡(luò)概念與技術(shù);并提供了可深入閱讀的相關(guān)資料。本書內(nèi)容涵蓋廣泛,例題豐富,注重實踐,并提供了大量的練習(xí)題和豐富的網(wǎng)絡(luò)資源,兼顧到教師和學(xué)生的雙重需求。
前 言
《計算機(jī)網(wǎng)絡(luò)與因特網(wǎng)》的前一個版本意外地收到了很積極的評價,
我特別要感謝花時間給我個人寫信的那些讀者。令人驚奇的是讀者的面非常廣,
除了采用本書作為教材的學(xué)生外,
還有專業(yè)人士也寫信稱贊本書敘述透徹明了,
并講述了本書如何幫助他們通過了資質(zhì)考試。另外也收到了許多關(guān)于對本書的外文翻譯版的熱情評價。本書能夠在當(dāng)前網(wǎng)絡(luò)書籍供過于求的市場中獲得如此成功,
是件特別令人欣慰、
滿足的事情。本書的杰出所在,
在于內(nèi)容涵蓋廣泛,
組織結(jié)構(gòu)邏輯性強(qiáng),
概念解釋清晰透徹,
重點講述因特網(wǎng),
以及非常適合教師和學(xué)生的需要。
新版本中增加了什么
為回應(yīng)讀者的建議,
并鑒于目前網(wǎng)絡(luò)領(lǐng)域的發(fā)展和變化,
已經(jīng)全面完成了對本書新版本的重新修訂和更新,
減少或刪去了對較舊技術(shù)的闡述。顯著的變化包括:
● 貫穿每個章節(jié)的更新
●
為更好地解釋補(bǔ)充了一批插圖
●
所有章節(jié)中整合了IPv4和IPv6
●
改進(jìn)了MPLS覆蓋和隧道建立
●
新章節(jié): 軟件定義網(wǎng)絡(luò)SDN和OpenFlow
●
新章節(jié): 物聯(lián)網(wǎng)和ZigBee
采用的方法
網(wǎng)絡(luò)課程應(yīng)該采用自頂向下的方法還是自下而上的方法呢?在自下而上的方法中,
學(xué)生先學(xué)習(xí)底層單一線路上的比特傳輸,
然后學(xué)習(xí)相鄰高層協(xié)議如何利用較低層提供擴(kuò)展的功能。而在自頂向下的方法中,
從高層應(yīng)用開始學(xué)習(xí),
對較低層知識只需理解應(yīng)用是如何工作的,
然后才學(xué)習(xí)底層協(xié)議的工作細(xì)節(jié)。
本書組合了這兩種方法各自的優(yōu)點,
以討論網(wǎng)絡(luò)應(yīng)用以及因特網(wǎng)提供的通信規(guī)范開始,
在學(xué)習(xí)網(wǎng)絡(luò)設(shè)施的底層技術(shù)實現(xiàn)之前,
讓學(xué)生先理解因特網(wǎng)給應(yīng)用所提供的網(wǎng)絡(luò)設(shè)施。在討論了應(yīng)用之后介紹聯(lián)網(wǎng)知識,
以一種邏輯連貫的方法,
使讀者去理解在較低層技術(shù)基礎(chǔ)之上如何構(gòu)筑每一種新技術(shù)。
目標(biāo)讀者
本書回答了一個基本的問題:
計算機(jī)網(wǎng)絡(luò)和互聯(lián)網(wǎng)是如何工作的?通過闡述底層細(xì)節(jié)(如數(shù)據(jù)傳輸和布線)、
網(wǎng)絡(luò)技術(shù)(如局域網(wǎng)和廣域網(wǎng))、
網(wǎng)絡(luò)互聯(lián)協(xié)議和應(yīng)用軟件等全面的聯(lián)網(wǎng)知識,
奉獻(xiàn)給讀者以綜合性的、
獨特的知識大觀,
還闡明了協(xié)議如何利用底層硬件,
以及應(yīng)用程序如何使用協(xié)議棧為用戶提供各種應(yīng)用服務(wù)功能。
本書的讀者對象是高年級本科生和低年級研究生,
他們或許只有少許或沒有聯(lián)網(wǎng)方面的背景知識。本書既沒有使用復(fù)雜的數(shù)學(xué)知識,
也沒有介紹太多的操作系統(tǒng)知識,
而旨在清晰地闡述概念,
采用實例和大量示意圖,
說明網(wǎng)絡(luò)技術(shù)工作原理并分析結(jié)論,
但不提供數(shù)學(xué)證明。
內(nèi)容的組織
本書分為五大部分,
第一部分(第1章至第4章)集中介紹因特網(wǎng)的應(yīng)用和網(wǎng)絡(luò)應(yīng)用的開發(fā),
闡述協(xié)議分層、 客戶服務(wù)器交互模式、 套接字API, 并列舉了因特網(wǎng)中應(yīng)用層協(xié)議的例子。
第二部分(第5章至第12章)闡述數(shù)據(jù)通信技術(shù),
給出貫穿網(wǎng)絡(luò)的底層硬件背景知識、
基本術(shù)語和基礎(chǔ)概念(如帶寬、
調(diào)制和復(fù)用)。這部分的最后一章介紹因特網(wǎng)中使用的接入和互連技術(shù),
并闡述如何利用前面章節(jié)所述的概念來解釋每一種技術(shù)。
第三部分(第13章至第19章)重點講述分組交換和分組交換網(wǎng)技術(shù)。這部分先解釋采用分組傳輸數(shù)據(jù)的動機(jī)和起因,
介紹IEEE模型的第2層協(xié)議,
然后再考慮有線和無線聯(lián)網(wǎng)技術(shù),
如以太網(wǎng)和WiFi。第三部分還介紹了網(wǎng)絡(luò)的4個基本分類:
局域網(wǎng)LAN、
城域網(wǎng)MAN、
個人域網(wǎng)PAN和廣域網(wǎng)WAN,
并討論廣域網(wǎng)的路由技術(shù)。這部分的最后一章介紹已在因特網(wǎng)中采用的網(wǎng)絡(luò)技術(shù)示例。
第四部分(第20章至第26章)重點討論因特網(wǎng)協(xié)議。在討論了網(wǎng)絡(luò)互聯(lián)的動機(jī)和起因之后,
本部分描述因特網(wǎng)結(jié)構(gòu)、
路由器、 因特網(wǎng)編址、 地址綁定和TCP/IP協(xié)議組, 對協(xié)議IPv4、 IPv6、 TCP、 UDP、 ICMP、 ICMPv6和ARP, 進(jìn)行了詳細(xì)的講解, 使學(xué)生更深入地理解這些概念是如何聯(lián)系實際的。由于IPv6已經(jīng)(最終)開始部署,
所以IPv6的內(nèi)容加入到了這些章節(jié)中。這部分章節(jié)都介紹一般概念,
并闡釋它在IPv4和IPv6中是如何實現(xiàn)的。第25章TCP涉及了一個重要課題:
傳輸協(xié)議中的可靠性。
本書的最后一部分(第27章至第33章)內(nèi)容涉及協(xié)議棧中多層次交叉的一些課題,
包括: 網(wǎng)絡(luò)性能、 網(wǎng)絡(luò)安全、 網(wǎng)絡(luò)管理、 網(wǎng)絡(luò)軟件自舉、 多媒體支持和物聯(lián)網(wǎng)等。第31章介紹了聯(lián)網(wǎng)中最讓人激動的新發(fā)展: 軟件定義網(wǎng)絡(luò)。這些課題也都是從前面的各個部分內(nèi)容中抽取出來的,
將它們安排到本書的最后部分,
在使用前再對其概念進(jìn)行定義,
并不表示這些課題不重要。
課程的使用
本書理論上適合作為網(wǎng)絡(luò)導(dǎo)論性的課程教材,
可供初級或高年級學(xué)生的一學(xué)期教學(xué)使用。本書按綜合性課程來設(shè)計,
涵蓋了從布線到應(yīng)用的全部知識點。盡管很多教師選擇跳過數(shù)據(jù)通信的內(nèi)容,
但我支持選擇一些核心概念和術(shù)語來講,
這對后面章節(jié)的教學(xué)尤為重要。不管課程是怎樣組織的,
我鼓勵教師給學(xué)生布置一些實際動手的作業(yè)。
例如, 在美國普度大學(xué)的本科課程中, 學(xué)生每周都有覆蓋廣泛內(nèi)容的實驗室作業(yè): 網(wǎng)絡(luò)測量、 分組分析以及網(wǎng)絡(luò)編程等。完成了課程之后, 期望每個學(xué)生能夠達(dá)到以下程度: 知道IP路由器如何利用路由表轉(zhuǎn)發(fā)IP數(shù)據(jù)報; 能描述數(shù)據(jù)報如何通過因特網(wǎng)傳輸; 能解釋以太網(wǎng)集線器與以太網(wǎng)交換機(jī)的區(qū)別; 知道TCP如何標(biāo)識連接以及為什么一個并發(fā)Web服務(wù)器能在80號端口處理多個連接;
能識別和解釋以太網(wǎng)幀中的各字段含義;
能計算以光速在導(dǎo)線上傳輸?shù)膯蝹比特的長度;
能解釋為什么TCP被歸類為端到端協(xié)議;
知道為什么機(jī)器對機(jī)器的通信對于物聯(lián)網(wǎng)非常重要;
理解SDN的動機(jī)。
一門課程的主要目標(biāo)是廣度而不是深度要涵蓋所有主題,
不能只集中在幾種技術(shù)或幾個概念上,
因此, 授課成功的關(guān)鍵取決于能否快速地講好課。為了能使學(xué)生在一個學(xué)期內(nèi)學(xué)到基本內(nèi)容,
可以把第二部分較低層次的內(nèi)容進(jìn)行壓縮;
把有關(guān)網(wǎng)絡(luò)和網(wǎng)絡(luò)互聯(lián)的部分各安排4周學(xué)習(xí);
余下2周留給應(yīng)用和一些如網(wǎng)絡(luò)管理與安全等介紹性內(nèi)容。至于套接字編程的細(xì)節(jié)問題,
可作為編程練習(xí)留在實驗室或者作業(yè)中。
教師應(yīng)該給學(xué)生強(qiáng)調(diào)概念和原理的重要性:
有些技術(shù)可能在幾年后就會過時,
但原理卻是永恒的。另外,
教師也應(yīng)該激發(fā)學(xué)生投身網(wǎng)絡(luò)技術(shù)的熱情,
由于網(wǎng)絡(luò)一直在變化,
因此更希望能保持這種熱情,
如軟件定義網(wǎng)絡(luò)的新時代已出現(xiàn)。
雖然本書中沒有哪個知識點是高難度的,
但學(xué)生們?nèi)钥砂l(fā)現(xiàn)本書所含內(nèi)容的數(shù)量還是有點讓人望而生畏的。特別是學(xué)生們要面對過量的新術(shù)語,
網(wǎng)絡(luò)縮略語和行業(yè)術(shù)語也特別容易混淆,
學(xué)生必須花費大量時間養(yǎng)成使用正確術(shù)語的習(xí)慣。在普度大學(xué)的課程教學(xué)中,
鼓勵學(xué)生記住一個術(shù)語列表(我們發(fā)現(xiàn)一個學(xué)期課程中每周的詞匯測驗有助于學(xué)生對術(shù)語的學(xué)習(xí),
而不是等到考試)。
因為程序設(shè)計和實驗是幫助學(xué)生掌握網(wǎng)絡(luò)知識的重要環(huán)節(jié),
所以實踐環(huán)節(jié)是任何網(wǎng)絡(luò)課程的重要組成部分
獨立實驗室手冊(聯(lián)網(wǎng)實踐)很有幫助,
它描述了在各種硬件環(huán)境中(一臺計算機(jī)或LAN中的一組計算機(jī))運(yùn)行的實驗和作業(yè)。。普度大學(xué)的課程比較強(qiáng)調(diào)分組分析和套接字編程。在學(xué)期的開始,
先讓學(xué)生構(gòu)建客戶軟件去訪問Web并提取數(shù)據(jù)(如編寫一個程序訪問一個網(wǎng)站,
然后打印出當(dāng)前的溫度)。作為起步,
附錄A非常有幫助:
這個附錄闡述了一個簡化的API,
可用在Web網(wǎng)站上,
允許學(xué)生在學(xué)習(xí)協(xié)議、
地址和(乏味的)套接字API之前就能編寫可執(zhí)行的代碼。當(dāng)然,
到了學(xué)期的后期,
學(xué)生就學(xué)會了套接字編程。最后,
他們還要編寫一個并發(fā)Web服務(wù)器程序,
支持服務(wù)器端可選腳本,
大多數(shù)學(xué)生能夠完成。除了應(yīng)用編程外,
還可以利用實驗室設(shè)施從正在運(yùn)行的網(wǎng)絡(luò)上捕獲數(shù)據(jù)分組,
并編寫程序?qū)Ψ纸M(如以太網(wǎng)幀、 IP數(shù)據(jù)報、 TCP段)的頭部進(jìn)行解碼,
并觀察TCP連接的情況。假如不具備先進(jìn)的實驗室設(shè)施,
可以讓學(xué)生使用開源的包分析軟件(如Wireshark)來做實驗。
除了附錄簡化的API代碼外,
本書的網(wǎng)站包含了給學(xué)生和教師的額外資料: http://www.netbook.cs.purdue.edu我要感謝所有為第六版書做出貢獻(xiàn)的人們。許多普度大學(xué)的研究生提出了建議和批評。Baijian(Justin) Yang 和Bo Sang 分別建議添加了許多文字和插圖,
讓學(xué)生更加容易理解內(nèi)容。Cisco公司的Fred Baker, Ralph Droms和Dave Oran提供了早期的版本。Lami Kaya提出了如何組織數(shù)據(jù)通信章節(jié),
以及其他極有價值的建議。我還要特別感謝我的妻子和合作者Christine,
她細(xì)心的編輯和有益的建議使全書增色不少。
Douglas E. Comer
對本書的熱情評價
本書是我讀過的最好的書之一。謝謝。
Gokhan Mutlu
土耳其Ege大學(xué)
拿到本書后我?guī)缀跏鞘植会尵淼刈x完的。這本書真是太出色了!
Lalit Y.Raju
印度Regional Engineering College
對初學(xué)者和專業(yè)人士來說,
本書都是一本極好的書寫得好,
綜合面寬, 易于理解。
John Lin
貝爾實驗室
本書涵蓋的內(nèi)容真是廣闊驚人。
George Varghese
美國加州大學(xué)圣迭戈分校
真的是我看見過的同類書中最好的。萬分感謝!
Chez Ciechanowicz
英國倫敦大學(xué)信息安全組
附錄A的小型Web服務(wù)器太絕妙了讀者都會激動不已。
Dennis Brylow
美國馬凱特大學(xué)
哇!真是一本極好的教科書啊!
Jaffet A.Cordoba
技術(shù)作家
這本書太棒了!
Peter Parry
英國南伯明翰學(xué)院
一流的覆蓋廣度,
簡練化的闡述是它的標(biāo)志。為進(jìn)一步學(xué)習(xí)打下廣泛和堅實基礎(chǔ)的理想選擇,
是初學(xué)者和網(wǎng)絡(luò)領(lǐng)域工作者的必讀書籍,
這本書也是我們培訓(xùn)方案的重要組成部分。
Vishwanathan Thyagu
印度
班加羅爾, TETCOS公司
哇
Douglas E. Comer博士是TCP/IP協(xié)議和因特網(wǎng)的國際公認(rèn)專家。自20世紀(jì)70年代末、80年代初形成因特網(wǎng)以來,他就一直致力于因特網(wǎng)的研究工作,他也是負(fù)責(zé)指導(dǎo)因特網(wǎng)開發(fā)的因特網(wǎng)結(jié)構(gòu)委員會(IAB)的成員,還是CSNET技術(shù)委員會的主席和CSNET執(zhí)行委員會的成員。 Comer博士是普度大學(xué)計算機(jī)科學(xué)系的教授,他主要教授計算機(jī)網(wǎng)絡(luò)、因特網(wǎng)和操作系統(tǒng)的課程,并進(jìn)行相關(guān)的研究。除了撰寫一系列暢銷的技術(shù)書籍之外,他還是Software-Practice and Experience雜志的北美地區(qū)編輯。