(also TCP 3-way handshake, three-way handshake)
TCP handshake definition
TCP handshake is a process in TCP/IP networks to establish a working connection between a server and a computer. The process consists of three steps – hence its alternative names – and requires both the server and client to synchronize and negotiate communication conditions.
TCP handshake uses three messages: SYN, SYN+ACK, and ACK.
TCP handshake message types
- SYN (synchronize) – used to initiate a TCP handshake and establish synchronization between the client and the server. It is typically sent by the client. The SYN message contains a sequence number unique to the connection.
- SYN+ACK (synchronize + acknowledge) – sent by the server to confirm that the SYN message has been received. It uses the sequence number to identify the connection.
- ACK (acknowledge) – sent again by the client to acknowledge the server’s response. It confirms that the connection can be established and allows both devices to send and receive data.