什麼是 OSI 模型?

開放式系統互相連線模型將網路通訊分為七層。 這些層用於識別網路問題。

Share facebook icon linkedin icon twitter icon email icon

OSI 模型

學習目標

閱讀本文後,您將能夠:

  • 定義 OSI 模型
  • 識別第 7 層 OSI 模型
  • 探索資料如何傳入 OSI 模型

什麼是 OSI 模型?

開放式系統互相連線 (OSI) 模型是由國際組織為實現標準化而建立的一種概念模型,它能使各種通訊系統使用標準通訊協定進行通訊。簡單來說,OSI 為不同的電腦系統提供標準,以便能夠互相通訊。


OSI 模型可視為電腦網路連線的通用語言。它建立在將通訊系統拆分為七個抽象層這一概念的基礎之上,每一層都堆疊在最後一層之上。

未定義

每一層 OSI 模型均處理特定作業,並與其上下幾層進行通訊。DDoS 攻擊以特定層數的網路連線為目標;應用程式層攻擊第 7 層為目標,而通訊協定層攻擊以第 3 層和第 4 層為目標。

為什麼 OSI 模型如此重要?

雖然現代網際網路沒有嚴格遵守 OSI 模型 (這更密切遵守較簡單的網際網路通訊協定套件),但 OSI 模型對於排解網路問題仍非常實用。無論是無法讓膝上型電腦連上網際網路的人,或是在數千個使用者面前故障的網站,OSI 模型都能協助解析問題並隔離問題來源。若問題可縮小為模型的一個特定層,就能避免許多不必要的工作。

OSI 模型的七層有哪些?

OSI 模型的七個抽象層從頂部到底部可定義如下:

應用程式層

7. 應用程式層

這是唯一一個直接與來自使用者的資料進行互動的層。軟體應用程式類似於網頁瀏覽器,電子郵件用戶端依靠此應用程式層初始化通訊。但應該明確的是,用戶端軟體應用程式不是應用程式層的一部分;相反,應用程式層負責通訊協定和資料操作,軟體依靠這些來為使用者呈現有意義的資料。應用程式層通訊協定包括 HTTP 及 SMTP (簡易郵件傳輸通訊協定是支援電子郵件通訊的通訊協定之一)。

呈現層

6. 呈現層

該層主要負責準備資料以供應用程式層使用;換言之,第 6 層可使資料呈現給需要消費的應用程式。呈現層負責轉譯、加密和壓縮資料。


兩個通訊裝置在通訊時可能使用不同的編碼方式,因此第 6 層負責將傳入資料轉譯至接收裝置的應用程式層能夠理解的語法。


如果裝置透過加密連線進行通訊,第 6 層將負責在傳送者終端新增加密以及在接受者終端解碼,以便它能呈現帶有未加密、可讀取資料的應用程式層。


最後,呈現層也負責壓縮其從應用程式層接收到的資料,然後將其傳送至第 5 層。這可將傳輸的資料量降到最低,協助改善通訊速度和效率。

工作階段層

5. 工作階段層

該層負責處理開啟和關閉兩個裝置之間的通訊。通訊開啟時和關閉時當中的時間稱為工作階段。工作階段層可確保工作階段保持足夠長的開啟時間以傳輸所有進行交換的資料,然後立即關閉工作階段以避免浪費資源。


工作階段層也會與檢查點同步資料傳輸。例如,若正在傳輸 100 MB 檔案,工作階段層可以每 5 MB 設定一個檢查點。若在傳輸 52 MB 後中斷連線或毀損,工作階段可從上一個檢查點繼續進行,亦即只剩下 50 MB 的資料需要傳輸。若沒有檢查點,整個傳輸就必須再次從頭開始。

傳輸層安全性

4. 傳輸層安全性

第 4 層負責處理兩個裝置之間的端對端通訊。這包括從工作階段層取用資料,並在傳送至第 3 層之前分解為稱為區段的區塊。接收裝置上的傳輸層負責將區段重組為工作階段層可以取用的資料。


傳輸層也負責處理流量控制和錯誤控制。流量控制可判定最佳傳輸速度,以確保具有最快連線的傳送者不會淹沒緩慢連線的接收者。傳輸層確保接收的資料是完整的,若不完整,則會請求重新傳輸,以在接收端執行錯誤控制。

網路層

3. 網路層

網路層負責促進兩個不同網路之間的資料傳輸。若兩個通訊的裝置位於相同網路,則不必使用網路層。網路層在傳送者的裝置上將來自傳輸層的區段分為較小的單位,稱為封包,然後在接收裝置上重組這些封包。網路層也會為資料尋找抵達目的地的最佳實體路徑;這稱為路由傳送。

資料連結層

2. 資料連結層

資料連結層與網路層非常類似,唯一不同的地方在於,資料連結層是針對位於相同網路的兩個裝置,促進兩者之間的資料傳輸。資料連結層取用來自網路層的封包,並分為較小的物件,稱為框架。如同網路層,資料連結層也負責處理網路內通訊的流量控制和錯誤控制 (傳輸層僅處理網路間通訊的流量控制和錯誤控制)。

實體層

1. 實體層

該層包括涉及資料傳輸的實體設備,例如纜線和開關。這也是資料轉換為位元流的一層,亦即 1 和 0 的字串。兩個裝置的實體層也必須同意訊號慣例,以便在兩個裝置上辨別 1 和 0。

資料如何傳入 OSI 模型

為了使人們可讀取的資訊能透過網路從一個裝置傳送至另一個裝置,資料必須沿著傳送裝置上的七層 OSI 模型向下傳送,然後沿著接收端上的七層向上傳送。


例如:Cooper 先生想要向 Palmer 女士傳送一封電子郵件。Cooper 先生使用膝上型電腦在電子郵件應用程式中撰寫了訊息,然後點選「傳送」。他的電子郵件應用程式將會把電子郵件訊息傳遞至應用程式層,應用程式層將會選取通訊協定 (SMTP) 並將資料傳遞至呈現層。接著呈現層會壓縮資料,然後送到工作階段層,工作階段層將會初始化通訊工作階段。


該資料將點擊對其分割的傳送者的傳輸層,然後,這些區段將分解為網路層中的封包,該封包又將進一步分解為資料連結層的框架。接著資料連結層會將這些框架傳遞至實體層,實體層再將資料轉換為 1 和 0 的位元流,並透過纜線等實體媒體傳送。


Palmer 女士的電腦透過實體媒體 (例如她的 wifi) 收到位元流後,資料將會通過裝置上同一系列的層,但會以相反順序進行。首先,實體層會將 1 和 0 的位元流轉換為傳送至資料連結層的框架。然後資料連結層會將框架重組為適用網路層的封包。接著網路層會將封包組成適用傳輸層的區段,傳輸層則將區段重組為一個資料物件。


接著資料將會流入接收者的工作階段層,工作階段層會將資料傳遞至呈現層,然後結束通訊工作階段。接著呈現層將會移除壓縮並將原始資料向上傳遞至應用程式層。應用程式層則將人類可讀取的資料饋送給 Palmer 女士的電子郵件軟體,電子郵件軟體就會允許她在膝上型電腦螢幕上讀取 Cooper 先生的電子郵件。