Повторно собранный PDU Wireshark состоит из сегмента TCP размером > MSS?

Повторно собранный PDU Wireshark состоит из сегмента 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: ... ]

Это здорово, но я не понимаю, почему размер третьего сегмента превышает MSS этого TCP-соединения, согласованного на уровне SYN/SYN+ACK и составляющего 1460 байт.

решение1

Впоследствии я сам нашел причину: это происходит из-заБольшой прием разгрузкикак объяснено наhttp://rtoodtoo.net/generic_segmentation_offload_and_wireshark/. Сетевая карта или ядро ​​хоста собирали несколько сегментов TCP и объединяли их в один большой сегмент перед передачей в пространство пользователя.

Так показалось Wireshark, когда он записал трафик как один сегмент TCP/IP-пакет, превышающий допустимые MTU и MSS.

Связанный контент