1. 程式人生 > >生動形象講解 OSI 七層模型和兩主機傳輸過程?

生動形象講解 OSI 七層模型和兩主機傳輸過程?

表示 不同 也會 osi模型 In 接口 網絡層 什麽 與操作

我們假設每個個體就是一臺電腦,我們生活中的物品就是電腦中保存的文件。我們有一天想要與世界上其他地方的人交換貨物,我們會用什麽方法呢?

我們首先會看我們想要交換什麽樣的物品,如果是電子產品,可能會上蘇寧易購,如果是書本,可能會上當當網,如果是服裝褲子,可能會上淘寶或京東,如果是生活中的小玩意,可能會上鹹魚。這些電商平臺為我們交換貨物提供了專用的通道和規則,我們稱這些平臺為應用層。(應用層作用:為網絡用戶之間的通信提供專用的程序和協議)

技術分享圖片提供不同服務的電商平臺

假設我們最終選擇在淘寶上賣給別人一個衣櫃。而衣櫃太大了不易郵遞,我們要找木匠將衣櫃拆分成一個個零部件,並封裝、打包,附上組裝說明書。對方在收到你的郵件後,也會找木匠按照說明書拆封、組裝,讓它重新成為一個完整的衣櫃。木匠的拆分/組裝是為了衣櫃更方便的傳輸,我們稱木匠工作在表示層。

(表示層作用:提供數據壓縮、解壓、加密等服務,為應用層提供語法選擇,語法轉換)

技術分享圖片拆分衣櫃的木匠

木匠封裝好了物品,會讓客服在阿裏旺旺中問一句:“您好,您確定夠買了嗎?如果您確定的話我就點確認下單,正式發貨了。” 如果對面此時點了退款,那就不必發貨了,如果對面回復“是”或沒有回復,那麽客服默認發貨。發貨的具體時間和數量是由客服決定的,客服可以選擇當天全部發出去,也可以選擇用兩天時間分批次發出去。當然,對面也可以選擇接收物品的時間(我們都有快遞到了不能去取的經歷)。而只有收件人在網上點擊“確認接收”後,整個購買流程才會結束。客服的工作是確認訂單的開始/結束時間以及貨物的發送/接收數量的,我們稱客服工作在會話層。

(會話層作用:建立、管理和終止表示層實體之間的會話連接)

技術分享圖片確認收貨的頁面

以上,用戶購買流程結束了。剩下的是如何將貨物發送過去的問題。同理,在電腦中,前三步之後用戶的操作便結束了,剩下的是信息如何在網絡中傳遞的問題。因此,我們把前三層叫做OSI模型中的上層結構

那麽貨物要如何傳遞呢?那麽遠,客服肯定不能自己去送,客服會聯系快遞公司。如果是不能丟失的重要郵件,客服會選擇EMS郵寄;如果是要求速度的隔日達,客服可能會選擇順豐快遞。快遞公司的作用是保證你的貨物能被對方順利接收,快遞公司就是我們常說的傳輸層,起到一個承上啟下的作用。(傳輸層作用:為會話層提供可靠的、無誤的數據傳輸) 傳輸層是OSI模型中的中間層。

技術分享圖片提供不同服務的快遞公司

快遞公司收到了快件通知,會查看訂單上的地址信息:“發件地址:北京市,收件地址:上海市”。此時,分撥中心會根據地址選擇運輸路徑,計算途經哪幾個分撥中心能最快/路徑最短的將貨物送達。分撥中心根據地址信息提供路徑選擇,我們說分撥中心工作在網絡層。(網絡層作用:基於IP地址為數據的傳輸進行網絡間的路由選擇)

技術分享圖片北京到上海的路徑選擇

快遞公司收到快遞訂單後,會派快遞小哥到發件人所在地址,根據發件人的姓名和電話聯系到發件人,取走貨物,送往當地分撥中心。同理,當貨物到達收件地的分撥中心後,當地的快遞小哥會根據收件人的姓名和電話聯系到收件人,將貨物安全送達。快遞小哥是通過姓名和電話(相當於Mac地址)聯系到個人的,我們說快遞小哥工作在數據鏈路層。(數據鏈路層作用:物理地址尋址,為網絡層提供數據傳送服務)

技術分享圖片快遞小哥

貨物運輸途中,都由司機大哥開不同的卡車、汽車、三輪車運送。我們說司機大哥和交通工具們工作在物理層。(物理層作用:為數據傳輸提供物理媒體,進行數據的實際傳輸)

技術分享圖片司機大哥和他的交通工具

從快遞公司接收貨物開始,後面的所有流程都是貨物在城市內/城市間的運輸過程。在網絡內也一樣,從傳輸層建立連接開始,後面的所有流程都是數據包在網絡內/網間的傳遞,與操作用戶本身再無關系。因此,我們把後三層叫做OSI模型中的下層結構。

然而實際生活中,我們往往不會分那麽細,老板,木匠,客服的活往往一個人就做了。運輸過程也是一樣,快遞小哥經常客串司機的角色。

技術分享圖片嘿嘿,想不到吧

技術分享圖片都是我一個人哦

其實網絡中也是一樣。從電腦的角度來看,如果一臺電腦要給另一臺電腦發送文件,它首先會查看發送內容,通過發送內容選擇發送平臺。比如發送郵件用Email,發送圖片用QQ。不同的應用程序有著不同的通信協議(Email——SMTP,Web——Http,文件傳輸——Ftp等),這些通信協議都工作在應用層。

技術分享圖片使用不同應用層協議的APP

假設我們決定用QQ發送一張圖片,我們電腦會在傳送前先在後臺對這張圖片進行編碼、加密和壓縮,這一過程工作在表示層。

用QQ傳送文件時,我們會被問到“是否發送”,對面也會看到“是否接收”。如果接收失敗,會告訴你發送失敗,問你是否重傳;接收成功後,也會有對話框告訴你發送成功。這些,都工作在會話層。

技術分享圖片確認發送對話框

這邊確定發送,那邊也確定接收後,會通過TCP/UDP協議建立通道,保證傳輸的可靠性。TCP/UDP協議工作在傳輸層。

技術分享圖片

文件在網絡傳輸過程中,通過IP地址,由路由器選擇傳輸路徑,路由器工作在網絡層。

技術分享圖片路由器

文件在網絡傳輸過程中,在網內通過物理地址(Mac地址)由交換機進行數據的傳送。交換機工作在數據鏈路層。

技術分享圖片交換機

網線/光纖負責發送比特流,提供信息傳送的物理介質。

同樣,網絡中,我們也可以把前三層總結到一起,稱為應用層。把後兩層總結到一起,稱為數據鏈路接口層或網絡接口層。這樣,就把繁瑣的OSI七層結構轉化為了精簡的TCP/IP四層結構。

技術分享圖片

總結:應用層——電商平臺(應用軟件中對應的SMTP,Http,Ftp等應用層協議)

表示層——木匠(負責數據壓縮、編碼)

會話層——秘書(負責文件發送/接收)

傳輸層——快遞公司(EMS——TCP;順豐——UDP)

網絡層——分撥中興(路由器)

數據鏈路層——快遞小哥(交換機)

物理層——司機大哥和交通工具(網線/光纖)

作者:薛定諤不在家
鏈接:https://www.zhihu.com/question/24002080/answer/410983148
來源:知乎

生動形象講解 OSI 七層模型和兩主機傳輸過程?