Skip to main content

Command Palette

Search for a command to run...

TCP Explained Simply

Published
4 min read
TCP Explained Simply

How Reliable Communication Works on the Internet

Before data became instant and reliable, sending information over a network was messy.

Packets could arrive late.
Packets could arrive out of order.
Packets could disappear completely.

So the internet needed rules.

That’s where TCP (Transmission Control Protocol) comes in.


What Is TCP and Why Is It Needed?

TCP is a transport-layer protocol that ensures data is:

  • Delivered reliably

  • Delivered in the correct order

  • Delivered completely

  • Delivered only once

In simple words:

TCP makes sure the data you send is the data that arrives.

Without TCP, the internet would feel broken — half-loaded pages, missing files, corrupted messages.


What Happens If Data Is Sent Without Rules?

Imagine sending pages of a book by throwing them into the air:

  • Some pages may never arrive

  • Some arrive twice

  • Some arrive out of order

That’s exactly what happens without TCP.

TCP exists to solve this chaos.


Problems TCP Is Designed to Solve

TCP is designed to handle:

  • ❌ Packet loss

  • ❌ Duplicate packets

  • ❌ Out-of-order delivery

  • ❌ Network congestion

  • ❌ Unreliable connections

It turns an unreliable network into a reliable communication channel.


What Is the TCP 3-Way Handshake?

Before any real data is sent, TCP makes sure both sides are ready.

This happens using the 3-Way Handshake.

Think of it as starting a polite conversation.


The 3-Way Handshake (Simple Analogy)

Imagine a phone call 📞:

  1. Client: “Hey, can we talk?”

  2. Server: “Yes, I can hear you. Can you hear me?”

  3. Client: “Yes, let’s talk.”

Only after this does the conversation begin.


Step-by-Step: SYN, SYN-ACK, ACK

Let’s translate that into TCP terms.

1️⃣ SYN (Synchronize)

  • The client sends a SYN packet

  • Meaning: “I want to start a connection.”

2️⃣ SYN-ACK

  • Server replies with SYN-ACK

  • Meaning: “I’m ready, and I heard you.”

3️⃣ ACK

  • Client sends ACK

  • Meaning: “I heard you too.”

✅ Connection is now established.


How Data Transfer Works in TCP

Once connected, TCP starts sending data in small chunks called segments.

Each segment contains:

  • Data

  • A sequence number

  • Control information


Sequence Numbers and Acknowledgements (High Level)

  • Every byte of data has a sequence number

  • The receiver sends back an ACK saying:

    “I received everything up to this number”

If something is missing:

  • Sender retransmits the missing data

This is how TCP guarantees correctness.


How TCP Ensures Reliability, Order, and Correctness

TCP uses multiple mechanisms together:

  • Sequence numbers → correct order

  • Acknowledgements (ACKs) → confirms delivery

  • Retransmission → fixes packet loss

  • Flow control → avoids overwhelming the receiver

  • Congestion control → avoids network overload

All of this happens automatically.


What Happens If a Packet Is Lost?

If a packet doesn’t get acknowledged:

  • TCP assumes it was lost

  • TCP re-sends it

  • Data continues smoothly

This is why downloads don’t break even on unstable networks.


How a TCP Connection Is Closed

Ending a TCP connection is also polite — not abrupt.

TCP uses a graceful shutdown:

  1. FIN → “I’m done sending data.”

  2. ACK → “I acknowledge.”

  3. The other side sends its FIN

  4. Final ACK

Both sides agree the conversation is over.


TCP Connection Lifecycle (Big Picture)

  1. 🔹 Connection established (3-way handshake)

  2. 🔹 Data transfer (with ACKs and sequence numbers)

  3. 🔹 Connection closed (FIN + ACK)

TCP carefully manages the entire lifecycle.


Why TCP Is Still Everywhere

TCP is used by:

  • HTTP / HTTPS

  • APIs

  • Databases

  • File transfers

  • Email systems

Whenever correctness matters, TCP is the default choice.


Final Mental Model

  • TCP = Reliable conversation

  • Handshake = Agreement to talk

  • Sequence numbers = Ordering

  • ACKs = Confirmation

  • Retransmission = Recovery

  • FIN = Polite goodbye

Once you see TCP as a conversation protocol, everything clicks 🔑