Learn Everything

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.

beginnerEst. 4-6 hrs study time6 Live LabsPart of DevOps Engineer Path ↗

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.

6 tasks available
LAB 01
beginnerGuided Task

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
Env: ubuntu:24.04Open Lab ↗
LAB 02
beginnerPractice Task

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
Env: ubuntu:24.04Open Lab ↗
LAB 03
beginnerGuided Task

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
Env: ubuntu:24.04Open Lab ↗
LAB 04
intermediateChallenge

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
Env: ubuntu:24.04 + dockerOpen Lab ↗
LAB 05
intermediatePractice Task

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
Env: ubuntu:24.04Open Lab ↗
LAB 06
advancedChallenge

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
Env: ubuntu:24.04 + dockerOpen Lab ↗

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.

HTTP
curl -iv https://api.example.com

Inspect detailed TLS handshake, cipher suite, and HTTP headers

DNS
dig +trace example.com

Trace full recursive DNS resolution path from root servers down

Sockets
ss -tulpn

Display all active listening TCP and UDP sockets with owning process PID

Routing
traceroute -n 8.8.8.8

Print list of intermediate network router hops to destination IP

Capture
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.