云杰通信助您了解行業,全方位掌握國際互聯網最新資訊
大學《計算機網絡》教科書上有經典的網絡ISO七層模型,但七層劃分太細了,稍顯繁瑣,不容易記住。
互聯網協議族TCP/IP按粗粒度的四層劃分,兩種劃分的對照圖讓彼此關系一目了然。
分層是計算機領域的常用技巧,比如互聯網后端的三層架構“接入-邏輯-存儲”就是分層思想的典型應用。
分層是為了隔離,通過分層劃分職能,拆解問題,層與層之間約定接口,屏蔽實現細節。
TCP/IP自下到上劃分為鏈路層、網絡層、傳輸層、應用層。下層向上層提供能力,上層利用下層的能力提供更高的抽象。
1.鏈路層,也稱網絡接口層,包括操作系統的設備驅動程序和網卡,它們一起處理與傳輸媒介(光纖等)的物理接口細節。
2.網絡層,也就是IP層,負責處理IP datagram在網絡中的傳輸,IP層傳輸的是IP datagram,借助路由表,把IP datagram從網絡的一端傳輸到另一端,簡而言之:IP實現包的路由傳輸,IP協議和路由器工作在網絡層。
3.傳輸層,提供端到端之間的通信,包括提供面向連接和高可靠性的TCP,以及無連接不可靠的UDP。貌似TCP更好,但實際不是這樣,UDP因為不需要建連開銷,所以更快,應用得也很廣,比如新一代互聯網協議HTTP3就從TCP轉向UDP,應根據適應場景選擇傳輸層協議。
4.應用層,跟應用相關,不同應用解決不同問題,需要不同的應用層協議。
鏈路層處理數據在媒介上的傳輸,以及主機與網卡、光纖等打交道的細節。因為與硬件相關,所以需要借助系統的驅動程序,鏈路層協議就是定義這些細節的,比如怎么把數據從網卡發送到光纖,采用什么格式編碼等,它解決的數據在媒介上表示、流動的問題。
光有鏈路層功能肯定是不夠的,網絡上有成千上萬的機器,主機A與B通信,你不能將數據發到主機C,所以仿照現實,要為主機分配網絡地址,通過IP地址去標識網絡中的一臺主機,發送一個數據包,需要正確路由到目的地,這就好比你從家到公司,要經過哪些路徑,需要地圖,而路由表就類似這張地圖。IP解決的是數據包在網絡中的傳輸路由的問題。
有了網絡層的傳輸路由能力,還不夠,因為IP報在傳輸過程中可能丟包,比如中間經歷過的路由器緩沖區滿了便會丟包,這樣不可靠,如果需要可靠傳輸的能力,便需要傳輸層基于IP層,提供更多的能力,TCP解決了可靠性問題。具體而言,如果丟包了,TCP層會負責超時重傳,它通過接收確認和重傳機制保證了可靠傳輸。另外,因為IP報都是獨立路由的,所以從主機A到主機B,一份數據被拆分成x、y兩個IP報先后發送,這2個包可能選擇不同的傳輸路徑,這樣有可能y包先于x包到達,但我們希望在接收端(主機B)恢復這個數據的信息,但我們無法控制IP報的到達順序,所以,我們需要在接收端恢復數據,我只需要在x、y包里記錄它屬于數據塊的哪個部分,然后重組這份數據,這正是TCP做的,它會重新組裝IP報,從而保證順序性,遞交給應用層。
有時候并不需要保證可靠性和順序性,這便是UDP能提供的,它只是簡單的把數據封裝成IP報,然后通過IP層路由發送到目的端。
再往上,便是應用層協議了,比如http,又比如游戲服務器自定義協議,應用層協議通?;赥CP或者UDP做傳輸。
文章標題:《經典網絡七層模型分層概念》
作 者:云杰小編。本文部分資料來源于網絡,轉載目的在于傳遞更多信息及學習參考:http://www.lulutops.com/showinfo-114-2960-0.html