Understanding the Internet Through Letters and Post Offices

Have you ever wondered how your messages travel across the internet? Let's imagine the internet as a giant postal system, where kids in different rooms of different houses are writing letters to each other. This simple analogy will help you understand the complex world of computer networks.
The Letter Writers: Application Layer
Picture two kids, Priya and Arjun, sitting in their respective rooms in different houses, perhaps even different cities. Priya wants to send a message to Arjun, so she writes a letter that begins with "Dear Arjun." This is exactly like the Application Layer in networking – it's where the actual content lives. Just as Priya writes what she wants to say without worrying about how the letter will reach Arjun, applications like your web browser or email client create messages without concerning themselves with the journey ahead.
The Envelope: Transport Layer
Once Priya finishes her letter, she puts it in an envelope. She writes Arjun's room number on it – let's say "Room 3." This envelope represents the Transport Layer. In networking, this layer wraps your data with important information like port numbers (think of these as room numbers in our analogy). The envelope protects the letter and adds crucial delivery information, just like how the Transport Layer ensures your data arrives intact and at the right "room" (port) in the destination computer.
This wrapping process is called encapsulation – each layer adds its own "envelope" of information around the data.
The Family Postman: Network Layer and Multiplexing
Now comes Priya's father. He walks through the house, collecting letters from Priya's room, her brother's room, and her sister's room. Each child might have written multiple letters to different friends. Dad gathers all these letters and takes them to the neighborhood postbox. This collection process is called multiplexing – combining multiple data streams into one.
At the post office, workers sort these letters into bundles based on PIN codes. They don't care who wrote the letters or what's inside – they just look at the addresses and group them by destination areas. This is like the Network Layer, which focuses on getting data packets to the right network using IP addresses (similar to PIN codes).
The Delivery Trucks: Data Link and Physical Layers
The postal truck driver's job is simple: pick up bundles and drive them to the next sorting facility. The driver doesn't open the bundles or read the letters – they just transport them. This represents the lower layers of networking, where routers and switches move data packets without examining the actual content.
At each sorting facility (like network routers), bundles might be opened and re-sorted based on more specific PIN codes or addresses. The letters get repackaged into new bundles for the next leg of the journey. This is partial decapsulation and re-encapsulation – the network examines just enough information to make routing decisions, then repackages the data for the next hop.
The Final Delivery: Demultiplexing
When the letters finally reach Arjun's neighborhood post office, they're sorted by specific addresses – street names, house numbers, and colonies. Arjun's father collects the family's mail from their postbox and then performs the reverse of what Priya's father did: he distributes letters to different rooms. Arjun gets his letter in Room 3, his sister gets hers in Room 2, and so on. This distribution process is called demultiplexing.
The Beauty of Layers
Here's the elegant part: each layer only talks to its corresponding layer. Priya (Application Layer) writes to Arjun (Application Layer) – they're connected through their communication. Priya's father (Network Layer) is logically connected to Arjun's father (Network Layer) through the postal system. The truck drivers on both ends are connected through the highway system.
Each layer has its job:
Kids care about the message content
Parents care about room numbers and getting letters to/from the postbox
Postal workers care about PIN codes and addresses
Truck drivers care about routes between facilities
No single layer needs to understand everything. The kids don't need to know about truck routes, and truck drivers don't need to read the letters.
Addressing at Every Level
Different parts of the system care about different parts of the address:
Kids: "Dear Arjun" (application addressing)
Parents: Room numbers (port numbers)
Local post office: Colony and street names (local network addressing)
Regional sorting: PIN codes (network addressing)
Delivery trucks: Route to next facility (physical path)
Why This Design Works
This layered approach is brilliant because:
Flexibility: If the postal service decides to use drones instead of trucks, the kids can still write letters the same way. Similarly, the internet can upgrade from copper wires to fiber optics without changing how applications work.
Simplicity: Each person (or layer) only needs to master their specific job, not the entire system.
Scalability: New houses can be added, new routes can be created, and the system still works.
Reliability: If one truck breaks down, another route can be found without the letter writers ever knowing.
What Happens When You Type www.google.com
Let's follow an actual internet journey using our postal analogy. When you type "www.google.com" in your browser and press Enter, here's what happens:
Writing the Letter: HTTP Request
Your browser (like Priya) writes a letter saying "Dear Google, please send me your homepage." This is an HTTP message at the Application Layer. But wait – where exactly does Google live? You only know the name "www.google.com," not the actual address!
Finding the Address: DNS Lookup
Imagine if Priya wanted to send a letter to "Arjun from Mumbai" without knowing his actual address. She'd first need to check a phone directory. Similarly, your computer needs to find Google's IP address (like a PIN code) using DNS (Domain Name System) – the internet's phone directory.
Your computer writes another letter: "Dear DNS, what's the address for www.google.com?" The DNS server replies: "Google lives at 142.250.192.78" (Google's IP address).
The Default Gateway: Your Neighborhood Postbox
Now your computer has a problem. It's like Priya living in a gated colony – she can't directly go to the main post office. She must first give her letter to the colony's main gate (the default gateway). Every computer has a default gateway – it's the IP address of your router, like 192.168.1.1. Think of it as the address of your colony's main entrance.
Finding the Physical Address: ARP
But here's another challenge! To hand the letter to the security guard at the main gate, Priya needs to know exactly which guard (there might be several). In networking, we need the MAC address – a physical address like "Guard Station #3."
Your computer shouts in the local network: "Hey, who has IP address 192.168.1.1?" This is called ARP (Address Resolution Protocol). Your router responds: "That's me! I'm at MAC address AA:BB:CC:DD:EE:FF."
The Journey Begins: Encapsulation in Action
Now the real magic happens. Your HTTP message gets wrapped in multiple envelopes:
Transport Layer (TCP): Adds port numbers (Room 80 for web traffic)
Network Layer (IP): Adds source and destination IP addresses
Data Link Layer (Ethernet): Adds MAC addresses for the next hop
Physical Layer: Converts everything to electrical signals
Hop by Hop: The Postal Route
Your packet reaches your router (the colony gate). The router:
Receives the electrical signals (Physical Layer)
Checks the MAC address – "Yes, this is for me!"
Opens the Ethernet envelope (decapsulates)
Looks at the IP address – "This needs to go to Google at 142.250.192.78"
Checks its routing table (like a map) – "Next stop: my ISP's router"
Finds the ISP router's MAC address using ARP
Wraps it in a new Ethernet envelope with the ISP's MAC address
Sends it out
This process repeats at every router (sorting facility) along the way. Each router:
Opens just enough envelopes to see where to send it next
Rewraps it with new MAC addresses for the next hop
Forwards it along
The Final Destination: Google's Server
Finally, the packet reaches Google's server:
Physical Layer receives the signals
Ethernet layer checks MAC – "Yes, this is for me"
IP layer checks IP – "Yes, I'm 142.250.192.78"
TCP layer checks port – "Port 80, this goes to the web server"
HTTP server application receives: "User wants our homepage"
Google's server then writes a reply letter with the webpage content and sends it back through the same process in reverse!
Multiplexing in the Real World
Here's the fascinating part – you're not alone! At any moment:
Your computer might have 50 browser tabs open (50 different conversations)
Your family members are streaming videos, playing games, video calling
Your smart TV is updating, your phone is syncing
How does it all work without mixing up? Through the magic of addresses at different layers:
Port Numbers: Room-Level Sorting
Web browsing: Port 80 (HTTP) or 443 (HTTPS)
Email: Port 25 (sending) or 110 (receiving)
Video calls: Various high-numbered ports
Each application gets its own "room number"
When packets return, TCP looks at port numbers to deliver to the right application – just like how Arjun's father distributes letters to different rooms.
IP Addresses: House-Level Sorting
Every device in your home has a unique local IP address:
Your laptop: 192.168.1.10
Your phone: 192.168.1.11
Smart TV: 192.168.1.12
Your router uses these to ensure each device gets its own packets – like how the postman delivers to the right house.
MAC Addresses: Physical Delivery
At each hop, MAC addresses ensure packets reach the exact physical device – like ensuring the letter reaches the right person's hands.
Why This All Matters
Understanding this journey helps explain:
Why websites sometimes load slowly: More hops or congested routers
Why you need a router: It's your gateway to the internet world
How privacy works: Each layer can only see its relevant addresses
Why the internet is resilient: Multiple paths exist between any two points
Imagine millions of these journeys happening simultaneously:
Priya sending letters to Arjun, Rahul, and Meera
Arjun replying while also writing to Sneha
Thousands of families in the colony all sending letters
Postal workers sorting without reading the contents
Multiple routes available if one road is blocked
This is the internet – a massive, coordinated dance of packets, addresses, and routes, all working together to connect the world. Every YouTube video, every WhatsApp message, every online class follows this same incredible journey.
The internet isn't magic – it's just a very sophisticated postal system, delivering billions of "letters" every second across the globe, each finding its way through multiple addresses, multiple hops, and multiple layers, arriving exactly where it needs to be.
Subscribe to my newsletter
Read articles from Jyotiprakash Mishra directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Jyotiprakash Mishra
Jyotiprakash Mishra
I am Jyotiprakash, a deeply driven computer systems engineer, software developer, teacher, and philosopher. With a decade of professional experience, I have contributed to various cutting-edge software products in network security, mobile apps, and healthcare software at renowned companies like Oracle, Yahoo, and Epic. My academic journey has taken me to prestigious institutions such as the University of Wisconsin-Madison and BITS Pilani in India, where I consistently ranked among the top of my class. At my core, I am a computer enthusiast with a profound interest in understanding the intricacies of computer programming. My skills are not limited to application programming in Java; I have also delved deeply into computer hardware, learning about various architectures, low-level assembly programming, Linux kernel implementation, and writing device drivers. The contributions of Linus Torvalds, Ken Thompson, and Dennis Ritchie—who revolutionized the computer industry—inspire me. I believe that real contributions to computer science are made by mastering all levels of abstraction and understanding systems inside out. In addition to my professional pursuits, I am passionate about teaching and sharing knowledge. I have spent two years as a teaching assistant at UW Madison, where I taught complex concepts in operating systems, computer graphics, and data structures to both graduate and undergraduate students. Currently, I am an assistant professor at KIIT, Bhubaneswar, where I continue to teach computer science to undergraduate and graduate students. I am also working on writing a few free books on systems programming, as I believe in freely sharing knowledge to empower others.