網絡層提供的服務是將數據從源主機到目的主機進行數據報傳輸,網絡中的每一個主機和路由器都有一個網絡層,提供主機到主機(路由器)之間的服務。
在發送端,網絡層將傳輸層的數據段(segment)進行封裝,封裝到網絡層的數據報(datagram)中進行傳輸。
在接收端,網絡層需要把數據段(datagram)提取出數據段(segment)給傳輸層進行處理。
一、網絡層核心功能
1.1 轉發,路由選擇
轉發(forwarding)是指把數據分組從路由器的輸入端口轉移到合適的輸出端口,由硬件完成。 路由器是如何知道當前輸入的分組應該從那個輸出端口轉發出去呢?答案就是轉發表。
每一個路由器需要維護一個轉發表,路由器基於轉發表來決定輸入的分組應該被轉發到那個輸出接口。當請求到來時,路由器直接讀取轉發表即可。
轉發表示意圖:
地址 | 輸出鏈路 |
---|---|
0001 | 1 |
0002 | 3 |
0003 | 2 |
所以路由器需要事先維護一個轉發表,這便是網絡層的另外一個核心功能:路由選擇。
路由選擇(routing)是指確定分組從源到目的地的路徑的網絡處理過程,由軟件實現。
路由器基於一定的路由算法來計算路徑,最終計算出來的路徑信息保存到了轉發表里面,供路由器轉發時使用。

1.2 連接建立
針對某些網絡比如ATM網絡,在分組傳輸前需要先建立連接。
網絡層連接和傳輸層連接的區別:
- 網絡層連接:主機到主機之間(或者路由器)
- 傳輸層連接:屬於端到端的進程之間的連接
ATM網絡慢慢在退出舞台。
二、網絡層服務模型
2.1 無連接服務
-
不事先為分組確定傳輸路徑
-
每個分組的獨立確定傳輸路徑
-
不同分組的路徑可能不同:轉發表可能會變(會出現先出發后到達的case)
核心用是數據報網絡,現在急於tcp/ip的internet就是數據報網絡
2.2 連接服務
- 傳輸前為整個分組建立連接,確定傳輸路徑
- 后續所有分組都急於預先確定的路徑(連接)進行傳輸
- 所有分組的傳輸路徑相同
- 傳輸結束后需要拆除連接
核心使用時虛電路網絡,ATM網絡,出於淘汰狀態。所為虛電路就是模擬電路交換,傳輸前先建立連接,資源進行獨占。