網路七層模型與四層模型區別

麥索發表於2017-08-25

作為一個 Web 程式設計師?‍?‍,對於網路模型你應該瞭解,知道網路到底是怎麼進行通訊的,進行工作的,為什麼伺服器能夠接收到請求,做出響應。這裡面的原理應該是每個 Web 程式設計師應該瞭解的。

網路模型歷史及起源

網路模型不是一開始就有的,在網路剛發展時,網路協議是由各網際網路公司自己定義的,比如那時的巨頭網路公司 IBM、微軟、蘋果、思科等等,他們每家公司都有自己的網路協議,各家的協議也是不能互通的,那時候大家覺得這是可以的,但對消費者來說這實際上是技術壟斷,因為你買了蘋果的裝置就不能用微軟的裝置,因為他們的協議不是一樣的,沒有統一的標準來規範網路協議,都是這些公司的私有協議。

這樣大大的阻礙了網際網路的發展,為了解決這個問題,國際標準化組織 1984 提出的模型標準,簡稱 OSI(Open Systems Interconnection Model),這是一個標準,並非實現。

TCP/IP 協議就是基於此模型設計。

OSI 模型

file
file

OSI 模型是從上往下的,越底層越接近硬體,越往上越接近軟體,這七層模型分別是物理層、資料鏈路層、網路層、傳輸層、會話層、表示層、應用層。

這種分層模型是我們電腦科學中常用的方法,分層直接通過規定好的介面進行互動,每一層其實對它的上層或下層都是一個黑盒,其實它的上層和下層也不關心它內部的實現,只關心它們之間進行互動的介面,介面是規定的資訊,要給到什麼都是規定好的。

這種分層模型的好處就是可以對任何一層進行獨立升級、優化,只要保持介面不變那麼這個模型整體就不會有問題,比如說物理層從乙太網線到光纖,我們的網路速度大大提高,但是整個技術革新的時候,其他層是沒有做更多工作的,工作只在物理層完成。這樣做的好處也同時提高了我們技術的發展革新速度。

分層功能職責

  • 物理層:底層資料傳輸,如網線;網路卡標準。
  • 資料鏈路層:定義資料的基本格式,如何傳輸,如何標識;如網路卡MAC地址。
  • 網路層:定義IP編址,定義路由功能;如不同裝置的資料轉發。
  • 傳輸層:端到端傳輸資料的基本功能;如 TCP、UDP。
  • 會話層:控制應用程式之間會話能力;如不同軟體資料分發給不同軟體。
  • 標識層:資料格式標識,基本壓縮加密功能。
  • 應用層:各種應用軟體,包括 Web 應用。

file
file

資料互動

file
file

我們簡化模型,假設有 計算機 A 和 計算機 B 要進行資訊互動,比如 A 上開發了一個網頁,需要 B 去訪問。B 發出一個請求給 A,那麼請求資料從 B 的 應用層開始向下傳到表示層、再從表示層傳到會話層直到物理層,通過物理層傳遞到 A ,A 的物理層接到請求後將請求向上傳遞到自己的應用層,應用層再將要請求的資料向自己的物理層方向傳遞然後 B 接到資料傳遞資料到自己的應用層。這裡簡化理解,我們去除了三次握手四次揮手的邏輯。

資料就是這樣在計算機和網路中進行傳遞的。這其中做的工作就是每層進行層層解包和附加自己所要傳遞的資訊,術語叫做報頭。

在四層,既傳輸層資料被稱作段(Segments);三層網路層資料被稱做包(Packages);二層資料鏈路層時資料被稱為幀(Frames);一層物理層時資料被稱為位元流(Bits)。

file
file

TCP/IP 模型將 OSI 模型由七層簡化為四層,傳輸層和網路層被完整保留,因此網路中最核心的技術就是傳輸層和網路層技術。

TCP/IP 協議中每層技術舉例:

網路訪問層:ARP、RARP

網際網路層:ICMP、IP

傳輸層:TCP、UDP

應用層:DNS、FTP、HTTP、SMTP、TELNET、IRC、WHOIS

總結

網路七層模型是一個標準,而非實現。

網路四層模型是一個實現的應用模型。

網路四層模型由七層模型簡化合並而來。

相關文章