先上一張圖
沒錯,這就是傳輸中的TCP/IP分層模型。
TCP/IP分為四層:應用層、傳輸層、網路層、鏈路層。
關於四層模型的介紹,網上可謂汗牛充棟,概念何其艱深,比如:
- 應用層:決定了向使用者提供應用服務時通訊的活動
- 傳輸層:對上層應用層提供處於網路連線中的兩臺計算機之間的資料傳輸
- 網路層:處理在網路上流動的資料包
- 鏈路層:處理連線網路的硬體部分。
相信你看完還是一頭霧水。
要理解TCP/IP,我們依舊要先搞清楚它想幹嘛?
一句話概括,就是用最少的資源,準確快速的把資訊傳送到對端去。
那麼這裡面就有很多問題要解決了:怎樣充分利用資源?用資源怎麼發資訊?怎樣找到對端?怎樣做到準確?怎樣快速?怎樣保證對端完整收到資訊?………
對於學計算機的我們,這個時候應該就能想到,這麼多問題,不可能一次性解決,需要分解,分模組來解決,TCP/IP分層模型也是這麼想的。
首先是怎樣充分利用資源,用什麼物質傳又省錢又好用?這就是物理層要解決的問題了,這裡展開來就是無線銅線光纖損耗等等的問題。很好理解。
然後知道介質了,怎樣把資訊傳給裝置?這就是資料鏈路層要解決的問題了。這裡需要解決資訊的封裝問題,資訊傳送機制問題。所以這一層的所有協議設計都是圍繞著怎麼傳資訊展開。
理論上到這裡就結束了,但隨著入網裝置越來越多,就需要被管理了,所以網路層就來解決網路管理的問題。IP層是整個網路分層裡承上啟下的核心,他主要解決兩個問題,一個是編號,一個是找人。網路太大,人太多,認識不過來,所以要用ip地址給人編號。編完號找人,幾十億人一個個問也不可行,也是要講方法的,所以這裡就有了路由技術。網路層的關鍵是路由技術,路由技術解決怎樣快速準確找到對端的問題。
找到對端後,怎樣保證對端完整收到資訊?這就是傳輸層要解決的問題了,這裡就有傳送速度的調節,傳送資訊的驗證,傳完資訊的確認等等問題,對應的TCP和UDP也是兩種不同的實現思路。
來到這裡,關於網路的問題基本上就結束了,因為終端已經拿到了別人發過來的資訊了,至於怎麼處理資訊,就是會話層,表示層,應用層的問題了。不同的應用程式有著不同的通訊協議(Email——SMTP,Web——Http,檔案傳輸——Ftp等),這些通訊協議都工作在應用層。
可見,分層之間相互獨立,卻又是緊密合作,他們的出現不是無中生有,而是在問題的解決中,不斷成熟並定形的。
有了以上的瞭解,再看看開頭的那張圖……
現在是不是好理解得多~
傳送端在層與層之間傳輸資料時,每經過一層時必定會被打上一個該層所屬的首部資訊。反之,接收端在層與層傳輸資料時,每經過一層時會把對應的首部消去。
好了,本文就到這,如果你有更好的見解,歡迎留言~