Why was TCP 3 way handshake designed? What actual problems does it solve?

Started by networkloser, December 02, 2023, 08:20:56 AM

Previous topic - Next topic

deanwebb

The answer is in the nature of TCP where it wants to guarantee transmission. The three way handshake means that the recipient can get a message from the sender, the sender can get acknowledgement from the recipient, and the recipient can get final acknowledgement from the sender - it means the connection is stable enough for bidirectional transmission.

Compared to UDP, which is connectionless, TCP has much greater overhead. This is why voice and video protocols rely on UDP and some modern applications for HTML such as Google's QUIC also go with UDP. It will send faster and if parts are missing, then error correction on the client end can patch things over. But for secure data transmission where completeness is required and integrity must be assured, then heavier TCP-based protocols are needed.

Consider these jokes:

I have a UDP joke, and I don't care if anyone gets it.  ;D

***

Hello, would you like to hear a TCP joke?
Yes, I'd like to hear a TCP joke.
OK, I'll tell you a TCP joke.
Okay, I will hear a TCP joke.
Are you ready to hear a TCP joke?
Yes, I am ready to hear a TCP joke.
Okay, I am about to send the TCP joke. It will last 50 seconds, has 634 characters, does not have an explicit setting, and ends with a punchline.
Okay, I am ready to get the TCP joke that will last 50 seconds, has 634 characters, does not have an explicit setting, and ends with a punchline.
I'm sorry, your connection timed out ... Hello, would you like to hear a TCP joke?
Take a baseball bat and trash all the routers, shout out "IT'S A NETWORK PROBLEM NOW, SUCKERS!" and then peel out of the parking lot in your Ferrari.
"The world could perish if people only worked on things that were easy to handle." -- Vladimir Savchenko
Вопросы есть? Вопросов нет! | BCEB: Belkin Certified Expert Baffler | "Plan B is Plan A with an element of panic." -- John Clarke
Accounting is architecture, remember that!
Air gaps are high-latency Internet connections.