5

私は実際に、tcp ハンドシェイクで、ハンドシェイクを完了するためにクライアントが ack を返す必要がある理由を知りたかったのです。syn と syn-ack の後、両者はデータを開始するのに十分な情報を持っていますが、それでも tcp はクライアントの ack を確立状態に移行するように要求します。

問題は、なぜこの 3 ウェイ ハンドシェイクが信頼性を達成するために必要かつ十分な条件であるかということです。

洞察はありますか?

4

1 に答える 1

4

サーバーは、クライアントが SYN-ACK を受信したことをどのように認識しますか? クライアントが ACK を明示的に送信して syn-ack を受け取ったことを確認しない限り、サーバーはこれを知る方法がありません。

この 3 番目の ACK がドロップされた場合、サーバーは SYN-ACK を再送信し、クライアントがその重複した SYN-ACK を取得すると、「ああ、以前の ACK がドロップされたに違いないので、再送信します。 ACK」。これは、サーバーが AKC を取得するまで続きます。

于 2012-06-07T15:09:18.190 に答える