1. 程式人生 > >計算機網路模型

計算機網路模型

浪費了“黃金五年”的Java程式設計師,還有救嗎? >>>   

        大學時候學習計算機網路,學完後僅有的記憶就是五層模型、七層模型,TCP/IP、HTTP、FTP幾個概念了。如今隨著工作中對這些概念的不斷認識,現在也該重新整理下這塊的內容了。

        OSI七層網路模型(學院派)

        OSI的全稱是Open Systems Interconnect ,也就是開放的互聯絡統。OSI的網路模型是一個大而全的模型。七層模型的示意圖如下所示:

圖1.1 OSI七層網路模型示意圖

        7層設計從分別是:物理層、資料鏈路層、網路層、傳輸層、會話層、表示層和應用層。

  • 物理層

            PC機與伺服器的通訊最終都是通過物理網路來實現,而物理網路可以傳播的是電波訊號,也就是說物理層要將計算機的資訊編碼成電波訊號或電流脈衝(這裡沒有過多去考究,做為軟體開發人員,瞭解這裡做了什麼就行了) 在介質中傳輸。

  • 資料鏈路層

        資料鏈路層通過物理層鏈路供資料傳輸。不同的資料鏈路層定義了不同的網路和協議特徵,其中包括物理編址、網路拓撲結構、錯誤校驗、幀序列以及流控 。

  • 網路層

       負責在源和終點之間建立連線。它一般包括網路尋徑,還可能包括流量控制、錯誤檢查等。相同MAC標準的不同網段之間的資料傳輸一般只涉及到資料鏈路層,而不同的MAC標準之間的資料傳輸都涉及到網路層。例如IP路由器工作在網路層,因而可以實現多種網路間的互聯。 這裡需要知道的是,大名鼎鼎的IPV4和IPV6協議就是網路層的協議。

  • 傳輸層

        向高層提供可靠的端到端的網路資料流服務。每一個應用程式都會在網絡卡上註冊一個埠號,埠與埠之間的通訊就在這層實現。我們常常聽說的TCP/IP協議就是傳輸層的協議。

  • 會話層

        會話層建立、管理和終止表示層與實體之間的通訊會話;

  • 表示層

        供多種功能用於應用層資料編碼和轉化,以確保以一個系統應用層傳送的資訊 可以被另一個系統應用層識別。這一層其實就是為了解決不同作業系統間的通訊問題

  • 應用層

        最接近終端使用者的OSI層,這就意味著OSI應用層與使用者之間是通過應用軟體直接相互作用的 。我們所熟知的HTTP協議、HTTPS協議、DNS協議、SSH協議、FTP等,都是應用層的協議,而應用軟體通常是通過應用層的這些協議完成通訊。

        TCP/IP 模型(實戰派)

        OSI的模型太過細化,適合理論上的學術研究。TCP/IP的模型較為簡潔,有很強的實用價值。我們來看下這個模型是做了怎樣的簡化呢:

圖1.2 TCP/IP網路模型示意圖

        從示意圖中可以看出,該模型包含了:網路介面層(又稱鏈路層)、網路層、傳輸層和應用層。

        教學中的五層模型(教學派)

        記得計算機網路在講到五層模型,老師特別強調要記牢。五層模型分別是:物理層、資料鏈路層、網路層、傳輸層、應用層。它的示意圖如下所示:

圖1.3 教學中的五層模型示意圖

        在《計算機網路》教材的註解中,明確說明了5層模型只是為了方便介紹計算機網路原理而設計的,而在實際應用中還是TCP/IP四層模型。四層模型中的網路介面層實際就是將資料鏈路層和物理層整合在一起的說法,將其拆分介紹更容易把問題描述的更清晰。

        瞭解了網路模型的基本結構,後面將對網路層、傳輸層和應用層的一些協