網絡協議——最全的網絡協議圖

計算機網絡學習的核心內容就是網絡協議的學習。網絡協議是為計算機網絡中進行數據交換而建立的規則、標準或者說是約定的集合。計算機網絡協議同我們的語言一樣,多種多樣。

為了給網絡協議的設計提供一個結構,網絡設計者以分層的方式組織協議。

一個協議層能夠用軟件、硬件或者兩者的結合來實現。比如HTTP和SMTP這樣的應用層協議幾乎總是在端系統中用軟件實現的,傳輸層協議也是如此。因為物理層和數據鏈路層負責處理跨越特定鏈路的通信,它們通常是實現在與給定的鏈路相聯繫的網絡接口卡(比如以網絡或WIFI接口卡)中。網絡層通常是硬件和軟件實現的混合體。

1.網絡層次劃分

將所有的協議綜合起來,各個層次的所有協議被稱為協議棧。因特網的協議棧由5個層次組成:物理層、鏈路層、網絡層、傳輸層和應用層。這個劃分方法稱為TCP/IP五層協議。除此之外,還有OSI七層模型和TCP/IP四層協議。它們之間的對應關係如下:

網絡協議——最全的網絡協議圖

下面來看下史上最全的網絡協議圖:

網絡協議——最全的網絡協議圖

圖片來自網絡,高清大圖可以在我的微信公眾號:cpp軟件架構獅,回覆網絡圖

當然比較常用的是TCP/IP五層協議。

1.1 應用層

應用層是網絡應用程序以及它們的應用層協議存留的地方。因特網應用層包括許多協議,例如HTTP(Web應用的主要協議)、SMTP(郵件傳輸)和FTP(文件傳送)等。再比如我們每天都在使用的DNS域名系統。

應用層協議分佈在多個端系統上,一個端系統中的應用程序使用協議與另外一個端系統中的應用程序交換信息的分組。

我們把位於應用層的信息分組稱為報文。

1.2 傳輸層

因特網的傳輸層在應用程序端點之間傳送應用層報文。在因特網中,有TCP和UDP兩個傳輸層協議。

TCP向它的應用程序提供了面向連接的服務,這種服務包括了應用層報文向目的地的確保傳遞和流量控制。TCP也將長報文劃分成短報文,並提供擁塞控制機制,因此,當網絡擁塞時,發送方可以抑制其傳輸速率。

UDP協議向它的應用程序提供無連接服務。這是一種不提供不必要服務的服務,沒有可靠性,沒有流量控制,也沒有擁塞控制。

我們把傳輸層分組稱為報文段。

1.3 網絡層

因特網的網絡層負責將稱為數據報的網絡層分組從一臺主機移動到另一臺主機。在一臺源主機中的因特網傳輸層協議(TCP或者UDP)向網絡層遞交傳輸層報文段和目的地址。

網絡層包括著名的IP協議,該協議定義了在數據報中的各個字段以及端系統和路由器如果作用於這些字段。網絡層也包括決定路由的路由選擇協議,它使得數據報根據該路由從源傳輸到目的地。

1.4 鏈路層

網絡層通過源和目的地之間的一系列路由器路由數據報,為了將分組從一個結點移動到路徑的下一個結點,網絡層必須依靠鏈路層的服務。特別是在每個結點,網絡層將數據報下傳給鏈路層,鏈路層沿著路徑將數據報傳遞給下一個結點,在下一個結點,鏈路層將數據報上傳給網絡層。

由鏈路層提供的服務取決於應用於該鏈路的特定的鏈路層協議,比如我們常見的以太網,WIFI等。

因為數據報從源到目的地傳送通常要經過幾條鏈路,一個數據報可能被沿途不同鏈路上的不同鏈路層協議處理。例如,一個數據報可能被一段鏈路上的以太網和下一段鏈路上的PPP所處理。網絡層將受到來自每個不同鏈路的鏈路層協議的服務。

我們把鏈路層分組稱為幀。

1.5 物理層

鏈路層的任務是將整個幀從一個網絡元素移動到鄰近的網絡元素,而物理層的任務是將該幀中的一個一個比特從一個結點移動到下一個結點。物理層的協議是和鏈路相關的,並且進一步與該鏈路的實際傳輸媒體相關。比如,以太網具有許多物理層協議:一個是關於雙絞銅線的,另一個是關於同軸電纜的,還有是關於光纖的等等。


分享到:


相關文章: