網絡層
網絡層是計算機網絡體系結構中的關鍵一層,主要負責將數據包從源主機跨越多跳網絡路徑傳送到目的主機。其核心功能是實現主機到主機的通信,并為傳輸層提供無連接或面向連接的服務。
一、核心功能與服務
- 轉發:當一個數據包到達路由器的輸入鏈路時,路由器需要根據其目的地址,通過查表將其移動到合適的輸出鏈路。這是一個數據平面的功能。
- 路由:確定數據包從源到目的地所采用的路徑。路由算法(如鏈路狀態、距離向量)負責構建和維護路由器的轉發表。這是一個控制平面的功能。
- 連接建立:某些網絡層架構(如ATM)需要在數據傳輸前,在源和目的地之間建立一條虛擬路徑。
網絡層可以為傳輸層提供兩種服務模型:
- 無連接服務:不事先建立連接,每個數據包獨立路由。例如:Internet的網絡層使用IP協議提供“盡力而為”的無連接服務。
- 面向連接服務:數據傳輸前需建立連接(虛電路),所有數據包沿同一路徑傳輸,按序到達。例如:ATM網絡。
二、核心協議:IP協議(IPv4)
IP協議是Internet網絡層的核心。
- IP數據報格式:
- 關鍵字段:版本、首部長度、服務類型、總長度、標識、標志、片偏移、生存時間、協議(指示上層協議,如TCP=6,UDP=17)、首部檢驗和、源IP地址、目的IP地址。
- 生存時間:TTL,每經過一個路由器減1,為0時丟棄,防止數據包無限循環。
- 分片與重組:由于鏈路層MTU限制,過大的IP數據報需要在路由器上分片,在目的主機上重組。
- IPv4編址:
- IP地址(如192.168.1.1)是32位的標識符,與接口(而非主機)相關聯。
- 分類編址:A、B、C、D、E類地址,已過時。
- CIDR(無類別域間路由):現代使用方式,格式為
a.b.c.d/x,其中x是網絡前綴的長度。支持地址聚合,減少路由表項。
- 私有IP地址:保留給內部網絡使用(如10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16),通過NAT訪問公網。
- 動態主機配置協議:DHCP允許主機從網絡服務器動態獲取IP地址、子網掩碼、默認網關和DNS服務器地址。過程包括:發現、提供、請求、確認。
- 網絡地址轉換:NAT使私有網絡內的多臺主機可以共享一個或少量公網IP地址訪問互聯網。NAT路由器會修改進出數據包的IP地址和端口號,并維護轉換表。
三、路由算法
路由算法的目標是找到從源到目的地“好”的路徑(通常指代價最小)。
- 鏈路狀態算法:如Dijkstra算法。
- 每個路由器掌握完整的網絡拓撲和鏈路代價信息。
- 通過洪泛鏈路狀態信息,讓所有節點擁有一致的全網視圖。
- 計算從本節點到所有其他節點的最短路徑。
- 集中式算法,復雜度高,但結果穩定、無環路。
- 距離向量算法:如Bellman-Ford算法。
- 每個路由器維護到所有目的地的代價估計(距離向量),并定期與鄰居交換。
- 分布式、迭代、異步執行。
- 可能遇到計數到無窮和路由環路問題,可通過毒性逆轉等技術緩解。
- 核心公式:$dx(y) = \minv \{ c(x,v) + d_v(y) \}$。
四、路由實踐:自治系統內與系統間
- 自治系統:AS是在單一技術管理下的一組路由器集合(如一個ISP)。內部運行相同的路由協議。
- 內部網關協議:IGP,用于AS內部路由。
- RIP:基于距離向量,使用跳數作為度量,最大跳數為15。通過UDP交換路由信息。
- OSPF:基于鏈路狀態,使用洪泛鏈路狀態信息和Dijkstra算法。直接通過IP承載。支持分層。
- 外部網關協議:EGP,用于AS間路由。
- BGP:事實上的標準。是一種路徑向量協議。路由器之間交換的是完整的路徑信息(AS序列),而不僅僅是距離。基于策略的路由選擇是關鍵。
五、關鍵技術與協議
- ICMP協議:互聯網控制報文協議,用于主機和路由器之間交換網絡層控制信息(如目的不可達、回顯請求/應答)。
ping和traceroute工具就是基于ICMP。 - IPv6:
- 動機:解決IPv4地址耗盡問題,簡化首部格式,提升性能與安全性。
- 主要特點:128位地址空間;固定40字節基本首部;無分片(路徑MTU發現);原生支持安全與QoS。
- IP組播:允許一個發送者向一組接收者高效發送數據。使用D類地址。需要組播路由協議(如PIM)。
- 軟件定義網絡:SDN是一種新興的網絡架構,其核心思想是將控制平面(決策邏輯)與數據平面(轉發功能)分離。控制平面由一個集中式的SDN控制器實現,通過南向API(如OpenFlow)對網絡中的交換機進行編程和管理。這帶來了前所未有的靈活性、可編程性和自動化能力。
六、重要概念
- 虛電路 vs 數據報網絡:網絡層兩大分組交換體系。
- IP地址與MAC地址:網絡層地址是邏輯的、分層的,用于全局尋址;鏈路層地址是物理的、扁平的,用于局部尋址。ARP協議完成兩者映射。
- 路由器結構:主要包括輸入/輸出端口、交換結構、路由處理器。轉發發生在輸入端口或交換結構中。
- 路由與轉發的區別:路由是“規劃路徑”,轉發是“沿路移動”。
- 最長前綴匹配:在查找轉發表時,當存在多個匹配的表項時,選擇網絡前綴最長的那一個。這是CIDR路由查找的關鍵。
網絡層是連接不同網絡、實現全球互聯的基石。理解IP協議的工作原理、路由算法的思想以及Internet的路由層次結構,是掌握計算機網絡的核心。