Jul 30, 2023 Rahul Sharma
One of the first things taught in an undergrad-level digital communication courses is Three-way handshake, which is used to establish connection between a client and server over a TCP/IP network before an exchange of data can occur. It usually goes like:
*1. Client: “Hey server, here’s a SYN segment in the TCP packet I just sent you. Can you open a connection for me?”
Server: “Hey client, I acknowledge your request (ACK) and I'd like to open a connection with you as well (SYN). Please take the two segments from me.”
Client: “Cool, I acknowledge your request as well! Sending you my ACK.”*
Here’s a popular diagram you might have seen before:
source: workat.tech
One of the best parts about the Three-way handshake is the acknowledgement that the recipient has received (and understood) the message. Without that, the sender can only hope that the message made it through to the intended recipient.
Here are a couple of situations I have ran into in the past:
Co-worker 1: Hey, can you send me the ABC file you were working on? Me: Sure, here you go. Co-worker 1: ...
Co-worker 2: Hey, can you send me the XYZ code? Me: Sure, here is the link to the repo. Co-worker 2: ...
In both cases, I could not be sure whether they got the ABC file or could access the XYZ code. It may also be possible that the ABC file did not include the information they were looking for or the XYZ code didn’t run correctly for them. Sending an ACK would have informed me whether my reply was sufficient or more action was needed.
We don’t even need to go to Three-way handshake to take the inspiration, “Overcommunication” is a well known speak in corporate, or even the military style of saying “COPY / OVER” at the end of a sentence. It imparts a conviction in a dialog that both parties are on the same page.
FIN