Wiresharkを介してマシン1からマシン2へのファイル転送をキャプチャしています。私は再送信エラーをキャプチャできませんが、他の人は約10〜15の再送信エラーとアンダーランエラーをキャプチャできます。
Wire-sharkキャプチャを分析すると、主な違いは、キャプチャでSACK_PERM
フラグが設定されていないのに対し、他のキャプチャではSACK_PERM=1
であることがわかりました。
以下であり
8535 7.272671 172.23.165.254 10.108.32.29 TCP 62
[TCP再送信] 29537 → 389 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 SACK_PERM=1
ネットワーク伝送におけるSACK_PERM
flag
の影響を誰かが説明できますか?
前もって感謝します。
これは、 RFC 2018 、「TCP SelectiveAcknowledgementOptions」の「Sack-Permitted」オプションです。 2台のマシンは「選択的確認応答」を使用できると書かれています。つまり、「このシーケンス番号までのすべてのバイトを取得しました」と言う代わりに、「この範囲のすべてのバイトとこの範囲のすべてのバイトを取得しました」と言うことができます。他の範囲」、リストされていない範囲のバイトは受信されなかったという意味で、いくつかの範囲の前後にバイトを取得したと言うことができます、ただし範囲の中央のバイトではありません。