TCP の 3 ウェイ ハンドシェイクが確認応答時にシーケンス番号を変更するのはなぜですか?
質問
どして TCP スリーウェイ ハンドシェイク 最初のハンドシェイク中に確認応答するときにシーケンス番号をバンプしますか?確認応答番号をシーケンス番号と同じままにしておくよりも、どのように優れているのでしょうか?
接続は次のように確立されます
Client sends SYN,A
Server responds with SYN-ACK,A+1,B
Client confirms with ACK,B+1
それよりもどのように優れていますか
Client sends SYN,A
Server responds with SYN-ACK,A,B
Client confirms with ACK,B
解決
それは、 ACK
フィールドは、 ACK
フラグが設定されています:
確認応答番号 (32 ビット) – ACK フラグが設定されている場合、このフィールドの値は受信者が予期する次のシーケンス番号になります。
(初期シーケンス番号 + 1) に設定されていない場合は、両方の ACK が一貫性を持たないことになります。 SYN
(両方 SYN
そして ACK
このパケットにはフラグを設定する必要があります)、そのシーケンス番号を再度期待していることを示します (つまり、受け取っていません)。
所属していません StackOverflow