TCPスリーウェイハンドシェイクとは?
てぃーしーぴーすりーうぇいはんどしぇいく
TCPスリーウェイハンドシェイクとは、TCP通信を開始する前にクライアントとサーバーが3回のメッセージを交換して接続を確立する手順のことです。
TCPスリーウェイハンドシェイク(Three-Way Handshake)とは、TCP(Transmission Control Protocol)を使った通信を開始する際に、送信側(クライアント)と受信側(サーバー)が3段階のメッセージ交換を行って信頼性のある接続を確立するプロトコル上の手続きです。
スリーウェイハンドシェイクは以下の3ステップで構成されます。
- SYN(同期):クライアントがサーバーに接続要求(SYNパケット)を送り、通信の開始を宣言する
- SYN-ACK(同期確認):サーバーが接続を受け入れ、自身のSYNと受信確認(ACK)を同時に返す
- ACK(確認):クライアントがサーバーのSYN-ACKを受け取ったことを確認し、ACKを返す
スリーウェイハンドシェイクが必要な理由は、クライアントからサーバーへの経路とサーバーからクライアントへの経路の両方が正常に機能することを、通信開始前に双方が確認するためです。2回では一方向しか保証できず、4回以上では冗長になることから、3回が最小かつ十分な手順として設計されています。
なお、TCPにはコネクションを切断するための「フォーウェイハンドシェイク(4ウェイ)」も存在します。また、HTTP/3ではUDPベースのQUICプロトコルが使われ、接続確立のレイテンシがより短縮されています。
使い方・例文
WebブラウザでWebサイトにアクセスする際、HTTPSのデータが送られる前に、まずTCPスリーウェイハンドシェイクによってブラウザとサーバーの間に接続が確立されます。ネットワーク遅延が大きい環境ではこの3回の往復がページ表示速度に影響します。
この用語をシェア
最終更新: