網絡層提供的服務是將數據從源主機到目的主機進行數據報傳輸,網絡中的每個主機和路由器都有一個網絡層,提供主機到主機(路由器)之間的服務。算法
在發送端,網絡層將傳輸層的數據段(segment)進行封裝,封裝到網絡層的數據報(datagram)中進行傳輸。網絡
在接收端,網絡層須要把數據段(datagram)提取出數據段(segment)給傳輸層進行處理。tcp
轉發(forwarding)是指把數據分組從路由器的輸入端口轉移到合適的輸出端口,由硬件完成。 路由器是如何知道當前輸入的分組應該從那個輸出端口轉發出去呢?答案就是轉發表。blog
每個路由器須要維護一個轉發表,路由器基於轉發表來決定輸入的分組應該被轉發到那個輸出接口。當請求到來時,路由器直接讀取轉發表便可。接口
轉發表示意圖:進程
地址 | 輸出鏈路 |
---|---|
0001 | 1 |
0002 | 3 |
0003 | 2 |
因此路由器須要事先維護一個轉發表,這即是網絡層的另一個核心功能:路由選擇。ip
路由選擇(routing)是指肯定分組從源到目的地的路徑的網絡處理過程,由軟件實現。資源
路由器基於必定的路由算法來計算路徑,最終計算出來的路徑信息保存到了轉發表裏面,供路由器轉發時使用。路由
針對某些網絡好比ATM網絡,在分組傳輸前須要先創建鏈接。table
網絡層鏈接和傳輸層鏈接的區別:
ATM網絡慢慢在退出舞臺。
不事先爲分組肯定傳輸路徑
每一個分組的獨立肯定傳輸路徑
不一樣分組的路徑可能不一樣:轉發表可能會變(會出現先出發後到達的case)
核心用是數據報網絡,如今急於tcp/ip的internet就是數據報網絡
核心使用時虛電路網絡,ATM網絡,出於淘汰狀態。所爲虛電路就是模擬電路交換,傳輸前先創建鏈接,資源進行獨佔。