《計算機網絡:自頂向下方法》是學習網絡知識的經典教材,其獨特的“自頂向下”視角——從我們日常接觸的應用層開始,逐步深入到網絡底層——為我們理解這個復雜系統提供了清晰的路徑。第一章“計算機網絡和因特網”作為全書的基石,構建了我們對整個領域的基本認知框架。
一、什么是因特網?兩個視角
本章首先引導我們從兩個互補的角度來審視因特網:
- 具體構成視角(硬件與軟件):因特網是一個由數以億計的計算設備(如傳統PC、服務器、智能手機、傳感器等)、通信鏈路(如光纖、銅線、無線電頻譜)和分組交換機(如路由器和鏈路層交換機)互聯而成的全球性網絡。這些設備運行協議(如TCP/IP)來控制信息的發送與接收。因特網服務提供商(ISP),如電信運營商,提供了將終端系統接入因特網的“最后一公里”以及骨干網絡互聯服務。
- 服務視角:因特網是一個為分布式應用程序提供通信服務的基礎設施。它為應用程序提供了編程接口(API),使得應用程序無需關心底層硬件的復雜細節,就能將數據交付給世界另一端的另一個程序。這種“細腰”結構(應用繁多,底層物理網絡多樣,中間僅靠IP協議維系)是因特網成功和具有極強包容性的關鍵。
二、網絡邊緣、核心與接入網
作者將網絡結構劃分為邊緣與核心,便于理解。
- 網絡邊緣:指所有連接到因特網的端系統(主機)。端系統上運行著網絡應用程序,是網絡內容的產生者和消費者。本章介紹了客戶-服務器和對等(P2P) 這兩種主流的應用程序體系結構。
- 接入網:指將端系統連接到其邊緣路由器的物理鏈路。這部分技術多樣,包括家庭常用的數字用戶線(DSL)、電纜、光纖到戶(FTTH),以及機構使用的以太網和Wi-Fi等無線接入技術。
- 網絡核心:即由互聯的路由器構成的網狀網絡,負責將數據從源主機穿越多個網絡傳送到目的主機。這里引出了網絡核心的兩種基本數據交換方式:
- 分組交換:當今因特網的基石。發送端將報文(message)分割成較小的數據包(分組,packet),每個分組通過通信鏈路和分組交換機(路由器、交換機)獨立傳輸。這涉及到存儲轉發傳輸、排隊時延和丟包以及轉發表和路由選擇協議等核心概念。分組交換允許更好地共享帶寬,但會引入時延。
- 電路交換:傳統電話網絡的典范。在通信雙方之間預先建立一條專用的端到端連接(電路),并在通信期間獨占其資源。雖然能保證性能,但資源利用率較低。
三、協議、時延與吞吐量
- 協議:網絡世界的規則。協議定義了網絡實體之間交換報文的格式、順序以及發送/接收報文所采取的動作。TCP/IP協議族是因特網的核心。
- 時延:分組在從源到目的地的路徑上會經歷幾種主要的時延:
- 節點處理時延:檢查分組首部、決定導向所需時間。
- 排隊時延:分組在輸出鏈路上等待傳輸的時間,取決于流量強度。
- 傳輸時延:將分組所有比特“推”到鏈路上所需的時間(L/R,分組長度/鏈路帶寬)。
* 傳播時延:比特在物理鏈路上傳播所需的時間(距離/傳播速度)。
理解這些時延對于分析和設計高性能應用至關重要。
- 吞吐量:指在單位時間內從發送方到接收方成功傳送的數據量。端到端的吞吐量往往受限于路徑上最慢鏈路的速率,即瓶頸鏈路。
四、協議分層與服務模型
為了降低網絡設計的復雜性,采用分層的體系結構。每一層通過執行本層的動作,并通過層間接口向上一層提供服務。本書采用五層因特網協議棧:
- 應用層(HTTP, SMTP, DNS):支持網絡應用程序。
- 運輸層(TCP, UDP):在應用程序端點之間傳送應用層報文。
- 網絡層(IP):將數據報從一臺主機移動到另一臺主機。
- 鏈路層:在相鄰網絡元素之間傳送數據。
- 物理層:將幀中的比特從一個節點移動到下一個節點。
分層模型封裝了復雜性,是理解網絡如何協同工作的強大工具。
小結
第一章為我們描繪了因特網的宏大藍圖:它既是一個由具體硬件和協議構成的物理網絡,也是一個向應用程序提供通信服務的平臺。理解了網絡邊緣、核心與接入網的劃分,掌握了分組交換、時延、吞吐量以及協議分層這些核心概念,就為我們后續自頂向下地探索每一層的奧秘,奠定了堅實而清晰的基礎。