Skip to main content

Command Palette

Search for a command to run...

TCP Working: 3-Way Handshake & Reliable Communication

A beginner-friendly guide to how TCP establishes trust, sends data in order, and keeps communication reliable

Updated
6 min read
TCP Working: 3-Way Handshake & Reliable Communication
P
IT graduate 2024. Learning software and web development in public. Writing about bugs, fixes, small projects, useful tools, and lessons from building things step by step.

Introduction

Socho agar internet par data bina kisi proper rule ke bheja jaata.

Koi packet pehle pahunchta. Koi baad mein. Koi beech mein kho jaata. Koi duplicate aa jaata.

Aise system mein login, payments, file transfer, aur web requests kitni unreliable ho jaati.

Isi problem ko solve karne ke liye TCP use hota hai.

TCP ka full form hai Transmission Control Protocol.

Ye internet communication ke liye ek aisa rule set deta hai jo ensure karta hai ki data:

  • reliably pahunchta hai

  • correct order mein pahunchta hai

  • aur dono sides ko pata ho ki communication proper start aur end hui hai


Why TCP Is Needed

Network ke through data bhejna simple lag sakta hai, but real problem yeh hoti hai:

  • kya receiver ready hai

  • kya data sahi order mein aayega

  • kya kuch lose ho gaya

  • kya same packet do baar aaya

  • kya sender ko pata hai receiver ne data le liya

TCP inhi problems ke liye bana tha.

Simple words mein:

TCP reliable communication ka protocol hai.


TCP Kya Karta Hai?

TCP ek connection-oriented protocol hai.

Matlab:

  1. pehle connection establish hota hai

  2. phir data transfer hota hai

  3. phir connection properly close hota hai

Yeh "bas bhej diya" type communication nahi hai.

Yeh "pehle baat pakki karo, phir data exchange karo" type communication hai.


The 3-Way Handshake Kya Hai?

3-way handshake TCP ka starting process hai.

Client aur server pehle ek doosre se confirm karte hain ki dono ready hain.

High-level flow:

Client -> SYN -> Server
Server -> SYN-ACK -> Client
Client -> ACK -> Server

Iske baad real data transfer start hota hai.

Real-life analogy:

Socho tum kisi ko call karte ho:

  • Tum: "Hello, sun rahe ho?"

  • Samne wala: "Haan, sun raha hoon, tum sun rahe ho?"

  • Tum: "Haan, main bhi sun raha hoon."

Ab conversation safely start ho sakti hai.

TCP ka handshake bhi isi tarah ka trust-building step hai.


Step 1: SYN

Client pehla packet bhejta hai jisme SYN flag hota hai.

Iska simple meaning:

"Mujhe connection start karna hai."

Yahan client apna initial sequence number bhi bhejta hai.

Abhi beginner level par bas itna samajhna enough hai ki sequence number future data order maintain karne mein help karta hai.


Step 2: SYN-ACK

Server reply karta hai with SYN-ACK.

Yani:

  • ACK -> maine tumhara request receive kar liya

  • SYN -> main bhi connection ke liye ready hoon

Is point par server bhi apni side ka initial sequence number share karta hai.

Simple meaning:

"Haan, tumhari baat mili. Main bhi ready hoon."


Step 3: ACK

Ab client final ACK bhejta hai.

Iska meaning:

"Theek hai, maine tumhara response bhi receive kar liya."

Aur ab connection established maana jaata hai.

Yani dono sides synchronized hain.


Why 3 Steps? Why Not 1 or 2?

Ye beginner ka very valid question hai.

Teen steps isliye chahiye kyunki dono sides ko yeh confirm karna hota hai:

  • message gaya

  • message mila

  • response bhi mila

Yani:

  • client knows server is ready

  • server knows client is ready

Connection sirf request bhejne se establish nahi maana jaata.

Proper two-way confirmation chahiye hoti hai.


How Data Transfer Works in TCP

Handshake ke baad actual data transfer hota hai.

Lekin TCP data ko ek careless stream ki tarah handle nahi karta.

It keeps track of:

  • sequence numbers

  • acknowledgements

  • missing pieces

Simple idea:

  • sender data bhejta hai

  • receiver acknowledge karta hai

  • sender ko pata rehta hai kya deliver ho gaya

Yani TCP blindly data push nahi karta. Woh communication ko monitor karta rehta hai.


Sequence Numbers in Simple Words

Socho tumne ek bada paragraph tukdon mein bheja.

Agar woh tukde ulte-seedhe order mein pahunch gaye, toh final message broken lag sakta hai.

TCP sequence numbers ka use karta hai taaki receiver samajh sake:

  • kaunsa piece pehle tha

  • kaunsa baad mein tha

  • kya kuch missing hai

Yeh ordered delivery ka base hai.


Acknowledgements Kya Karte Hain?

ACK ka role simple hai:

receiver sender ko batata hai ki kya successfully mil gaya

Agar acknowledgement aa gayi, sender confident ho sakta hai ki data ka woh part deliver ho chuka hai.

Agar ACK nahi aayi, toh sender ko doubt hota hai ki packet shayad lost ho gaya.


Packet Loss and Retransmission

Network perfect nahi hota.

Kabhi-kabhi packet lost ho sakta hai.

TCP yahan useful hota hai because:

  • ACK na mile toh sender assume kar sakta hai ki packet miss hua

  • phir woh packet dobara bheja ja sakta hai

Yahi retransmission reliability ka important part hai.


How TCP Keeps Communication Reliable

Jab hum bolte hain TCP reliable hai, uska matlab usually ye hota hai:

  • order maintain hota hai

  • missing data detect ki ja sakti hai

  • lost data dobara bheji ja sakti hai

  • sender aur receiver dono ko communication state ka idea hota hai

Yeh saari cheezein milkar TCP ko trustworthy banati hain.


How a TCP Connection Is Closed

TCP sirf start hi proper nahi karta, close bhi proper karta hai.

Connection close karte waqt commonly FIN aur ACK packets use hote hain.

Simple idea:

  • ek side bolti hai: "Mera kaam khatam"

  • doosri side acknowledge karti hai

  • phir apni side se bhi close signal deti hai

  • final acknowledgement hoti hai

Yani connection closure bhi controlled process hai, sudden disappearance nahi.


Where TCP Is Commonly Used

TCP useful hota hai jahan correctness important ho.

Examples:

  • websites

  • APIs

  • file transfer

  • database communication

  • secure transactions

  • login systems

Yani jab data sahi aur complete pahunchna zaroori ho, TCP strong choice hota hai.


Summary

  • TCP reliable communication ke liye use hota hai

  • ye connection-oriented protocol hai

  • 3-way handshake ke steps hain: SYN -> SYN-ACK -> ACK

  • sequence numbers aur acknowledgements data ko order aur correctness dete hain

  • packet loss hone par retransmission possible hoti hai

  • connection close karne ke liye bhi proper FIN / ACK process hota hai


Final Thought

TCP ko samajhne ka best way ye hai ki usse sirf protocol definition ki tarah mat dekho.

Usse ek rule-based conversation system ki tarah dekho.

Pehle connection pakka hota hai, phir data carefully bheja jaata hai, aur phir conversation properly close hoti hai.

Aur wahi cheez TCP ko reliable banati hai.


Continue Reading

Networking & Internet

Part 4 of 7

A beginner-friendly series on how the web actually works behind the scenes, covering network devices, DNS, TCP, UDP, cURL, and browser internals.

Up next

TCP vs UDP: When to Use What, and How TCP Relates to HTTP

A beginner-friendly comparison of TCP and UDP, with real-world use cases and a clear explanation of where HTTP fits