Network Protocols
Network protocols define how computers communicate over a network.
Whether you’re opening Instagram, sending a WhatsApp message, watching Netflix, or transferring money through a banking app, some protocol is working behind the scenes to make communication possible.
Client-Server Model
What is it?
The Client-Server model is a communication architecture where:
- Client requests a service or data.
- Server processes the request and returns a response.
Most modern applications follow this architecture.
How Does It Work?
Client ---------- Request ----------> Server
Client <--------- Response ---------- Server
Enter fullscreen mode Exit fullscreen mode
The client always initiates communication, and the server listens for incoming requests.
Real World Example
When you open Instagram:
- Mobile app sends a request.
- Instagram servers process the request.
- Feed data is fetched from databases.
- Posts are returned to your phone.
Instagram App
|
V
Instagram Server
|
V
Database
Enter fullscreen mode Exit fullscreen mode
Advantages
- Centralized control
- Easier security management
- Easy maintenance
- Easier data consistency
Disadvantages
- Server can become a bottleneck
- Single point of failure if not replicated
Interview One-Liner
Client-Server architecture is a centralized model where clients request resources and servers provide them.
Peer-to-Peer (P2P) Model
What is it?
In a Peer-to-Peer network, every machine can act as both:
- Client
- Server
There is no central server controlling communication.
How Does It Work?
Peer A <------> Peer B
^ ^
| |
V V
Peer C <------> Peer D
Enter fullscreen mode Exit fullscreen mode
Each peer can directly share resources with others.
Real World Example
BitTorrent
Instead of downloading a file from one server:
User
|
+--> Peer 1
|
+--> Peer 2
|
+--> Peer 3
Enter fullscreen mode Exit fullscreen mode
Different parts of the file are downloaded from multiple peers simultaneously.
Blockchain
Bitcoin and Ethereum networks operate using Peer-to-Peer communication.
Advantages
- Highly scalable
- No central server cost
- Better fault tolerance
Disadvantages
- Harder to manage
- Security challenges
- Data consistency issues
Interview One-Liner
Peer-to-Peer architecture allows nodes to communicate directly without relying on a centralized server.
WebSockets
What is it?
WebSocket is a protocol that creates a persistent, two-way communication channel between a client and a server.
Unlike HTTP, the connection remains open.
Why Do We Need It?
With HTTP:
Request
Response
Connection Closed
Enter fullscreen mode Exit fullscreen mode
The server cannot push data later unless the client sends another request.
WebSockets solve this problem.
How Does It Work?
Client <===================> Server
Persistent Connection
Enter fullscreen mode Exit fullscreen mode
Once connected:
- Client can send messages anytime.
- Server can send messages anytime.
This is called Full Duplex Communication.
Real World Example
You ------> Server ------> Friend
Enter fullscreen mode Exit fullscreen mode
When your friend sends a message, the server immediately pushes it to your device.
No page refresh is required.
Other Examples
- Live Chat Applications
- Multiplayer Games
- Trading Platforms
- Live Sports Scores
Advantages
- Real-time communication
- Low latency
- Fewer network requests
Interview One-Liner
WebSockets provide a persistent bidirectional connection that enables real-time communication between client and server.
HTTP
What is HTTP?
HTTP (HyperText Transfer Protocol) is the protocol used for communication between web clients and servers.
It follows a request-response model.
How Does It Work?
Browser/App
|
HTTP Request
|
V
Server
|
HTTP Response
|
V
Browser/App
Enter fullscreen mode Exit fullscreen mode
HTTP typically runs on top of TCP.
Common Methods
Method Purpose GET Read Data POST Create Data PUT Update Data DELETE Remove DataReal World Example
Amazon
When you search for a product:
- Browser sends HTTP request.
- Amazon server processes it.
- Matching products are returned.
Key Points
- Stateless protocol
- Request-response communication
- Runs over TCP
- Foundation of web applications
Interview One-Liner
HTTP is an application-layer protocol used for communication between clients and web servers.
TCP
What is TCP?
TCP (Transmission Control Protocol) is a transport-layer protocol that guarantees reliable and ordered delivery of data.
If a packet is lost, TCP retransmits it.
How Does It Work?
Before communication begins, TCP establishes a connection using a 3-way handshake.
Client ---- SYN ----> Server
Client <-- SYN-ACK -- Server
Client ---- ACK ----> Server
Enter fullscreen mode Exit fullscreen mode
Connection established.
Real World Example
Banking Applications
When transferring money:
- Data must not be lost.
- Packets must arrive in order.
- Reliability is critical.
TCP ensures all of this.
Advantages
- Reliable delivery
- Ordered packets
- Error checking
Disadvantages
- Higher latency
- Additional overhead
Interview One-Liner
TCP is a reliable transport protocol that guarantees ordered and error-free data delivery.
UDP
What is UDP?
UDP (User Datagram Protocol) is a transport-layer protocol focused on speed rather than reliability.
It sends packets without waiting for acknowledgements.
How Does It Work?
Send Packet
Send Packet
Send Packet
Enter fullscreen mode Exit fullscreen mode
No confirmation.
No retransmission.
Real World Example
Online Gaming
Games like PUBG and BGMI send player position updates continuously.
If one update is lost, the next update arrives quickly.
Waiting for retransmission would increase lag.
Other Examples
- Video Calls
- Live Streaming
- DNS Queries
- Gaming
Advantages
- Very fast
- Low latency
- Minimal overhead
Disadvantages
- No delivery guarantee
- No ordering guarantee
Interview One-Liner
UDP is a lightweight transport protocol optimized for speed and low latency.
FTP
What is FTP?
FTP (File Transfer Protocol) is used to transfer files between computers over a network.
How Does It Work?
FTP Client <------> FTP Server
Enter fullscreen mode Exit fullscreen mode
Users can:
- Upload files
- Download files
- Delete files
- Rename files
Real World Example
A developer uploads website files:
index.html
style.css
logo.png
Enter fullscreen mode Exit fullscreen mode
to a production server using FTP.
Interview One-Liner
FTP is a protocol specifically designed for transferring files over a network.
SMTP
What is SMTP?
SMTP (Simple Mail Transfer Protocol) is used for sending emails.
How Does It Work?
Sender
|
SMTP
|
Mail Server
|
Recipient
Enter fullscreen mode Exit fullscreen mode
SMTP handles only the sending part of email communication.
Real World Example
When you click “Send” in Gmail, SMTP is responsible for delivering that email.
Interview One-Liner
SMTP is the standard protocol used for sending emails between mail servers.
POP3
What is POP3?
POP3 (Post Office Protocol v3) is used to receive emails.
It downloads emails from the server to your local device.
How Does It Work?
Mail Server
|
Download
|
Laptop/Desktop
Enter fullscreen mode Exit fullscreen mode
Traditionally, emails were removed from the server after download.
Advantages
- Works offline
- Less server storage required
Disadvantages
- Poor synchronization across devices
Interview One-Liner
POP3 retrieves emails by downloading them from the mail server to a local device.
IMAP
What is IMAP?
IMAP (Internet Message Access Protocol) is used to receive emails while keeping them stored on the server.
How Does It Work?
Phone
|
Mail Server
|
Laptop
Enter fullscreen mode Exit fullscreen mode
Changes made on one device are synchronized across all devices.
Real World Example
Read an email on your phone and it automatically appears as read on your laptop.
This is IMAP in action.
Advantages
- Multi-device synchronization
- Emails remain on server
- Better user experience
Disadvantages
- Requires more server storage
Interview One-Liner
IMAP allows email synchronization across multiple devices while keeping emails stored on the server.
HTTP vs TCP vs UDP vs FTP vs SMTP
Protocol Layer Purpose Example HTTP Application Web Communication Amazon, Netflix TCP Transport Reliable Communication Banking UDP Transport Fast Communication Gaming FTP Application File Transfer Website Deployment SMTP Application Sending Emails Gmail POP3 Application Download Emails Legacy Mail Clients IMAP Application Sync Emails Gmail, OutlookQuick Revision
Client-Server
Instagram, Netflix, Amazon
Client -> Request
Server -> Response
Enter fullscreen mode Exit fullscreen mode
Peer-to-Peer
BitTorrent, Blockchain
Peer <-> Peer
Enter fullscreen mode Exit fullscreen mode
WebSockets
WhatsApp, Live Chat
Persistent Two-Way Connection
Enter fullscreen mode Exit fullscreen mode
TCP
Reliable + Ordered
UDP
Fast + Low Latency
HTTP
Web Communication
FTP
File Transfer
SMTP
Send Emails
POP3
Download Emails
IMAP
Sync Emails
Interview Summary
Most modern applications use the Client-Server model where communication happens using HTTP over TCP. For real-time applications like WhatsApp, WebSockets maintain a persistent connection. TCP is chosen when reliability is important, while UDP is preferred when speed and low latency matter. FTP is used for file transfers, SMTP is used for sending emails, and IMAP/POP3 are used for receiving emails.
답글 남기기