Skip to main content

Home TCP handshake

TCP handshake

(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.