What Is A Handshake?

 What Is A Handshake

Date First Published: 23rd February 2022

Topic: Computer Networking

Subtopic: Data Transmission Technologies

Article Type: Computer Terms & Definitions

Difficulty: Advanced

Difficulty Level: 8/10

Learn more about what a handshake is in this article.

In computing, a handshake refers to the process of a signal or a connection being established between two devices. In a similar way to how a real handshake means the shaking of someone’s hand with one’s own as a greeting, a handshake in computing refers to two computers greeting each other when they connect. When two devices send messages to each other, it is known as handshaking. In the handshake process, the client requests access, the server grants it, and the protocols are agreed.

Note: Info Icon

A modem connecting to another modem is an example of a handshake, since the sounds heard after the dialling is the handshake, which is indicative of two devices greeting each other. Another example of when a handshake is used is SMTP (Simple Mail Transfer Protocol), the protocol used for transferring outgoing mail from one server to another. It uses handshaking for the purposes of encryption, authentication, and maximum message size.

3-Way Handshakes

A 3-way-handshake, also known as SYN-SYN-ACK is handshaking over a network. It is a method used in a TCP/IP network for establishing a connection between a client and a server. 3-way handshakes support communication between a client's web browser as well as a server. There are three steps of a 3-way handshake mostly used for creating a TCP connection in order to reliably transmit data between devices, which include:

  1. A connection between the server and the client is established.
  2. The SYN (Synchronise Sequence Number) packet is received by the server from the client's device that is connected to the network.
  3. The client's device receives the SYN/ACK (Acknowledgement Sequence Number) from the server and responds with an ACK packet.

End Results

When two devices complete a handshake with each other, there are three possible end results, which include:

  • Connection accepted - The connection is accepted by the device receiving the request and the device receiving the connection is available. The only end result that means the handshake is successful and completed. Once a handshake is completed, the two devices can start communicating and transferring data over the protocol. The protocol used could be TCP (Transmission Control Protocol) and the data could be transferred over SSL/TLS (Secure Sockets Layer/Transport Layer Security). UDP does not implement a 3-way-handshake.
  • Connection refused - The device receiving the handshake is available, but the connection is denied by the device receiving the request.
  • No response - The device receiving the handshake is unavailable and unable to respond to the request, which could be due to the device not supporting the protocol that the other device uses.


Feedback

  • Is there anything that you disagree with on this page?
  • Are there any spelling, grammatical, or punctuation errors on this page?
  • Are there any broken links or design errors on this page?

If so, it is important that you tell me as soon as possible on this page.