1. 程式人生 > 實用技巧 >OSI模型-這是目前為止見過最好理解的表述!

OSI模型-這是目前為止見過最好理解的表述!

這是目前為止見過最好理解的表述!

開放系統互連模型(OSI模型)解釋了Internet執行所需的所有各個功能。

它是由七個獨立功能組成的集合,這些功能組合起來完成了計算機到計算機通訊的最終目標。

就像汽車由獨立的功能組成,這些功能相結合以完成使汽車前進的最終目標:電池為電子裝置供電,交流發電機為電池充電,發動機旋轉驅動軸,車軸將驅動軸的旋轉傳遞給車輪, 等等。

每個單獨的零件都可以獨立更換或維修,只要每個單獨的零件都能正常工作,汽車就會向前行駛。

OSI模型分為七個不同的層,每個層執行非常特定的功能。當組合在一起時,每個功能都有助於實現完整的計算機到計算機資料通訊。

OSI Model

在本文的其餘部分中,我們將研究OSI模型的各個單獨的層以及它們各自的職責。

OSI第1層-物理


OSI模型的物理層負責傳輸位-組成所有計算機程式碼的1和0。

該層表示在兩個節點之間承載流量的物理介質。例如乙太網電纜或序列電纜。但是不要太著迷於“ Physical”(物理)這個詞,這一層是在1970年代命名的,早在網路中的無線通訊才是一個概念。這樣,儘管沒有物理上的,有形的存在,WiFi也被認為是第1層協議。

簡而言之,第1層是在兩個節點之間帶有1和0的任何東西。

“導線”上資料的實際格式可能因每種介質而異。在乙太網的情況下,位以電脈衝的形式傳輸。對於Wifi,位元是以無線電波的形式傳輸的。對於光纖,位元以光脈衝的形式傳輸。

OSI Model - Layer 1

除物理電纜外,中繼器和集線器也在此層執行。

中繼器簡單地將訊號從一種介質中繼到另一種介質,從而允許將一系列電纜以菊花鏈方式連結在一起,並擴大訊號可以傳播的範圍,超出單個電纜的限制。這些通常在大型WiFi部署中使用,在單個WiFi網路中,多個訪問點將“重複”一個WiFi網路以覆蓋更大的範圍。


集線器只是一個多埠中繼器。如果將四個裝置連線到單個集線器,則一臺裝置傳送的任何內容都會重複傳送到其他三個裝置上。

OSI第2層–資料鏈接


OSI模型的資料鏈路層負責與物理層的介面。實際上,第2層負責將1和0放在電線上,並從電線上拉1和0。

您將乙太網線插入的網路介面卡(NIC)處理第2層功能。它從電線接收訊號,並將訊號傳輸到電線。

您的WiFi NIC以相同的方式工作,接收和傳送無線電波,然後將其解釋為一系列的1和0。

然後,第2層會將這些1和0組合在一起,稱為“框架”。

在第2層存在一個定址系統,稱為媒體訪問控制地址或MAC地址。 MAC地址唯一地標識每個單獨的NIC。每個NIC由製造商預先配置了MAC地址;實際上,它有時被稱為燒入地址(BIA)。

OSI Model - Layer 2

除您的NIC外,Switch也在此層執行。交換機的主要職責是促進網路內的通訊(此想法將在本系列的後續文章中得到擴充套件)。

資料鏈路層的主要功能是將資料包從一個NIC傳送到另一個NIC。或者換一種說法,第二層的作用是在跳到跳之間傳遞資料包。

OSI第3層-網路


OSI模型的網路層負責從端到端的資料包傳遞。

它通過使用另一種定址方案來做到這一點,該方案可以邏輯上識別連線到Internet的每個節點。此定址方案稱為Internet協議地址或IP地址。

由於IP地址不是計算機的永久標識,因此將其視為邏輯上的。與被視為實體地址的MAC地址不同,製造商不會將IP地址刻錄到任何計算機硬體中。

路由器是在OSI模型的第3層上執行的網路裝置。路由器的主要職責是促進網路之間的通訊。這樣,路由器會在兩個網路之間建立邊界。為了與不直接在網路中的任何裝置通訊,必須使用路由器。

OSI模型–第2層與第3層


第2層和第3層之間的互動作用和區別對於理解資料如何在兩臺計算機之間流動至關重要。例如,如果我們已經在每個NIC上都有一個唯一的L2定址方案(例如MAC地址),為什麼我們在L3上還需要另一個定址方案(例如IP地址)?或相反亦然?

答案是兩種定址方案都可以完成不同的功能:

第2層使用MAC地址,並負責從一跳到另一跳的資料包傳遞。
第3層使用IP地址,並負責端到端的資料包傳遞。

當計算機要傳送資料時,它將其封裝在IP標頭中,該標頭將包含通訊兩個``端''的源IP地址和目標IP地址等資訊。

然後將IP標頭和資料進一步封裝在MAC地址標頭中,該標頭將包含資訊,例如在通往最終目的地的路徑中當前``躍點''的源和目標MAC地址。

這是說明這一點的示意圖:

OSI Model - MAC vs IP

請注意,在每個路由器之間,MAC地址標頭被剝離並重新生成以使其到達下一跳。第一臺計算機生成的IP報頭僅被最終計算機剝離,因此IP報頭處理了``端到端''傳遞,並且此動畫中涉及的四個不同MAC報頭中的每一個都處理了``跳到跳''傳遞。

OSI第4層-傳輸


OSI模型的傳輸層負責區分網路流。

在使用者計算機上的任何給定時間,可能正在開啟Internet瀏覽器,正在播放音樂,正在執行Messenger或聊天應用程式。這些應用程式中的每一個都正在從Internet傳送和接收資料,所有這些資料都以1和0的形式到達該計算機的NIC。

為了區分哪個1和0屬於Messenger,瀏覽器或流音樂,必須存在一些東西。那個“東西”是第4層:

OSI Model - Layer 4

第4層通過使用稱為埠號的定址方案來實現此目的。

具體地,存在區分網路流的兩種方法。它們被稱為傳輸控制協議(TCP)或使用者資料報協議(UDP)。

TCP和UDP都有65,536個埠號(每個),並且唯一的應用程式流通過源埠和目標埠(以及它們的源IP地址和目標IP地址)進行標識。

TCP和UDP在資料流的傳輸方式上採用了不同的策略,它們的區別和內部工作方式都很引人入勝且有意義,但不幸的是,它們不在本系列文章的討論範圍之內。它們將成為未來文章或系列的主題。

總而言之,如果第2層負責跳到跳的傳遞,而第3層負責端到端的傳遞,那麼可以說第4層負責服務到服務的傳遞。

OSI第5、6和7層


OSI模型的Session,Presentation和Application層處理最終步驟,然後將通過網路傳輸的資料(由1-4層促進)顯示給終端使用者。

從純粹的網路工程角度來看,第5、6和7層之間的區別不是特別重要。實際上,還有另一種流行的Internet通訊模型稱為TCP / IP模型,該模型將這三層分組為一個單一的包含層。

如果您參與了軟體工程,那麼區別將變得更加重要。但是,由於這不是本系列文章的重點,因此我們不會深入探討這些層次之間的差異。

許多網路工程師將這些層簡稱為L5-7或L5 +或L7。在本系列的其餘部分,我們將做同樣的事情。

封裝和解封裝
在繼續進行OSI模型之前,我們需要討論的最後一項是封裝和解封裝。這些術語指的是在傳送時如何將資料從上到下移動,而在接收時如何從下到上。

隨著資料從一層到另一層的傳遞,每一層都會新增完成完整資料報轉換為1和0並通過網路傳送之前完成其目標所需的資訊。例如:

第4層將新增一個TCP頭,其中將包括一個源埠和目標埠
第3層將新增一個IP標頭,其中包括源IP地址和目標IP地址
第2層將新增一個乙太網標頭,其中包括源MAC地址和目標MAC地址
在接收端,每一層從資料中剝離標題,並將其向上傳遞迴堆疊到應用層。這是整個過程:

OSI Model - Encapsulation and De-Encapsulation

注意,這僅是示例。將新增的標頭將取決於基礎通訊協議。例如,可以在第4層上新增UDP頭,或者在第3層上新增IPv6頭。

無論哪種方式,重要的是要理解,當資料通過電線傳送時,它會沿著堆疊向下傳遞,並且每一層都新增自己的標頭以幫助完成目標。在接收端,隨著資料被髮送回應用層,報頭被逐層剝離。

本文將不同的網路功能分類為OSI模型的不同層。雖然OSI模型本身對於理解資料包如何通過網路是至關重要的,但它並不像概念模型那樣嚴格,它並不是一個嚴格的要求—並非每個協議都完全適合OSI模型的單個層。

原文連結:http://www.practicalnetworking.net/series/packet-traveling/osi-model/