TCPスリーハンドシェイクとは
TCPスリーハンドシェイクとは、TCP通信が開始される前の通信の信頼を担保するための仕組みです。
通信相手への要求をTCPパケットにはフラグで示します。フラグにはいくつかあります。SYN、ACK、RST、FINなどです。
TCPスリーハンドシェイクは、SYN、SYN-ACK、ACKの3つのステップで実行されます。
- クライアントがランダムに決めたシーケンス番号を付与したSYN(同期したい)パケットを送ります。
- これに対してサーバは受け取ったシーケンス番号と1を加えたACK(確認しました)番号を付与したSYN+ACK(同期したいし、確認もしている)パケットを返信します。
- クライアントが受け取ったシーケンス番号に1を加えたものとACK番号を付与したACK(確認しました)パケットを送信することで接続の確立されます。
確立された接続は、最終的にRST(接続をリセット)またはFIN(接続を正常に終了)で終了します。