Networking
How does a request get there?
Follow the request.
Understand how data reaches a service, what can interrupt the path, and how to find out why.
Work in progress. 4 of 42 lessons are drafted and open to read; they're still being reviewed.
Useful foundations: bits and bytes, errors, and timeouts. Many topics are taught through commands, diagrams, and small labs rather than code.
Still being written 4 of 42 lessons are drafted and open to read while they're reviewed. Planned topics show where the catalog is going.
Networking foundations
Start hereFollow data across local links, network boundaries, and service endpoints.
What a network does
Relate hosts, interfaces, links, and paths to the services people use.
Layers, encapsulation, and decapsulation
Trace how link, network, transport, and application data wrap around one request.
Frames, MAC addresses, and local delivery
Explain local-link delivery and where ARP or neighbor discovery fits.
IPv6 address structure and neighbor discovery
Read prefixes, link-local addresses, and compressed forms without treating IPv6 as longer IPv4.
ICMP and ping
See how hosts report unreachable destinations and expired packets, and what a ping reply does and doesn't prove.
Ports, sockets, and endpoint identity
Connect addresses and transport ports to the local endpoints programs actually open.
TypeScriptGoByte order and wire formats
Read and write protocol headers from raw bytes, with endianness and length-prefixed framing made explicit.
TypeScriptGoTCP and UDP
Compare a reliable ordered byte stream with datagrams, and see what each contract leaves to the application.
TypeScriptGoDNS lookup path
Follow a name through resolver caches, records, and authoritative answers; recognize common failure points.
TypeScriptGoDHCP and address configuration
Understand how a host receives an address, route, and resolver configuration and renews its lease.
Common network services
Learn what HTTP(S), SSH, NTP, SMTP, and common file and name services do beyond their port numbers.
Physical media and wireless basics
Compare copper, fiber, transceivers, Wi-Fi bands, channels, and interference in context.
Network design and protocols
Build understandingUnderstand how networks forward, filter, secure, and deliver application traffic.
Routing and forwarding
Use a route table to explain next-hop choice and longest-prefix matching.
TypeScriptGoSwitching, VLANs, and broadcast domains
Show how switches forward frames and how VLANs separate layer-two traffic.
NAT and port forwarding
Trace address translation, connection state, and inbound reachability without treating NAT as a firewall.
Firewalls, ACLs, and packet filtering
Reason about rule order, direction, state, and default action in a packet policy.
Flow control, congestion, and head-of-line blocking
See why throughput ramps up gradually and how one lost packet can stall everything behind it.
TypeScriptGoHTTP request and response path
Inspect methods, status, headers, bodies, connection reuse, and intermediaries in a real local exchange.
TypeScriptGoTLS and certificate validation
Understand the handshake, peer identity, trust chains, and what common validation failures mean.
mTLS and service identity
Have both sides of a connection present certificates and see how services authenticate each other.
TypeScriptGoHTTP/2, HTTP/3, and QUIC
Compare multiplexing, header compression, and QUIC over UDP, and see what each version changes for an application.
TypeScriptGoCORS and browser network rules
Understand same-origin policy, preflight requests, and cross-site cookies, and read the errors browsers report.
TypeScriptGoReal-time transports
Compare polling, long polling, server-sent events, and WebSockets by connection cost and behavior through proxies.
TypeScriptGoProxies, reverse proxies, and load balancers
Locate connection termination, trusted forwarding metadata, and backend selection.
TypeScriptGoVPNs and network segmentation
Compare tunnels, remote access, site links, and the boundaries segmentation does and does not create.
Cloud and virtual networks
Relate subnets, routes, gateways, overlays, and provider-specific security controls.
Container and Kubernetes networking
Trace traffic through bridge networks, port mappings, service IPs, and in-cluster DNS.
Wireless network behavior
Diagnose association, authentication, roaming, channel overlap, and environmental interference.
Operations and troubleshooting
Go underneathGather network evidence, narrow likely causes, and verify that a repair worked.
A repeatable network troubleshooting method
Scope the impact, collect observations, test one hypothesis at a time, and confirm recovery.
Connection refused, reset, and timed out
Read each connection error as evidence pointing to a different layer or component.
TypeScriptGoRead route, interface, and neighbor tables
Use host tools to inspect local configuration and understand what their output cannot prove.
DNS, DHCP, and address-conflict diagnosis
Distinguish name resolution, lease, route, and duplicate-address failures.
Latency, bandwidth, throughput, loss, and jitter
Choose the measurement that answers the question, keep units visible, and account for direction.
Traceroute, MTU, and path diagnosis
Interpret hops and packet-size tests while allowing for filtered or hidden responses.
Inspecting HTTP from the client
Use curl and the browser network panel to see requests, timing, redirects, and TLS details before reaching for packet capture.
Packet capture and protocol inspection
Reconstruct conversations, use capture filters, and recognize what encryption hides.
Network monitoring and baselines
Relate counters, flow data, logs, and SNMP concepts to useful time and workload comparisons.
Network documentation and change control
Maintain address plans, diagrams, port records, ownership, and a reversible verification plan.