在計算機網(wǎng)絡(luò)的五層參考模型中,網(wǎng)絡(luò)層(Network Layer)扮演著承上啟下、至關(guān)重要的角色。它位于數(shù)據(jù)鏈路層之上,傳輸層之下,是主機到主機通信的關(guān)鍵,也是實現(xiàn)大規(guī)模網(wǎng)絡(luò)互聯(lián)的核心。本章將深入剖析網(wǎng)絡(luò)層的核心功能、關(guān)鍵技術(shù)以及核心協(xié)議。
一、網(wǎng)絡(luò)層的核心功能與設(shè)計思路
網(wǎng)絡(luò)層的主要任務(wù)是將數(shù)據(jù)包(Packet)從源主機通過一系列中間節(jié)點(路由器)路由(Routing) 和轉(zhuǎn)發(fā)(Forwarding) 到目的主機。這主要解決兩大核心問題:
- 路由選擇:即確定數(shù)據(jù)包從源到目的所經(jīng)過的完整路徑(或路徑的一部分)。這依賴于路由算法和路由協(xié)議,是一個全局性的、相對慢速的“規(guī)劃”過程。
- 分組轉(zhuǎn)發(fā):即路由器根據(jù)其轉(zhuǎn)發(fā)表(Forwarding Table),將接收到的數(shù)據(jù)包從合適的端口發(fā)送出去。這是一個本地性的、快速執(zhí)行的“動作”過程。
網(wǎng)絡(luò)層的設(shè)計有兩種基本思路:
- 面向連接的虛電路(Virtual Circuit)服務(wù):通信前先建立一條邏輯連接(虛電路),所有分組沿此固定路徑傳送,類似電話系統(tǒng)。現(xiàn)已較少使用。
- 無連接的數(shù)據(jù)報(Datagram)服務(wù):每個分組獨立選擇路由傳輸,網(wǎng)絡(luò)層不保證可靠性。這是當今互聯(lián)網(wǎng)(IP協(xié)議)所采用的方式,簡單、靈活、健壯。
二、核心協(xié)議:網(wǎng)際協(xié)議IP
IP協(xié)議是TCP/IP協(xié)議棧的核心,也是網(wǎng)絡(luò)層的核心協(xié)議。當前主要版本是IPv4。
- IPv4數(shù)據(jù)報格式:理解IP數(shù)據(jù)報的首部各字段含義至關(guān)重要,特別是:
- 版本、首部長度、總長度:標識協(xié)議版本和數(shù)據(jù)包大小。
- 標識、標志、片偏移:用于數(shù)據(jù)包分片與重組。
- 生存時間(TTL):防止數(shù)據(jù)包在網(wǎng)絡(luò)中無限循環(huán),每經(jīng)過一個路由器減1,為0時丟棄。
- 協(xié)議:指示上層協(xié)議(如TCP-6,UDP-17)。
- 首部檢驗和:只校驗首部,不校驗數(shù)據(jù)部分。
- 源IP地址和目的IP地址:32位的邏輯地址,是路由轉(zhuǎn)發(fā)的依據(jù)。
- IP地址與子網(wǎng)劃分:
- 分類IP地址(A、B、C、D、E類):早期方案,浪費嚴重。
- 劃分子網(wǎng)(Subnetting):在單位內(nèi)部將一個大的網(wǎng)絡(luò)號劃分成更小的子網(wǎng),提高了IP地址利用率。通過子網(wǎng)掩碼(Subnet Mask) 來區(qū)分網(wǎng)絡(luò)號和主機號。
- 構(gòu)成超網(wǎng)(CIDR,無分類域間路由):將多個連續(xù)的網(wǎng)絡(luò)前綴合并為一個更大的地址塊,有效減少了路由表項,是當前主流方案。采用“斜線記法”(如192.168.1.0/24)。
- 地址解析協(xié)議(ARP):解決IP地址到數(shù)據(jù)鏈路層MAC地址的映射問題。主機通過廣播ARP請求,目標主機回復(fù)其MAC地址。
三、IP層轉(zhuǎn)發(fā)與路由協(xié)議
- 分組轉(zhuǎn)發(fā)流程:路由器收到一個IP數(shù)據(jù)報后,執(zhí)行以下步驟:
- 提取目的IP地址。
- 判斷是否直接交付(與接口在同一網(wǎng)絡(luò))。
- 若需間接交付,則查詢轉(zhuǎn)發(fā)表。轉(zhuǎn)發(fā)表通常由目的網(wǎng)絡(luò)地址(而非單個主機地址)、下一跳地址和出口接口組成。
- 通過最長前綴匹配原則找到最具體的路由條目,將數(shù)據(jù)包轉(zhuǎn)發(fā)給下一跳路由器。
- 路由協(xié)議:用于路由器之間交換路由信息,動態(tài)生成和維護轉(zhuǎn)發(fā)表。
- 內(nèi)部網(wǎng)關(guān)協(xié)議(IGP):在自治系統(tǒng)(AS)內(nèi)部使用。
- RIP(路由信息協(xié)議):基于距離向量算法,以跳數(shù)作為度量,最大跳數(shù)為15。定期與鄰居交換整個路由表。簡單但收斂慢,適用于小型網(wǎng)絡(luò)。
- OSPF(開放最短路徑優(yōu)先):基于鏈路狀態(tài)算法。路由器向全網(wǎng)泛洪自己的鏈路狀態(tài)信息,每個路由器都能構(gòu)建出全網(wǎng)的拓撲圖,并獨立使用Dijkstra算法計算最短路徑樹。收斂快,適用于大型網(wǎng)絡(luò)。
- 外部網(wǎng)關(guān)協(xié)議(EGP):在自治系統(tǒng)之間使用。
- BGP(邊界網(wǎng)關(guān)協(xié)議):基于路徑向量算法。考慮的是策略(如政治、經(jīng)濟、安全)而不僅僅是距離。用于在不同ISP之間交換路由信息,是互聯(lián)網(wǎng)的“骨架”協(xié)議。
四、重要輔助與相關(guān)技術(shù)
- 網(wǎng)際控制報文協(xié)議(ICMP):用于傳遞網(wǎng)絡(luò)層的控制信息和差錯報告,是IP協(xié)議的重要輔助。例如,
ping命令使用ICMP回送請求/應(yīng)答報文測試連通性;tracert命令利用ICMP超時和終點不可達報文來跟蹤路由。
- IPv6:為解決IPv4地址耗盡問題而設(shè)計。主要特點:
- 地址空間巨大(128位)。
- 首部格式簡化,固定40字節(jié),提高處理效率。
- 支持即插即用和更好的安全性(IPSec是內(nèi)置選項)。
- IP組播:實現(xiàn)一對多的高效數(shù)據(jù)傳輸。使用D類IP地址作為組播地址。需要網(wǎng)際組管理協(xié)議(IGMP) 和組播路由協(xié)議(如PIM)的支持。
- 移動IP:允許移動節(jié)點在不改變IP地址的前提下,在不同網(wǎng)絡(luò)間移動并保持通信連續(xù)性。涉及家鄉(xiāng)代理、外地代理和轉(zhuǎn)交地址等概念。
- 網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT):將私有IP地址轉(zhuǎn)換為公有IP地址,使大量內(nèi)網(wǎng)主機可以共享少量公網(wǎng)IP訪問互聯(lián)網(wǎng),緩解了IPv4地址短缺問題。
五、本章學(xué)習(xí)要點
對于考研復(fù)習(xí),網(wǎng)絡(luò)層是重中之重,需重點掌握:
- 深刻理解路由器轉(zhuǎn)發(fā)分組的完整過程(包括ARP查詢、轉(zhuǎn)發(fā)表查詢等)。
- 熟練掌握IP地址、子網(wǎng)掩碼、CIDR、網(wǎng)絡(luò)前綴的計算與劃分。
- 對比掌握RIP和OSPF協(xié)議的工作原理、特點與差異。
- 理解ICMP、NAT、IPv6等技術(shù)的原理與作用。
- 能夠分析網(wǎng)絡(luò)層的典型問題,如路由環(huán)路、地址分配等。
網(wǎng)絡(luò)層作為數(shù)據(jù)轉(zhuǎn)發(fā)的核心樞紐,其協(xié)議的復(fù)雜性與設(shè)計的精巧性,共同構(gòu)筑了全球互聯(lián)網(wǎng)的基石。深入理解這一層,是掌握計算機網(wǎng)絡(luò)整體架構(gòu)的關(guān)鍵。