01 / 導讀
導讀
引用
Tanenbaum, A. S., Feamster, N., & Wetherall, D. J. (2020). Computer Networks (6th ed.). Pearson.
章節概要
全書共八章,沿協定堆疊自下而上展開,末尾是閱讀建議和參考文獻。出版社把這種寫法概括為「由內而外」講解網路如何工作:每章先闡述關鍵原理,再用真實的例子加以說明,主要是網際網路和無線網路(區域網路、寬頻無線和藍牙)。
第 1 章:Introduction(引言)
開篇一章概覽電腦網路的用途、網路的型別,以及從局域到全球的網路技術。隨後介紹網路例項、網路協定、參考模型、標準化,以及政策、法律和社會問題,最後說明公制單位並概述全書其餘部分。
第 2 章:The Physical Layer(實體層)
本章先講導向傳輸媒體和無線傳輸,然後講頻譜的利用方式以及如何把波形變成位元。接著講公共交換電話網、蜂窩網路、有線電視網路和通訊衛星,比較各種存取網路絡,最後是一節關於實體層的政策。
第 3 章:The Data Link Layer(資料資料連結層)
第 3 章討論資料資料連結層的設計問題、差錯檢測與糾正、基本資料連結協定、提高效率的方法,以及實際中的資料連結協定。
第 4 章:The Medium Access Control Sublayer(介質存取控制子層)
本章討論通道分配問題和多路存取協定,然後講應用這些協定的主要連結技術:乙太網路、無線區域網路、藍牙和 DOCSIS。最後是資料資料連結層交換。
第 5 章:The Network Layer(網路層)
網路層一章涵蓋設計問題、單個網路內的路由演算法、流量管理,以及服務質量與應用體驗質量。隨後轉向網路互連、軟體定義網路和網際網路中的網路層,並以網路層的政策一節收尾。
第 6 章:The Transport Layer(傳輸層)
本章先講傳輸服務和傳輸協定的要素,然後講擁塞控制。網際網路傳輸協定分兩部分介紹(UDP;以及 TCP、QUIC 和 BBR),最後是效能監測和容遲網路。
第 7 章:The Application Layer(應用層)
第 7 章涵蓋 DNS、電子郵件、全球資訊網、HTTP/2、流式音影片,以及內容分發網路和分散式雲服務。
第 8 章:Security(安全)
安全一章從網路安全基礎和攻擊的核心要素講起,然後是防火牆和入侵檢測系統。接著依次講密碼學(對稱金鑰演算法、公開金鑰演算法、數字簽名、公鑰管理)、驗證協定,以及通訊安全、電子郵件安全和 Web 安全,最後討論社會問題。出版社稱,本章在這一版中經過修訂,重點放在現代安全原則和做法上。
核心概念
第 1–2 章:引言與實體層
- 參考模型與標準化:用於組織協定的分層模型,以及制定標準的機構。
- 傳輸與存取網路絡:位元如何透過有線、無線電、有線電視和衛星傳送,包括電話、蜂窩和有線電視存取。
第 3–4 章:資料資料連結層與 MAC 子層
- 差錯檢測與糾正:連結如何發現並修復受損的幀。
- 多路存取:多個站點如何共享一條通道,以乙太網路、無線區域網路、藍牙和 DOCSIS 為例。
- 資料連結層交換:在區域網路之間轉發幀。
第 5–6 章:網路層與傳輸層
- 路由與流量管理:路由演算法、擁塞和服務質量。
- 網路互連與軟體定義網路:連線多個網路,並把控制與轉發分離。
- 擁塞控制與網際網路傳輸協定:UDP、TCP、QUIC 和 BBR。
第 7–8 章:應用層與安全
- Web、郵件、DNS 與內容分發:主要的應用協定和為其提供服務的基礎設施。
- 密碼學與驗證:對稱與公鑰方法、簽名和驗證協定。
- 網路防禦:防火牆與入侵檢測。
評析
優點
- 清晰的分層結構。 八章沿協定堆疊從實體層講到安全,每章名稱對應一個層或子層,因此目錄本身就是這門學科的地圖。第 4 章把介質存取控制子層從資料資料連結層中分出來,讓區域網路技術擁有獨立的一章。
- 存取技術覆蓋面廣。 實體層和 MAC 兩章合起來列出了電話、蜂窩、有線電視和衛星存取,以及乙太網路、無線區域網路、藍牙和 DOCSIS,有線與無線連結一併講授。
- 涵蓋較新的協定話題。 目錄中包括軟體定義網路、應用體驗質量、QUIC 與 BBR、HTTP/2,以及內容分發網路和分散式雲服務。出版社表示,第六版已更新以反映當前技術。
- 自成一體的安全章。 第 8 章自帶密碼學、金鑰管理和驗證的講解,可以單獨閱讀。
- 關注政策。 第 1 章有一節討論政策、法律和社會問題,實體層和網路層兩章也各以一節政策收尾,使非技術性約束成為這門學科的一部分。
侷限
- 應用放在最後。 由於採用自底向上的寫法,應用層位於第 7 章。習慣從熟悉的應用學起的讀者,可能會覺得前面關於媒體、調變和成幀的章節較抽象;自頂向下的寫法正好相反。
- 目錄中沒有程式設計主線。 已公佈的目錄中沒有通訊端程式設計或其他動手實踐的小節,這一點與以早期應用開發為主線的教材不同。想針對協定程式設計的讀者需要自行補充實驗或抓包練習。
- 應用層只有一章。 應用層集中在一章中,共六個小節(DNS、電子郵件、Web、HTTP/2、流媒體、內容分發)。想深入學習該層的應用開發或協定設計的讀者,需要另找資料。
在課程中的定位
在本課程的書目中,Tanenbaum、Feamster 和 Wetherall 的這本是自底向上的通用教材。Kurose 和 Ross 的 Computer Networking: A Top-Down Approach 以相反的順序講授同樣的各層,從應用和通訊端開始;兩本書最好擇一或搭配使用:一本側重實體層和資料連結層(本書為之設了完整的一章),另一本便於較早開始網路程式設計。Forouzan 的 Data Communications and Networking with TCP/IP Protocol Suite 同樣自底向上,被介紹為藉助插圖和例題的入門書,適合希望起步更平緩的讀者。Comer 的 The Internet Book 是不涉及數學的概覽,適合想在讀任何教材之前先了解全貌的人。
Fall 和 Stevens 的 TCP/IP Illustrated, Volume 1 透過封包抓包剖析每個協定,適合在讀完本書的傳輸層和網路層之後閱讀。Varghese 和 Xu 的 Network Algorithmics 是講如何讓路由器和終端主機更快的研究生教材,預設讀者已學過像本書這樣的第一門網路課。
如何使用本書
本書適合電腦和工程專業學生的第一或第二門網路課程,也適合希望從訊號到安全全面瞭解網路如何工作的讀者。出版社將其定位為這一學科的入門書,因此不要求預先具備網路知識;一般的電腦背景有助於理解書中的例子。
實用的閱讀安排:
- 核心: 按順序讀第 1、3、4、5、6 章,它們覆蓋任何網路課程都需要的資料連結層、網路層和傳輸層。如果課程從資料連結層開始,第 2 章可以略讀,但其中關於存取網路絡(蜂窩、有線電視、衛星)的幾節,對想了解使用者如何存取網際網路的讀者仍有參考價值。
- 應用與安全: 第 7 章講學生每天都會接觸到的協定;第 8 章可以獨立閱讀。
- 政策小節: 可作為技術章節旁的簡短討論來讀,在偏重技術的課程中也可以跳過。
- 配合正文: 讀傳輸層和應用層章節時,用抓包分析工具捕獲流量;並考慮用自己熟悉的語言寫一個簡單的使用者端和伺服器,因為目錄裡沒有提供這類練習。書末的閱讀建議和參考文獻可以指引進一步的資料。
