The three-way handshake is a multi-stage handshake procedure for mutual authentication and for establishing a connection between two instances. It is mainly used in network technology and can be implemented over three separate lines or over three communication phases.
In contrast to normal handshake operation, the 3-way handshake establishes lossless data transmission between two instances in three steps, for example between a client and a server or between host A and host B. The three-step handshake procedure is used to establish a connection between two instances. According to the procedure, a client makes a request to a server. The server requests authentication from the client and must authenticate itself to the client to ensure that it has the requested user data.
When a connection is established, three data packets are transmitted to establish the connection. The instance that initiates the connection setup sends a connection request to the communication partner. This is done in a connect request packet in which connection parameters and sequence numbers for the start sequence are proposed. If the receiving station accepts this connection request, then it sends a Connect-Response packet to the sending station. After the initiator has confirmed the response with a positive acknowledgement( ACK), data packets can be transmitted.
In the TCP protocol, where the 3-way handshake is used to establish and terminate the connection, host A sends a data packet with a synchronization flag( SYN) to host B. The host B receives the synchronization flag. The latter receives the synchronization flag from host A and acknowledges host A's SYN request with a SYN ACK, a synchronization flag (SYN) and acknowledgement flag (ACK). Host A in turn acknowledges receipt of the SYN-ACK flags with an acknowledgement flag (ACK). Host B receives the acknowledgement flag from Host A and establishes the socket connection.
The three-way handshake is used in various network protocols. Among others in the Challenge Handshake Authentication Protocol( CHAP). A higher level of security is provided by the four-way handshake used in WLANs according to 802.11i and 802.11ac.