【てぃーしーぴーはんどしぇいく】
TCPハンドシェイク とは?
最終更新:
💡 3段階のやり取りで、TCP接続の出発点をそろえる
TCP接続を確立し、双方の初期シーケンス番号を同期するための手順。一般的にはSYN、SYNとACK、ACKの3段階を交換するため、3ウェイハンドシェイクと呼ばれる。
📌 このページのポイント
なぜ3回やり取りするの?
ACKの番号はどう決まるの?
例えばクライアントの最初の番号が100、サーバーが300なら、SYNへの確認番号はそれぞれ101と301になるよ。SYNはシーケンス番号を一つ使うので、受け取った番号に1を足した値で確認するんだ。
接続には必ず1.5往復かかるの?
どちらから、どの時点まで測るかで変わるよ。損失や処理時間を無視すれば、クライアントがSYNとACKを受け取るのは約1往復後。最後のACKがサーバーへ届くのは、その後さらに片道分。再送があればもっと時間がかかるんだ。
これで安全な相手だと分かる?
SYNフラッドって、この手順と関係があるの?
📖 おまけ:英語の意味
「TCP Three-Way Handshake」 = TCPの3方向の握手
💬 handshakeは「握手」。通信の開始時に情報を交換する手順を握手にたとえた言葉だよ。人の身元確認や暗号化まで意味するものではないんだ。