Skip to main content

#90DaysOfDevOps - OSI 模型:七個層級 - Day 22

OSI 模型:七個層級

網路作為一個產業的整體目的是允許兩個主機共享數據。在網路出現之前,如果我想從這個主機獲取數據到另一個主機,我必須將某些東西插入這個主機,然後走到另一個主機,再插入另一個主機。

網路允許我們通過讓主機自動跨線路共享數據來實現自動化。為了讓這些主機做到這一點,它們必須遵循一套規則。

這與任何語言沒有什麼不同。英語有一套規則,兩個說英語的人必須遵循;西班牙語有自己的規則;法語有自己的規則;而網路也有自己的規則。

網路的規則分為七個不同的層級,這些層級被稱為 OSI 模型。

OSI 模型介紹

OSI 模型(開放系統互連模型)是一個用於描述網路系統功能的框架。OSI 模型將計算功能特徵化為一組通用規則和需求,以支持不同產品和軟體之間的互操作性。在 OSI 參考模型中,計算系統之間的通信被分為七個不同的抽象層級:實體層、資料連結層、網路層、傳輸層、會話層、表示層和應用層

實體層(Physical)

OSI 模型中的第 1 層,這被稱為實體層,能夠通過某種方式(無論是實體電纜還是我們也可以考慮的 Wi-Fi)將數據從一個主機傳送到另一個主機的前提。我們可能還會看到一些更傳統的硬體,如集線器和中繼器,以便將數據從一個主機傳送到另一個主機。

第 2 層,資料連結層實現節點到節點的傳輸,其中數據被封裝成幀。還有一個錯誤修正級別,可能發生在實體層。這也是我們引入或首次看到 MAC 位址的地方。

這是我們在網路第一天 Day 21 中首次提到交換器的地方。

網路層(Network)

您可能聽說過第 3 層交換器或第 2 層交換器這個術語。在我們的 OSI 模型中,第 3 層網路層的目標是端到端傳輸,這也是我們在第一天概述中看到 IP 位址的地方。

路由器和主機存在於第 3 層,記住路由器是在多個網路之間路由的能力。任何具有 IP 的東西都可以被視為第 3 層。

那麼為什麼我們在第 2 層和第 3 層都需要定址方案呢?(MAC 位址 vs IP 位址)

如果我們考慮將數據從一個主機傳送到另一個主機,每個主機都有一個 IP 位址,但中間有幾個交換器和路由器。每個設備都有那個第 2 層 MAC 位址。

第 2 層 MAC 位址只會從主機到交換器/路由器,它專注於跳躍,而第 3 層 IP 位址將與該數據封包一起保留,直到它到達其終端主機。(端到端)

IP 位址 - 第 3 層 = 端到端傳輸

MAC 位址 - 第 2 層 = 跳躍到跳躍傳輸

現在有一個網路協議,我們會深入探討,但不是今天,叫做 ARP(位址解析協議),它連結我們的第 3 層和第 2 層位址。

傳輸層(Transport)

服務到服務傳輸,第 4 層用於區分數據流。就像第 3 層和第 2 層都有自己的定址方案一樣,在第 4 層我們有埠號。

會話層、表示層、應用層(Session, Presentation, Application)

第 5、6、7 層之間的區別已經變得有些模糊。

值得查看 TCP IP 模型 以獲得更新的理解。

現在讓我們嘗試解釋當主機使用此網路堆疊相互通信時實際發生的事情。這個主機有一個應用程式,它將生成要發送到另一個主機的數據。

源主機將經歷的是所謂的封裝過程。該數據將首先發送到第 4 層。

第 4 層將向該數據添加一個標頭,這可以促進第 4 層的目標,即服務到服務傳輸。這將是一個使用 TCP 或 UDP 的埠號。它還將包括源埠和目標埠。

這也可能被稱為段(數據和埠)

這個段將被傳遞到 OSI 堆疊的第 3 層,網路層,網路層將向此數據添加另一個標頭。 此標頭將促進第 3 層的目標,即端到端傳輸,這意味著在此標頭中,您將有一個源 IP 位址和目標 IP,標頭加上數據也可能被稱為封包。

第 3 層然後將該封包交給第 2 層,第 2 層將再次向該數據添加另一個標頭,以實現第 2 層的跳躍到跳躍傳輸目標,這意味著此標頭將包括源和目標 MAC 位址。 當您有第 2 層標頭和數據時,這被稱為幀。

然後該幀被轉換為 1 和 0,並通過第 1 層實體電纜或 Wi-Fi 發送。

我確實在上面提到了每個層級的標頭加上數據的命名,但也決定將其繪製出來。

顯然,發送數據的應用程式正在被發送到某個地方,所以接收在某種程度上是反向的,以將其返回到堆疊並進入接收主機。

資源

Day23