私のアプリケーションは TCP を使用してサーバーに接続し、システムは正常に動作しています。Wireshark を使用すると、60 バイトの一部の TCP パケットがデータなしで送信されることに気付きました。これは正常ですか?
TCP 送信とハンドシェイクの一部として、データなしで送信されたパケットがありますか?
ありがとうクマール
ACKデータを伝送せず、受信データのみを確認するパケットがあります。Wireshark を使用する場合、空のパケットにこれらの「フラグ」を表示する必要があります。
より正確に言うと、wireshark キャプチャのスクリーンショットを表示する必要があります。これにより、意味するサイズがわかります。一方、ここで IPv4 TCP トラフィックの ACK パケットを分析した結果は次のとおりです。
プロトコル サイズ 説明
イーサネット プロトコル 14 バイト 2 MAC アドレス (6 バイト)、プロトコル タイプ (2 バイト)
インターネット プロトコル 20 バイト デフォルトのヘッダー サイズ
TC プロトコル 32 バイト デフォルトのヘッダー サイズ (20 バイト) + オプション (12 バイト)
____________________________________________________________________________________
合計 66 バイト
EP 52バイトなし(おそらくOPが話しているサイズ)
EP なし、Opts 40 バイト (コメントで説明されているサイズ)
私の場合のオプションは、2 つの NOP (各 1 バイト) と 2 つのタイムスタンプ (各 5 バイト??) でした。プロトコルの順序は Wireshark と同じです。
Wireshark は情報を各フィールドに分割するため、何がどれだけのスペースを占めているかを確認できます。