3ウェイハンドシェイクとは、TCP通信において、クライアントとサーバーの間で通信の接続を確立する3つのステップからなる手順です。具体的には、「SYN(接続要求)」、「SYN-ACK(接続要求と確認応答)」、「ACK(確認応答)」の3つのパケットをやり取りし、通信の開始を確実にするものです。
3ウェイハンドシェイクの手順
- SYN(同期):
- クライアントがサーバーに対し、通信を開始したいという意思表示であるSYNパケットを送信します。
- このパケットには、シーケンス番号が含まれています。
- SYN-ACK(同期+確認応答):
- サーバーがSYNパケットを受け取ると、通信を承諾するSYN-ACKパケットをクライアントに返します。
- このパケットには、サーバー自身のシーケンス番号と、クライアントから受け取ったシーケンス番号に$1$を加えた確認応答番号が含まれます。
- ACK(確認応答):
- クライアントがSYN-ACKパケットを受け取ると、サーバーに対しACKパケットを送信します。
- このパケットには、サーバーから受け取ったシーケンス番号に$1$を加えた確認応答番号が含まれます。
- これでクライアントとサーバー間の通信路が確立され、データのやり取りが開始できます。

コメント