TCP の 3 ウェイ ハンドシェイクが確認応答時にシーケンス番号を変更するのはなぜですか?

StackOverflow https://stackoverflow.com/questions/6804979

  •  25-10-2019
  •  | 
  •  

質問

どして 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 このパケットにはフラグを設定する必要があります)、そのシーケンス番号を再度期待していることを示します (つまり、受け取っていません)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top