本文へスキップ

TCPスリーウェイハンドシェイクとは?

てぃーしーぴーすりーうぇいはんどしぇいく

TCPスリーウェイハンドシェイクとは、TCP通信を開始する前にクライアントとサーバーが3回のメッセージを交換して接続を確立する手順のことです。

TCPスリーウェイハンドシェイク(Three-Way Handshake)とは、TCP(Transmission Control Protocol)を使った通信を開始する際に、送信側(クライアント)と受信側(サーバー)が3段階メッセージ交換を行って信頼性のある接続を確立するプロコル上の手続きです。

スリーウェイハンドシェイクは以下の3ステップで構成されます。

  1. SYN(同期):クライアントがサーバーに接続要求(SYNパケット)を送り、通信の開始を宣言する
  2. SYN-ACK(同期確認):サーバーが接続を受け入れ、自身のSYNと受信確認(ACK)を同時に返す
  3. ACK(確認):クライアントがサーバーのSYN-ACKを受け取ったことを確認し、ACKを返す
この3段階のやり取りが完了すると、双方向の通信路が確立され、HTTPなどの上位プロトコルによるデータ転送が開始されます。

スリーウェイハンドシェイクが必要な理由は、クライアントからサーバーへの経路とサーバーからクライアントへの経路の両方が正常に機能することを、通信開始前に双方が確認するためです。2回では一方向しか保証できず、4回以上では冗長になることから、3回が最小かつ十分な手順として設計されています。

なお、TCPにはコネクションを切断するための「フォーウェイハンドシェイク(4ウェイ)」も存在します。また、HTTP/3ではUDPベースのQUICプロトコルが使われ、接続確立のレイテンシがより短縮されています。

使い方・例文

WebブラウザでWebサイトにアクセスする際、HTTPSのデータが送られる前に、まずTCPスリーウェイハンドシェイクによってブラウザとサーバーの間に接続が確立されます。ネットワーク遅延が大きい環境ではこの3回の往復がページ表示速度に影響します。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語