3ウェイ・ハンドシェイク (
スリーウェイハンドシェイク, three-way handshaking) とは、
TCP などにおいて使用されている接続を確立するための手順であり、つぎの 3 ステップによって構成される。
- 通信の要求者が相手に対して SYN パケットを送信する。
- SYN パケットを受けとった通信相手は、その要求者の接続を許可する SYN ACK パケットを送信する。同時に通信相手は接続を準備するために、その要求者との 接続用の情報を記憶する領域を割り当てる。
- SYN ACK パケットを受けとった要求者は、接続開始をあらわす ACK パケットを送信し、通信相手との通信を開始する。
TCP が 3 ウェイ・ハンドシェイクを
行うので
TCP を使用する通信においては 3 ウェイ・ハンドシェイクを
行う必要はない。しかし、
UDP においては 3 ウェイ・ハンドシェイクがおこなわれないため、
UDP を使用する上位の
プロトコルである
SIP などにおいても 3 ウェイ・ハンドシェイクが
行われる。
SIP において上記の SYN、SYN
ACK、
ACK に対応するメッセージが INVITE、200 OK、
ACK である。