有兩臺機器A和B直連,現在從B訪問A中的視頻。A回傳給B的抓包中全是按自己的MTU分好的TCP報文。但在B上抓的包的大小確是不規則的,為什么呀!B對A進行了分片重組嗎?截圖如下:上面是A,下面是B
uj5u.com熱心網友回復:
https://packetbomb.com/how-can-the-packet-size-be-greater-than-the-mtu/https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/hh997024(v=ws.11)?redirectedfrom=MSDN
簡單說就是網卡對接收的資料包進行了合并。
合并后的資料包基本是原來分片的整數倍,但是差了一點點。具體差的是什么,不知道有沒有高手來算算。
uj5u.com熱心網友回復:
應該是資料頭合并了吧uj5u.com熱心網友回復:
合并一次減少92位元組,不知道除了TCP頭20位元組外還有什么?uj5u.com熱心網友回復:
+Ip頭 ipv4 20位元組吧 以太網幀頭 ,還有啥不清楚了,點開一個發的資料包和收的資料包對比一下詳情呢uj5u.com熱心網友回復:
關掉GRO看看uj5u.com熱心網友回復:
A發出來的報文明顯是符合 MTU要求的, 而B端 明顯已經merge 過了, 關掉GRO 應該就一致了。uj5u.com熱心網友回復:
為什么我一次性write 近10K的資料,wireshark沒顯示分包的明細啊,就顯示1個包,長度是完整的近10K轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/11356.html
標籤:內核源代碼研究區
