Core Systems
Computer Networking & DNS
TCP/IP models, DNS resolution, port routing, and HTTP/HTTPS protocol mechanics.
All distributed systems communicate across network boundaries. Understanding packet flow, CIDR subnetting, socket lifecycles (SYN, ACK, FIN, TIME_WAIT), DNS lookup chains (A, CNAME, NS, SOA), and TLS handshakes is critical for diagnosing microservice latency and connectivity outages.
Virtual Lab Ready
Automated testing sandbox running in your browser.
Launch First Lab ⚡No local installation required
Hands-on Practice
Interactive Terminal Labs
Real environment tasks with automated validation. Write real commands, verify state, and debug errors.
Trace Your Network Setup
Topic: IP Addressing & Routes
Every container and server has an IP, a route to the outside world and a way to test reachability. Find this machine's addresses and prove connectivity to the default gateway.
Key Checks:
- Directory ~/report exists
- File ~/report/gateway.txt exists and contains the default gateway IP
Find What's Listening on Which Port
Topic: Ports & Sockets
'Port 8080 is in use' is a daily incident. Use ss to list listening sockets, find the port the app process listens on and record it.
Key Checks:
- Directory ~/report exists
- File ~/report/app-port.txt exists and contains the app's listening port
Resolve a Hostname
Topic: DNS
Before a connection is made, a name becomes an IP. Resolve lab.internal with dig, compare with /etc/hosts and record the answer.
Key Checks:
- Directory ~/report exists
- File ~/report/dns.txt exists and contains the IP for lab.internal
Prove a Service Answers HTTP 200
Topic: HTTP & curl
Deploy the app image on port 8080 and then prove — with curl, not faith — that it answers HTTP 200. This combines Docker and networking; the validator makes a real request against the port.
Key Checks:
- A container from app:latest is running
- Port 8080 is mapped
Configure a Reverse Proxy
Topic: Reverse Proxies & Load Balancing
A reverse proxy terminates client connections and forwards them to your upstreams. Write an nginx configuration with an upstream block, a failure threshold and a proxy_pass rule.
Key Checks:
- Directory ~/nginx exists
- File ~/nginx/nginx.conf exists
Add a Health Check to the Proxy
Topic: Reverse Proxies & Load Balancing
A proxy is only as good as its health check. Start the application, prove it answers, and script the exact same question so the proxy can keep asking it.
Key Checks:
- A container from app:latest is running and mapped to port 8080
- The application answers with HTTP 200
System Design
TCP/IP Stack & Socket Lifecycle
Understand how this tool operates internally before running production workloads.
Internal Mechanics
Data travels down from the Application layer (HTTP) through Transport (TCP), Internet (IP), and Network Interface layers. Socket connections establish via a 3-way handshake (SYN, SYN-ACK, ACK) and close via FIN/ACK.
Mental Model Rule of Thumb
Never treat Computer Networking & DNS as a black box. Understanding its boundary with the kernel, filesystem, and network stack prevents 90% of production outages.
Core Architectural Subsystems
DNS Resolver
Translates human domain names into IP addresses via recursive hierarchy.
TCP Stack
Provides reliable, ordered, error-checked delivery of byte streams between hosts.
IP & Routing
Directs packets hop-by-hop across networks according to kernel routing tables.
TLS Engine
Encrypts communication channel using asymmetric key exchange and symmetric ciphers.
Developer Reference
Command Reference & Cheatsheet
Curated commands, flags, and one-liners tested for everyday operational productivity.
curl -iv https://api.example.comInspect detailed TLS handshake, cipher suite, and HTTP headers
dig +trace example.comTrace full recursive DNS resolution path from root servers down
ss -tulpnDisplay all active listening TCP and UDP sockets with owning process PID
traceroute -n 8.8.8.8Print list of intermediate network router hops to destination IP
tcpdump -i eth0 -n 'port 80 or port 443'Capture real-time packet headers on HTTP/HTTPS ports
Fundamental Primitives
Key Terminology & Primitives
Core abstractions you must master to communicate and build with confidence.
CIDR Notation
Classless Inter-Domain Routing (e.g., 10.0.0.0/16 provides 65,536 addresses; /24 provides 256 addresses).
DNS Record Types
A (IPv4), AAAA (IPv6), CNAME (canonical alias), MX (mail), TXT (domain verification/SPF).
TIME_WAIT Socket State
Ensures the remote end received the final ACK and allows old duplicate packets to expire in the network.
MTU (Maximum Transmission Unit)
Largest packet size (typically 1500 bytes) that can be transmitted without fragmentation.
Production War-Stories
Common Pitfalls & Debugging Playbook
The exact errors that take down production systems and how to diagnose and resolve them.
DNS resolution failure in containers
Symptom
Could not resolve host: api.service.internal.
Resolution
Check /etc/resolv.conf inside the container. Verify kube-dns or CoreDNS pod health and network policies allowing UDP port 53.
Reliability Standards
Production Readiness Checklist
Review this checklist before deploying workloads to staging or production clusters.
- ✓Use connection pooling and keep-alive headers to avoid TIME_WAIT socket exhaustion.
- ✓Tune DNS TTLs appropriately: low (60s) before migrations; higher (300-3600s) for steady-state caching.
- ✓Enforce TLS 1.3 across all public-facing load balancers.
- ✓Monitor TCP retransmission rates as an early indicator of network packet loss.
Full Curriculum Track
Master Computer Networking & DNS as part of the DevOps Engineer path
Tools do not exist in isolation. Learn how Computer Networking & DNS connects with other systems, CI/CD pipelines, and infrastructure patterns.