跳轉至內容

通訊網路/OSI 參考模型

來自華夏公益教科書

此頁面將討論 OSI 參考模型

OSI 模型

[編輯 | 編輯原始碼]
它做了什麼
應用層 應用層是計算機使用者將看到並與其互動的部分。此層是程式設計師開發的“應用程式”。
表示層 表示層負責將資料格式化為人類可讀的格式,以及翻譯不同的語言等。
會話層 會話層將維護不同的連線,以防單個應用程式想要連線到多個遠端站點(或與單個遠端站點建立多個連線)。
傳輸層 傳輸層將處理資料傳輸,並將區分面向連線的傳輸(TCP)和無連線的傳輸(UDP)。
網路層 網路層允許不同的機器在邏輯上相互定址,並允許計算機之間可靠地傳輸資料(IP)。
資料鏈路層 資料鏈路層是確定資料如何透過物理通道傳送的層。資料鏈路協議的例子包括“乙太網”和“PPP”。
物理層 物理層由構成傳輸系統物理硬體的物理電線或天線組成。物理層實體包括 Wi-Fi 傳輸和 100BaseT 電纜。

它做了什麼

[編輯 | 編輯原始碼]

OSI 模型允許不同的開發人員製作產品和軟體與其他產品介面,而無需擔心底層是如何實現的。每層都與上層和下層有指定介面,因此每個人都可以處理不同的領域,而無需擔心相容性。

資料包

[編輯 | 編輯原始碼]

更高層先處理資料,因此更高層的協議將按降序接觸資料包。假設我們有一個使用傳輸層中的 TCP 協議、網路層中的 IP 以及資料鏈路層中的乙太網的終端系統。這是資料包的建立方式

1. 我們的應用程式建立一個數據包

|資料|

2. TCP 建立一個 TCP 資料包

|TCP 標頭|資料|

3. IP 建立一個 IP 資料包

|IP 標頭|TCP 標頭|資料|CRC|

4. 乙太網建立一個乙太網幀

|乙太網標頭|IP 標頭|TCP 標頭|資料|CRC|

在接收端,各層以相反的順序接收資料

1. 乙太網層讀取並刪除乙太網標頭

|IP 標頭|TCP 標頭|資料|CRC|

2. IP 層讀取 IP 標頭並檢查 CRC 是否有錯誤

|TCP 標頭|資料|

3. TCP 層讀取 TCP 標頭

|資料|

4. 應用程式讀取資料。

需要注意的是,多個 TCP 資料包可以壓縮到單個 IP 資料包中,多個 IP 資料包可以組合成乙太網幀。

網路層

[編輯 | 編輯原始碼]

網路層負責逐跳傳輸訊息。主要的網際網路層協議存在於此層。網際網路協議 (IP) 是所有協議中的主要組成部分,但我們還將討論其他協議,例如地址解析協議 (ARP)、動態主機配置協議 (DHCP)、網路地址轉換 (NAT) 和網際網路控制訊息協議 (ICMP)。網路層不保證資料的可靠通訊和傳遞。

網路層功能

[編輯 | 編輯原始碼]

網路層負責逐跳傳輸資料報,從一個站點發送到另一個站點,直到訊息到達目的地。每臺計算機都應該分配一個唯一的 IP 地址作為介面,以便在網路中識別自己。當訊息從傳輸層到達時,IP 會查詢訊息地址,執行封裝並在末尾新增一個標頭以形成資料報,然後傳遞給資料鏈路層。接收端也一樣,IP 會執行解封裝並刪除網路層標頭,然後傳送到傳輸層。網路模型如下圖所示

檔案:網路層.jpg

圖 1 OSI 模型中的網路層

當資料報從源傳送到目的地時,以下是 IP 如何處理資料報傳輸的簡單步驟

  1. 上層應用程式向網路層傳送一個數據包。
  2. 透過校驗和進行資料計算。
  3. IP 標頭和資料報構造。
  4. 透過閘道器路由。
  5. 每個閘道器的 IP 層都會執行校驗和。如果校驗和不匹配,資料報將被丟棄,並將錯誤訊息傳送回傳送機器。在此過程中,如果 TTL 減到 0,也會發生同樣的結果。而且,在資料報沿著網際網路工作傳遞的每一個停靠點,都會確定目的地地址的路由路徑。
  6. 資料報到達目的地的網路層。
  7. 執行校驗和計算。
  8. 取出 IP 標頭。
  9. 訊息傳遞給上層應用程式。

檔案:IP 特性.jpg

圖 2 網路層中的 IP 特性

在網路層中,存在其他協議,例如地址解析協議 (ARP) 和網際網路控制訊息協議 (ICMP),但是,IP 在所有協議中佔有很大一部分。

檔案:IP 網路.jpg

圖 3 網路層中的網際網路協議

此外,IP 是一個無連線協議,這意味著每個資料包都作為獨立個體並獨立透過網際網路。存在順序,但沒有對資料包傳輸的順序進行跟蹤,因此無法保證,因此傳輸不可靠。

常見更改

[編輯 | 編輯原始碼]

其他參考模型

[編輯 | 編輯原始碼]

TCP/ IP 模型

華夏公益教科書