Wireshark重新組裝的PDU由TCP段大小> MSS組成?

Wireshark重新組裝的PDU由TCP段大小> MSS組成?

我正在查看某人提供的 Wireshark 記錄,為他們分析一些內容。 Wireshark 可以輕鬆地重新組裝 3 個 TCP 段,所有這些段都傳輸單一 TLS 封包。 TLS 封包無法放入 1460 位元組的 MSS,因此主機從中建立了 3 個 TCP 段,wireshark 已偵測到這一點:

[3 Reassembled TCP Segments (5914 bytes): #8(1440), #10(1440), #12(3034)]
    [Frame: 8, payload: 0-1439 (1440 bytes)]
    [Frame: 10, payload: 1440-2879 (1440 bytes)]
    [Frame: 12, payload: 2880-5913 (3034 bytes)]
    [Segment count: 3]
    [Reassembled TCP length: 5914]
    [Reassembled TCP Data: ... ]

這很棒,但我不明白的是為什麼第三段的大小超過了該 TCP 連接的 MSS,這是在 SYN/SYN+ACK 上以 1460 位元組協商的。

答案1

後來我自己找到了原因:這是由於大量接收卸載正如所解釋的http://rtoodtoo.net/generic_segmentation_offload_and_wireshark/。主機的網路介面卡或核心收集多個 TCP 段並將其合併為一個大段,然後傳遞到使用者空間。

因此,當將流量記錄為超出允許的 MTU 和 MSS 的單一 TCP 段/IP 封包時,它看起來像是 Wireshark。

相關內容