剛剛終於想明白了關於tcp分片後,為什麼抓包是從來沒看到過ip分片,而在pingicmp報文的時候,很容易就出現ip分片。
之前考慮問題只考慮了一方面:作為接收方,tcp的mss欄位和ip的mtu欄位,在tcp連線的前兩次握手時,溝通好了,以小的值為最大傳輸位元組。(一般情況下mtu=40+mss。具體參考其他部落格)。
考慮到傳送的過程就很容易明白為什麼tcp分片後,ip一定不會分片?因為在傳送資料打包的時候,tcp報文的長度一定是小於ip的mtu大小的,所以,乙個tcp資料報只對應乙個ip報文,所以在二層一下傳輸的時候就不會存在ip分片。
IP分片和TCP分片的區別
前段時間要做乙個關於網路嗅探的程式,裡面要重組ip分片,tcp分片.但做的時候忽視了乙個很重要的東西 ip分片與tcp分片弄混淆了.首先宣告 tcp分片應該稱為tcp分段.區別 1.ip分片產生的原因是網路層的mtu tcp分段產生原因是mss.2.ip分片由網路層完成,也在網路層進行重組 tcp分...
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資料報每次能夠傳輸的最...