~/post/devs-hate-networking
Published on

DEVS HATE NETWORKING (But You Need It!)

2 mins read

Back in my bachelor’s degree, almost every developer I knew avoided networking. Can you blame us? Terms like Class A/B/C/D/E, Ethernet, BGP, network prefix, subnet mask sound more confusing than helpful.

If you’re a developer, here are five core networking concepts that will take your career to the next level:

1. CIDR Blocks

What it is: A notation that defines IP ranges using a prefix (e.g., /24).

Examples:

  • 1.2.3.4/32 = just 1.2.3.4 (1 IP)
  • 10.0.0.0/24 = 10.0.0.1 → 10.0.0.255 (254 useful IPs)
  • 10.0.0.0/16 = 10.0.0.1 → 10.0.255.255 (~65,534 IPs)
  • 10.0.0.0/8 = 10.0.0.1 → 10.255.255.255 (~16 million IPs)

2. Private IP vs. Public IP

Public IP: Routable on the internet — anyone can reach it (unless blocked by a firewall).

Private IP: Only accessible within a local network.

Reserved Ranges:

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16

Other Special Ranges:

  • 127.0.0.0/8 = Localhost
  • 169.254.0.0/16 = Link-local (APIPA)
  • 100.64.0.0/10 = Carrier-grade NAT (mobile operator, VPN)

Understanding which IP range to use prevents nasty routing and security surprises.

3. DNS (Domain Name System)

Think of DNS as the internet’s phonebook — translating human-friendly domain names into IP addresses. Key record types you should know:

  • A = maps a domain to an IPv4 address
  • CNAME = alias to another domain name
  • MX = mail server record
  • TXT = arbitrary text (e.g., SPF, DKIM, validation)

If you can’t resolve a hostname, most things in your stack simply won’t work.

4. TCP/IP Model Essentials

  • TCP (Transmission Control Protocol): A reliable, connection-oriented transport protocol. Used for most web traffic (HTTP, HTTPS, database connections).
  • ICMP (Internet Control Message Protocol): Used by tools like ping or traceroute to test connectivity and path.
  • HTTP/HTTPS: Application-layer protocols for web APIs, websites, and microservices.

Knowing when to use TCP vs. UDP vs. ICMP helps you debug connectivity issues quickly.

5. Load Balancers

Purpose: Distribute incoming traffic across multiple servers or containers to ensure reliability and scalability.

Common Example: Nginx (can act as a reverse proxy and load balancer).

Cloud-Native Alternatives: AWS Elastic Load Balancer (ALB/NLB), Google Cloud Load Balancer, etc.

A solid grasp of load balancing means you can design resilient, high-traffic architectures instead of firefighting bottlenecks.