TCP分段和IP分片

2021-09-02 13:53:43 字數 1163 閱讀 9993

主要講tcp/ip協議中傳輸層的分段和網路層的分片

1、tcp分段是指在經三次握手後,收發雙方建立起連線通過後,雙方已經協商好並確定彼此要採用的mss(最大分段長度b),mss一般都是按照接受方確定。然後把使用者資料payload按照mss大小進行分段,各個分段資料被逐一新增tcp報頭後(20b),送給下一層網路層。

2、網路層接收到這些分段後,在新增端主要的ip報頭前,按照主機所在的區域網鏈路層mtu(最大傳輸單元b),進行分片,即當tcp分段大小超過該區域網鏈路上的mtu的大小才會發生,並在分片後在每個ip分片前新增ip報頭20位元組。

注:為了避免頻繁ip層分片,一般mtu和mss是對應的。所以tcp在協商時確定的mss就低於mtu,這些下層就不用分段了。

3、當這些ip分片經由網路不同的路徑進行傳輸時,可能會跨越不同的鏈路,即不同的mtu,因此分片在路由器上不斷被進行,注意,該項很消耗路由器的效能,因為資料報越小,產生cpu中斷越頻繁。

注1:分片傳輸的ip資料報不一定按序到達,但ip首部中的資訊能讓這些資料報片按序組裝。ip資料報的分片與重組是在網路層進完成的。

注2:ip分片和完整ip報文差不多擁有相同的ip頭,id域對於每個分片都是一致的,這樣才能在重新組裝的時候識別出來自同乙個ip報文的分片。在ip頭裡面,16位識別號(分段標識identifier)唯一記錄了乙個ip包的id(ipid),具有同乙個id的ip分片將會重新組裝;而13位片偏移(fragmented offset)則記錄了某ip片相對整個包的位置;而這兩個表中間的3位標誌(flags)則標誌著該分片後面是否還有新的分片。這三個域就組成了ip分片的所有資訊,接受方就可以利用這些資訊對ip資料進行重新組織。 

注3:由於udp資料報不會自己進行分段,因此當長度超過了mtu時,會在網路層進行ip分片。

同樣,icmp(在網路層中)同樣會出現ip分片情況。所以,udp資料報由ip層來分段,tcp資料報自分段!

ip報頭格式

ip分片原理及分析

tcp/ip詳解--tcp的分段和ip的分片

整理 TCP分段和IP分片

我們在學習tcp ip協議時都知道,tcp報文段如果很長的話,會在傳送時發生分段,在接受時進行重組,同樣ip資料報在長度超過一定值時也會發生分片,在接收端再將分片重組。我們先來看兩個與tcp報文段分段和ip資料報分片密切相關的概念。mtu 最大傳輸單元 mtu前面已經說過了,是鏈路層中的網路對資料幀...

TCP分段與IP分片

我們在學習tcp ip協議時都知道,tcp報文段如果很長的話,會在傳送時發生分段,在接受時進行重組,同樣ip資料報在長度超過一定值時也會發生分片,在接收端再將分片重組。我們先來看兩個與tcp報文段分段和ip資料報分片密切相關的概念。myu 最大傳輸單元 mtu前面已經說過了,是鏈路層中的網路對資料幀...

TCP分段與IP分片

鏈路層的乙個作用就是資料成幀,幀包括了head和data,而data有大小限制,就是常說的mtu,對乙太網來說是1500位元組。data包括了上層的網路層head和傳輸層head,這兩個head共佔了40位元組,剩下的資料大小不能超過1460位元組,也就是mms。mss是tcp資料報每次能夠傳輸的最...