
誰かから提供された Wireshark レコードを調べて、その人のために何かを分析しています。Wireshark は、1 つの TLS パケットを転送する 3 つの TCP セグメントを都合よく再構成しました。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: ... ]
これは素晴らしいことですが、理解できないのは、SYN/SYN+ACK で 1460 バイトにネゴシエートされたこの TCP 接続の MSS を超えるサイズの 3 番目のセグメントが存在する理由です。
答え1
その後、私は自分でその理由を見つけました。これは大規模な受信オフロード説明されているようにhttp://rtoodtoo.net/generic_segmentation_offload_and_wireshark/ホストのネットワーク インターフェイス カードまたはカーネルは、複数の TCP セグメントを収集し、ユーザー空間に渡す前に 1 つの大きなセグメントにマージしました。
そのため、Wireshark では、トラフィックが、許可された MTU と MSS を超える単一の TCP セグメント/IP パケットとして記録されたように見えました。