通俗理解OSI七層模型


OSI七層模型傳輸過程的通俗理解

OSI參考模型將網絡划分為了七層,從上到下依次是:應用層、表示層、會話層、傳輸層、網絡層、數據鏈路層、物理層。教科書上隔層的功能是這樣寫的:
OSI七層模型.png
下載 (135.06 KB)
2018-2-22 22:34

 


        下面舉個也許不太恰當的例子來記錄我的理解:你來到公司,打開電腦,准備開始一天的工作,你打開了多個應用程序,郵件、QQ、瀏覽器、股市行情軟件等等,注意這些應用程序並不位於應用層,只是與應用層協議交互。當然,當這些應用程序被打開時會與服務器進行一系列的通信,這個通信過程是經歷了OSI的各層的。
        這時,你需要給一個同事發個郵件,你新建了一個郵件開始編寫,寫完郵件正文后,你填好郵件主題,鍵入收件人的郵件地址。當你點擊發送郵件的按鈕時,這個發送郵件的通信過程就開始了OSI七層模型旅行之路。
        首先來到的是應用層。這一層確定了你的郵件是以什么方式發送出去,是SMTP還是IMAP?在發送郵件的同時,你還是瀏覽網頁查閱資料,你在點擊每一個鏈接的時候,應用層確定了是用HTTP還是HTTPS。或者說,用戶通過應用程序向應用層提出了一系列應用請求,比如發送郵件、訪問網頁等。
        表示層收到了發送郵件的請求,這時它會將需要傳輸的數據進行編碼和轉換,形成一種大家都認識的表現形式。我們都知道,不同的操作系統對於文字、語音、圖片、視頻的編解碼方式都是不同的,假如你用的是一台Windows 10操作系統的電腦,而你的同事用的是Mac OS操作系統,雖然操作系統的編碼處理方式不同,但在數據傳輸過程中如果沒有一個統一的數據格式的定義,恐怕對方收到數據后恢復出來的內容和你發出的大相徑庭,甚至根本就是不可理解的。
        通過表示層的處理,數據已經准備好了,接下來就到了會話層出馬的時候了。你的主機會幫你與郵件服務器建立會話,主機會問服務器:“你好,我是主機,你是郵件服務器嗎?我需要和你建立連接。”,服務器會答復說:“你好,我是郵件服務器,連接已經建立。”,這時,發送郵件的會話就算是建立好了,當完成郵件數據傳輸后,表示層又會斷開連接,即終止會話。剛才說過,在發送郵件的同時,你還是瀏覽網頁,你點開了很多個頁面,每打開的一個頁面都是你和對方建立的一個會話。同時你還在和同事QQ聊天,每個聊天窗口背后其實也是一個會話。會話層就是幫你和對方建立連接的一個過程。就像打電話,你要先和對方接通電話,然后才能開始通話。
        建立連接后就可以開始進行數據傳輸了。傳輸層接收來自應用程序的各種數據:文字、語音、圖片、視頻,然后將這些數據合並到一個數據流中,再將數據進行分段並編號,最后發送出去。在數據傳輸的過程中可能會出現各種異常,比如數據包丟失、數據損壞等等,傳輸層就承擔了保證數據傳輸正確的功能,如流量控制、數據重發等。簡單的說,傳輸層就是表示層准備好數據、會話層建立連接后,正式開始數據傳輸的第一步。
        到了這個時候,數據就要走出家門出去闖盪了。臨出門前,你告訴它:“去找郵件服務器吧,它在深圳,門牌號是XX路YY號”。網絡層可不知道這個門牌號的位置,但是它知道怎么去深圳,就像你從北京寄快遞到深圳,快遞公司只知道怎么去深圳最快,但你要寄到的這個地址恐怕就只有當地的快遞員才知道了。網絡層就是快遞公司,下面要講的數據鏈路層就是快遞員。網絡層了解每個網絡的編址、會跟蹤設備在網絡中的位置、可以准確計算出最佳的數據傳輸路徑。網絡層可以計算出從你所在的北京到深圳有哪些路線,哪條路線此時此刻是最快的。
        數據終於到了深圳,到了快遞員——數據鏈路層手里,與網絡層類似,數據鏈路層對網絡雖然不熟,但是卻對本地網絡中的每台設備了如指掌。它可以通過硬件地址找到每一台設備。數據鏈路層從數據這里得知要去XX路YY號,輕而易舉地就將數據送了過去。
        最后說下物理層,這一層就相對簡單了,就是信號轉換和物理傳輸,將數據轉換成光信號、電信號,然后通過光纜、銅纜傳輸。
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM