DEV Community

Malhar Gupte
Malhar Gupte

Posted on

My Computer Networks Journey - From Confusion to Clarity with Kunal Kushwaha

Starting a deep dive into computer networks felt like trying to understand an invisible world that somehow makes everything work. Over the past three weeks, I've been working through Kunal Kushwaha's comprehensive Computer Networks course, and what a journey it's been! As someone who always wondered "how does the internet actually work?", I can finally say I have real answers.

Let me share everything I learned and why understanding networks is absolutely crucial for any developer or tech enthusiast.

Understanding Computer Networks - The Invisible Infrastructure

What I Thought Networks Were vs. Reality

Before this course, my understanding of networks was embarrassingly surface-level:

  • "Wi-Fi connects me to the internet somehow"
  • "Routers do... router things?"
  • "HTTP is just how websites work"

Now I realize that computer networks are the entire foundation of modern digital life. Every app, every website, every cloud service, every smart device - they all depend on the same fundamental networking principles that I finally understand.

The Problems Networks Solve

Kunal's course brilliantly explained why we need networks in the first place:

Without Networks:

  • Computers would be isolated islands
  • No sharing of resources or information
  • Every computer would need its own printer, storage, etc.
  • No internet, no cloud, no modern computing as we know it

With Networks:

  • Resource sharing across the globe
  • Distributed computing and cloud services
  • Real-time communication and collaboration
  • Scalable, reliable systems

The Protocol Stack - OSI vs TCP/IP Models

OSI Model (7 Layers) - The Theoretical Framework

Kunal's explanation of the OSI model was incredibly detailed:

Layer 7 - Application Layer: User interfaces (HTTP, SMTP, FTP)
Layer 6 - Presentation Layer: Data formatting, encryption, compression
Layer 5 - Session Layer: Managing sessions between applications
Layer 4 - Transport Layer: Reliable delivery (TCP/UDP)
Layer 3 - Network Layer: Routing between networks (IP)
Layer 2 - Data Link Layer: Local network communication (Ethernet)
Layer 1 - Physical Layer: Physical transmission (cables, radio waves)

TCP/IP Model (5 Layers) - The Practical Reality

The TCP/IP model is what's actually implemented:

5. Application Layer: Combines OSI layers 5, 6, and 7
4. Transport Layer: TCP/UDP protocols
3. Network Layer: IP routing
2. Data Link Layer: Ethernet, Wi-Fi
1. Physical Layer: Hardware transmission

Why Both Models Matter

  • OSI: Great for understanding concepts and troubleshooting
  • TCP/IP: What actually runs the internet

Networking Devices Deep Dive

Understanding the role of each device was crucial:

Hubs: Dumb devices that repeat signals (mostly obsolete)
Switches: Smart devices that learn MAC addresses
Routers: Connect different networks using IP addresses
Gateways: Protocol converters between different network types
Firewalls: Security devices that filter traffic
Load Balancers: Distribute traffic across multiple servers

Sockets and Ports - The Communication Endpoints

Sockets - The Programming Interface

A socket is essentially:

  • IP Address + Port Number + Protocol
  • The endpoint for network communication
  • What programmers use to create network applications

Example: 192.168.1.100:8080 using TCP

Port Categories I Learned About

Well-Known Ports (0-1023):

  • Reserved for system services
  • Require admin privileges to use
  • Examples: HTTP (80), HTTPS (443), SSH (22)

Registered Ports (1024-49151):

  • Used by user applications
  • Examples: MySQL (3306), PostgreSQL (5432)

Dynamic/Private Ports (49152-65535):

  • Used for client connections
  • Assigned automatically by the operating system

HTTP Protocol Deep Dive

HTTP Methods That Actually Make Sense Now

GET: "Give me this resource" (idempotent, safe)
POST: "Create something new" (not idempotent)
PUT: "Replace this entire resource" (idempotent)
PATCH: "Update part of this resource"
DELETE: "Remove this resource" (idempotent)

HTTP Status Codes I Now Understand

2xx Success:

  • 200 OK: Everything worked
  • 201 Created: New resource created
  • 204 No Content: Success, but no data to return

3xx Redirection:

  • 301 Moved Permanently: Resource has new permanent location
  • 302 Found: Temporary redirect
  • 304 Not Modified: Use cached version

4xx Client Errors:

  • 400 Bad Request: Malformed request
  • 401 Unauthorized: Authentication required
  • 403 Forbidden: Access denied
  • 404 Not Found: Resource doesn't exist

5xx Server Errors:

  • 500 Internal Server Error: Something broke on the server
  • 502 Bad Gateway: Upstream server issue
  • 503 Service Unavailable: Server temporarily down

Cookies - Session Management Made Simple

Cookies finally made sense:

  1. Server sends Set-Cookie header
  2. Browser stores the cookie
  3. Browser sends cookie with subsequent requests
  4. Server uses cookie to maintain state

This enables shopping carts, login sessions, and personalization.

How Email Actually Works

This was one of my favorite sections! The email journey:

  1. Compose: You write an email in your client
  2. SMTP: Your client sends to your email server
  3. DNS: Server looks up recipient's email server
  4. SMTP: Your server sends to recipient's server
  5. Storage: Recipient's server stores the email
  6. POP3/IMAP: Recipient downloads via email client

Key Protocols:

  • SMTP: Sending emails (Simple Mail Transfer Protocol)
  • POP3: Downloading emails (deletes from server)
  • IMAP: Accessing emails (keeps on server)

DNS - The Internet's Phone Book

How Domain Name Resolution Works

When you type www.google.com:

  1. Browser Cache: Check local cache first
  2. OS Cache: Check operating system cache
  3. Router Cache: Check home router cache
  4. ISP DNS: Query internet service provider
  5. Root Servers: Query root name servers (.)
  6. TLD Servers: Query top-level domain servers (.com)
  7. Authoritative Servers: Query Google's name servers
  8. Response: IP address returned through the chain

This complex process happens in milliseconds!

DNS Record Types

  • A Record: Maps domain to IPv4 address
  • AAAA Record: Maps domain to IPv6 address
  • CNAME: Creates an alias for another domain
  • MX Record: Specifies email servers
  • TXT Record: Stores text information

Transport Layer Deep Dive

TCP (Transmission Control Protocol) - The Reliable Choice

Key Features:

  • Connection-oriented: Establishes connection before data transfer
  • Reliable: Guarantees data delivery
  • Ordered: Data arrives in correct sequence
  • Error detection and correction
  • Flow control: Prevents overwhelming the receiver

The Famous 3-Way Handshake

This elegant dance establishes TCP connections:

  1. SYN: Client sends synchronization request
  2. SYN-ACK: Server acknowledges and sends its sync
  3. ACK: Client acknowledges server's sync

Connection established! Now data can flow reliably.

UDP (User Datagram Protocol) - The Fast and Furious

Key Features:

  • Connectionless: No handshake required
  • Unreliable: No guarantee of delivery
  • Fast: Minimal overhead
  • Unordered: Data can arrive out of sequence

Perfect for:

  • Video streaming (occasional lost frames are okay)
  • Online gaming (speed over perfection)
  • DNS queries (fast lookups)

Checksums and Error Detection

Every TCP/UDP packet includes a checksum:

  • Mathematical calculation based on data content
  • Receiver recalculates and compares
  • If checksums don't match, data is corrupted
  • TCP retransmits, UDP discards

Timers in TCP

TCP uses various timers for reliability:

  • Retransmission Timer: Resends if no acknowledgment
  • Keep-Alive Timer: Maintains idle connections
  • Time-Wait Timer: Ensures clean connection closure

Network Layer - Routing and IP

Control Plane vs Data Plane

Control Plane:

  • Makes routing decisions
  • Builds routing tables
  • Exchanges routing information
  • The "brain" of the network

Data Plane:

  • Forwards actual packets
  • Uses routing table decisions
  • The "muscle" of the network

IP (Internet Protocol) - The Universal Language

IPv4 Packet Structure:

  • Version, Header Length, Type of Service
  • Total Length, Identification, Flags
  • Fragment Offset, Time to Live, Protocol
  • Header Checksum, Source IP, Destination IP
  • Options, Data

Packets vs Frames vs Segments

  • Segments: Transport layer (TCP/UDP)
  • Packets: Network layer (IP)
  • Frames: Data link layer (Ethernet)

Each layer adds its own header!

Middle Boxes - The Network Helpers

NAT (Network Address Translation):

  • Allows multiple devices to share one public IP
  • Translates private IPs (192.168.x.x) to public IP
  • Essential for home networks

Firewalls:

  • Filter traffic based on rules
  • Can operate at multiple layers
  • Protect networks from threats

Load Balancers:

  • Distribute traffic across servers
  • Improve performance and reliability
  • Can detect server failures

Data Link Layer - The Local Network Champion

This layer handles communication within the same network segment:

  • MAC Addresses: Physical hardware addresses
  • Ethernet: Most common wired protocol
  • Wi-Fi: Wireless local area networking
  • Switches: Forward frames based on MAC addresses

The course covered how frames are constructed and how switches learn MAC addresses to build their forwarding tables.

Network Security Fundamentals

Threats I Never Considered

Man-in-the-Middle Attacks: Intercepting communication between two parties
DNS Spoofing: Redirecting domain names to malicious servers
DDoS Attacks: Overwhelming servers with traffic
Packet Sniffing: Reading unencrypted network traffic

Security Measures That Make Sense Now

Firewalls: Like bouncers for network traffic
VPNs: Creating secure tunnels through insecure networks
SSL/TLS: Encrypting web traffic
Network Segmentation: Isolating sensitive systems

Routing and Switching - The Traffic Controllers

How Data Finds Its Way

Routers: Make decisions about where to send data across different networks
Switches: Handle communication within a single network
Routing Tables: Like GPS for network packets

Network Topologies I Finally Understand

Star Topology: Everything connects to a central hub
Ring Topology: Devices connected in a circular chain
Mesh Topology: Every device connected to every other device
Hybrid Topologies: Real-world combinations of the above

Practical Applications That Clicked

Load Balancing

Distributing traffic across multiple servers:

  • Round Robin: Take turns serving requests
  • Least Connections: Send to the least busy server
  • Geographic: Send to the nearest server

Content Delivery Networks (CDNs)

Now I understand why Netflix works so well globally - they store content close to users in hundreds of locations worldwide.

Network Address Translation (NAT)

How your router allows multiple devices to share one public IP address - this explained so much about home networking!

Tools and Commands I Learned

Essential Network Commands

# Check connectivity
ping google.com

# Trace route to destination
traceroute google.com

# Check DNS resolution
nslookup google.com

# Display network configuration
ifconfig (Linux/Mac) or ipconfig (Windows)

# Show network connections
netstat -an

# Display routing table
route -n
Enter fullscreen mode Exit fullscreen mode

Network Analysis Tools

Wireshark: Capture and analyze network packets
Nmap: Network discovery and security scanning
Curl: Test HTTP requests from command line
Telnet: Test network connections

How This Connects to Development

API Design Makes More Sense

Understanding HTTP methods, status codes, and headers helps me design better APIs:

  • 200: Success
  • 404: Not Found
  • 500: Server Error
  • 401: Unauthorized

Database Connections

Network concepts explain database connection pooling, timeouts, and distributed databases.

Cloud Computing

AWS, Azure, GCP services all make more sense when you understand VPCs, subnets, security groups, and load balancers.

Microservices Architecture

Service discovery, API gateways, and inter-service communication rely heavily on networking fundamentals.

Challenges and Aha Moments

What Was Difficult

Binary and Hexadecimal Math: Converting between number systems for subnet calculations
Protocol Stack Interactions: Understanding how all the layers work together
Network Troubleshooting: Learning systematic approaches to diagnose issues

Breakthrough Moments

Subnet Masking: When I finally understood how to calculate network ranges
Three-Way Handshake: The elegant simplicity of TCP connection establishment
DNS Hierarchy: Realizing the internet is basically a giant distributed database

Questions for the Community

I'd love to hear from experienced network engineers and developers:

  1. What networking concepts do you use most in your daily work?
  2. Any recommendations for hands-on networking practice labs?
  3. Which network monitoring tools do you find most valuable?
  4. Common networking mistakes you see developers make?

What's Next in My Learning Journey

Now that I have solid networking fundamentals, I'm currently preparing for the AWS Cloud Practitioner Certification (CLF-C02). The networking concepts from this course are already helping me understand VPCs, security groups, and cloud networking services much better!

Resources That Made the Difference

  • Kunal Kushwaha's Computer Networks Course: Excellent explanations with real-world examples
  • GeeksforGeeks Articles: Supplemented the course with detailed articles on specific networking topics and concepts
  • Community Support: Discord discussions and Q&A sessions

If you're considering learning computer networks, I highly recommend Kunal's course. The concepts might seem abstract at first, but once they click, you'll see the network layer in everything you build.

Understanding networks has made me a better developer, a more effective debugger, and given me confidence to architect distributed systems. It's one of those foundational skills that pays dividends across your entire career.

What networking concepts do you find most challenging or interesting? Share your experiences in the comments!


See you next week for more learning adventures!

Top comments (0)