3分鐘讓你練就網絡七層模型的“乾坤大挪移”
我們知道兩臺計算機直接的聯系是依靠網絡來完成的,但是網絡的信息傳遞又是依靠七層模型(即 物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層),我們稱之為----- OSI參考模型。但什么又是OSI模型呢?
OSI模型是解決一臺機器上的一個應用軟件與另一個機器上的應用軟件所進行的信息交互。因為計算機與計算機進行聯系,他們都是硬件設備,所以想要建立聯系,就必須有軟件的支持。因此,七層模型是通信基礎。所以,下面我們先來介紹第一個 OSI模型。
對于以上的疑問,我們就來一一對答。首先,OSI 是什么?英文名稱(Open System Interconnect)開放式系統互聯模型。它就是用來表示計算機通信原理的形象化表示。
OSI 模型示意圖
是不是覺得很難記,接下里教大家一個簡單的方法記憶下來各層是干嘛的。由下向上來介紹:
1. 物理層:
網絡的通信是需要硬件的吧,硬件大多和物理有關,所以記作為 物理層。在這里這個硬件設備的作用就是將網絡上傳遞過來的信息轉換成數字信號,即二進制數字,0與1的數據流,在這里我們叫做比特流。所以物理層的傳輸單位是 比特流(byte)。比方說:我將信息從計算機A要傳遞到計算機B,首先物理層網絡傳遞過來的信息轉化為比特流。
2. 數據鏈路層
現在通過物理設備,這里叫做電線可以發送比特流了,我現在還希望用無線廣播的形式來傳輸比特流。并且我還要保證我傳輸的比特流正確與否,要具有糾錯要校驗的功能。所以,數據鏈路層就誕生了,它具有糾錯和校驗以及確保數據的可靠傳輸作用。
3. 傳輸層(在這里和網絡層進行調換)
現在我可以做到了準確的將比特流發送到另一臺計算機上了,但是當我在發送音樂和電影等大量數據流的時候,就會發現網絡會經常中斷。因此,我就要對這些數據流進行封裝,以確保準確性。如圖送外賣一樣,將一份份外賣包裝起來。一個個送達,貼上標簽,提高準確性。當送一份兩份外賣,我不做標簽還能記得要送到哪里,但當我要送幾十份甚至是上百份外賣的時候,我就得在外賣上貼上標簽。因此,先發明了傳輸層,怎么進行傳輸,傳輸層的作用就是要對數據進行封裝,貼上標簽和地址。
在傳輸層我們要重點認識到 TCP,UDP兩個重要概念:
(1)TCP 傳輸控制協議
特點:
- TCP 是面向連接的。(如圖視頻通話一般,先連接,確保接通后,然后掛斷,TCP連接才結束)
- TCP 是可靠性連接。 即自己發出去的數據,一定保證誤差值,無丟包等現象出現
- TCP 的連接只能是一對一的服務,比如我們兩個打電話,只能同時我們兩個人手機通話在一起。
- TCP 支持雙向通信,即你可以給我發信息,我也可以給你發信息。
(2) UDP 用戶數據協議
特點:
- UDP 多用于一對多,比如像廣播一樣傳達給很多人。也支持一對一,多對一,多對多通信。
- UDP 不需要連接
- UDP 不會發生阻塞的現象,比如多人會議視頻
- UDP 是面向報文的
4. 網絡層
上面我們說了傳輸層將數據流進行了封裝打包,但是現在又有一個問題了,有很多臺計算機啊,怎么才能準確的發到我想要發到信息的那臺計算機呢?這個時候就得需要路由器來完成了,所以網絡層誕生了。因為,在現實中很多網絡選址都是由路由器來完成的。在網絡層里,我們應用了IP協議這一知識點,對于IP協議有哪些理解呢?
IP協議,也叫做IP數據報,簡稱數據報。所謂的IP層就是負責將低一層次的數據包發送到更高一級別的數據包;通俗的理解就是將以太網的設備驅動程序發送到TCP/UDP層去,反而言之他也可以將高一層的協議內容發送到低一層的。IP協議中包含的IP地址里面有發送信息的計算機的地址(源地址)和接收此條信息的計算機地址(目的地址)。IP協議的作用就是,計算機A要從計算機B發送信息,可以通過H,G,K,或者K,J,H等等多路徑,而哪一條是好的路徑呢,這就是網絡層的事,即發明了IP包,IP地址的概念。
5. 會話層
現在我們可以做到了可以將數據包,打包封裝好,準確的發送到計算機上。但是這里面是有一個缺點的,就是我每次都要用TCP去打包,然后利用IP協議去找合適的路線發送過去?但是這些都是手動完成的,少量的數據量人工還能處理,但遇到大批量的數據量,你就得實現自動打包來處理了。這里要是有一個可以自動打包,尋址來發送數據流的是不是就更好了呢。對此,會話層就應用而生了。由此,我們可以看出來,會話層的作用實現自動打包,發包(指IP包),然后自動尋址的功能。
6. 表示層
現在我已經能夠將數據包打包封裝準確的發送到我想要發送過去的那臺計算機了,并且此過程可以實現了自動完成,不需要手動完成。但是現在又有一個問題出現了,如果我要從Mac上發送信息給Windows用戶,怎么辦呢?由于是兩個系統,很多語法,指令都不一樣,無法兼容啊。為此,我們就讓表示層來產生了,表示層就是讓我們解決各個系統之間可以流暢發送信息的過程。是應用程序和網絡的翻譯官,比方你在手機APP上查詢你的銀行卡賬戶時,當你輸入你的賬號和密碼時是要被加密的,而銀行系統那一端在接受你的請求時,需要將編碼解密,然后返回結果給你。表示層起到的是加密和解密的作用
7. 應用層
應用層就是用來封裝各種協議的,可以提供用戶更好地使用它。
OSI七層模型協議概述,主要闡述以下五種,會話層和表示層經常被歸類到應用層里面
闡述一下七層模型的工作原理:
例如下圖的計算機A,想要發信息給計算機B。計算機A中的應用程序先將需要發送的信息發送到應用層,應用層提供網絡接口,信息進入Inten網絡中,然后傳送到表示層,表示負責將信息加密和解密。及轉化成計算機可以識別的統一語言,然后表示層又將信息傳送到第五層(會話層),會話層的作用就是將傳遞來的信息,進行自動打包封裝,將數據流自己尋找地址。將數據流同步和更新同步起來。
接下來,信息又被發送到第四層(傳輸層),傳輸層的作用就是將這些傳遞來的信息一個個封裝起來,貼上標簽,貼上地址,然后傳遞到第三層網絡,封裝成一個整體IP包,IP包里含有源站點和目的地址。然后網絡層再將信息轉發到第二層(數據鏈路層),數據鏈路層的作用確保將信息轉化為幀為單位,確保順序發送和差錯檢測和校驗,然后數據鏈路層又將信息發送到第一層(物理層),物理層則通過中繼器,通信設備將數據流傳送給計算機B,計算機B的物理層接收到信息,從物理層依次由下往上傳遞到應用層,然后信息傳遞到計算機B。
兩臺計算機之間的信息流交換有啥特點呢?
- 兩個不同的計算機,都有相同的層次結構
- 每層對應的結構都是通過各自的協議進行通信
- 由圖中可以看出,左邊而言上層使用下層的服務,然后下層為上層提供服務。
- 不同系統之間都有相同的功能,創造一個更好地互連環境
談到這里,對于網絡七層模型,你是不是都記住了呢?當所有的公司,組織,個人都遵從了OSI這樣的規范,這樣我們的網絡就可以互聯了,形成了互聯網。我們就可以相互間的進行交流了。