數據段、數據報、數據包、幀的區別與聯繫

幀與數據包

首先不容易理解的是數據包

數據包,就是從最上層,一層一層封裝,直到網絡層的,最後藉由數據鏈路層發送出去的數據單元。

幀,是數據鏈路層的傳輸單元。

這麼一看,數據包和幀好像沒什麼不一樣,好像數據傳遞的都是一樣的。可是爲什麼會把它們區分開呢?學習 TCP/IP 協議的同學應該都知道,數據鏈路層中有 MTU 這樣一個東西,它是幀最大傳輸單元。

數據包是一個完整的數據單元,但是如果數據包的大小超過了 MTU 呢?所以,可能許多幀組合在一起,才能形成一個完整的數據包,這就是幀和數據包的關係。

數據包與數據報

說完了數據包與幀,那麼數據包與數據報又是什麼關係呢?

數據包是整個的數據單元,那麼數據報就是組成這一個數據單元的分組。每一層封裝後的數據都可以稱作數據報也就是說,一個完整的數據包是有若干個數據報組成的。

而和幀不同的是,幀是作爲數據鏈路層的傳輸單元,而數據報數據包的分組。

數據段

在看協議的時候,有了一個疑問,那就是同是在傳輸層的 TCP 和 UDP 兩個協議,一個稱爲 TCP 數據段,一個稱爲 UDP 數據報。這是爲啥嘞?

原來上面的數據報還有一條,數據報是面向無連接傳輸的協議,而 TCP 是面向連接的協議。

UDP 是無連接的協議,就是隨着 IP 一起傳輸就可以了,不必去管連接和分組問題。可是 TCP 不一樣了,面向連接,在數據部分很大的時候,要分組。這樣每個分組就稱爲 TCP 數據段。這些 TCP 段組成了一個完整的 TCP 數據報。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章