1. 程式人生 > 實用技巧 >OSI七層模型

OSI七層模型

image.png

第1層 物理層

首先解決兩臺物理機之間的通訊需求,具體就是機器A往機器B傳送位元流,機器B能收到位元流。

物理層主要定義了物理裝置的標準,如網線的型別,光纖的介面型別,各種傳輸介質的傳輸速率。主要作用是傳輸位元流(0101二進位制資料),將位元流轉化為電流強弱傳輸,到達目的後再轉化為位元流,即常說的數模轉化和模數轉換。這層資料叫做位元。網絡卡工作在這層。

其實是將資料的0、1轉換成電訊號或者光訊號。通過光纖、雙絞線甚至是無限電波等介質傳輸到指定的地址。而傳輸過程中的集線器、中繼器、調變解調器等,也屬於物理層的傳輸介質。物理層是 OSI 七層模型的物理基礎,沒有它就談不上資料傳輸了

物理層就是由實物所承載的,所以作比喻的話,公路、汽車和飛機等承載貨物(資料)的交通工具,就是物理層的象徵

第2層 資料鏈路層

在傳輸位元流的過程中,會產生錯傳、資料傳輸不完整的可能。

資料鏈路層定義瞭如何格式化資料進行傳輸,以及如何控制對物理介質的訪問。通常提供錯誤檢測和糾正,以確保資料傳輸的準確性。本層將位元資料組成幀,交換機工作在這層,對幀解碼,並根據幀中包含的資訊把資料傳送到正確的接收方。

該層負責物理層面上互連的節點之間的通訊傳輸。例如與1個乙太網相連的兩個節點間的通訊。常見的協議有 HDLC、PPP、SLIP 等

資料鏈路層會將0、1序列劃分為具有意義的資料幀傳送給對端(資料幀的生成與接收)

舉個例子:暫且把需要傳輸的資料看作為不同來源的水,如果直接倒入池子中時,是無法重新分辨出不同來源的水的。但如果將不同來源的灌入瓶子中並打上記號,那就能區分出不同來源的水。這也就是為什麼要劃分為具有意義的資料幀傳送給對端。同時要注意的是,資料鏈路層只負責將資料運送給物理相連的兩端,並不負責直接傳送到最終地址

第3層 網路層

隨著網路節點的不斷增加,點對點通訊需要通過多個節點,如何找到目標節點,如何選擇最佳路徑成為首要需求。

網路層主要功能是將網路地址轉化為對應的實體地址,並決定如何將資料從傳送方路由到接收方。網路層通過綜合考慮傳送優先權、網路擁塞程度、服務質量以及可選路由的花費來決定從一個網路中節點A到另一個網路中節點B的最佳路徑。由於網路層處理並智慧指導資料傳送,路由器連線網路隔斷,所以路由器屬於網路層。此層的資料稱之為資料包。本層需要關注的協議TCP/IP協議中的IP協議。

網路層負責將資料傳輸到目標地址。目標地址可以使多個網路通過路由器連線而成的某一個地址。因此這一層主要負責定址和路由選擇。主要由 IP、ICMP 兩個協議組成

網路層將資料從傳送端的主機發送到接收端的主機,兩臺主機間可能會存在很多資料鏈路,但網路層就是負責找出一條相對順暢的通路將資料傳遞過去。傳輸的地址使用的是IP地址。IP地址通過不斷轉發到更近的IP地址,最終可以到達目標地址

第4層 傳輸層

隨著網路通訊需求的進一步擴大,通訊過程中需要傳送大量的資料,如海量檔案傳輸,可能需要很長時間,網路在通訊的過程中會中斷很多次,此時為了保證傳輸大量檔案時的準確性,需要對傳送出去的資料進行切分,切割為一個一個的段落(Segement)傳送,其中一個段落丟失是否重傳,段落是否按順序到達,是傳輸層需要考慮的問題。

傳輸層解決了主機間的資料傳輸,資料間的傳輸可以是不同網路,並且傳輸層解決了傳輸質量的問題。傳輸協議同時進行流量控制,或是基於接收方可接收資料的快慢程度規定適當的傳送速率。除此之外,傳輸層按照網路可處理的最大尺寸將較長的資料包進行強制分割,例如乙太網無法接收大於1500位元組的資料包,傳送方節點的傳輸層將資料分割成較小的資料片並編號,以便資料到達接收方節點的傳輸層時能以正確的順序重組,該過程稱為排序。傳輸層需要關注的協議有TCP/IP協議中的TCP協議和UDP協議。

第5層 會話層

自動收發包,自動定址。

會話層作用是負責建立和斷開通訊連線,何時建立,斷開連線以及保持多久的連線。常見的協議有 ADSP、RPC 等

第6層 表示層

Linux給WIndows發包,不同系統語法不一致,如exe不能在Linux下執行,shell不能在Windows不能直接執行。於是需要表示層。

解決不同系統之間通訊語法問題,在表示層資料將按照網路能理解的方案進行格式化,格式化因所使用網路的不同而不同。

它主要負責資料格式的轉換。具體來說,就是講裝置固有的資料格式轉換為網路標準格式。常見的協議有 ASCII、SSL/TLS 等

第7層 應用層

規定傳送方和接收方必須使用一個固定長度的訊息頭,訊息頭必須使用某種固定的組成,訊息頭中必須記錄訊息體的長度等資訊,方便接收方正確解析傳送方傳送的資料。應用層旨在更方便應用從網路中接收的資料,重點關注TCP/IP協議中的HTTP協議

image.png從應用層開始對要傳輸的資料頭部進行處理,加上本層的一些資訊。最終物理層通過乙太網、電纜等介質將資料解析成位元流在網路中傳輸,資料傳遞到目標地址,自底而上的將先前對應的頭部解析分離出來

分層後,如若某層產生變化,也不會波及整個系統,我們也知道,每一層其實都有不同的協議,如果各層混合在一起,切換協議就無從談起,每次更換某一層,都需要改造整個系統