Skip to content

Vol 4: Computer Networking ​

The connection succeeds, but the response never arrives. ping gets a reply, but the page will not load. This volume follows messages, state, and timeouts from Ethernet frames, IP, and TCP through HTTP, TLS, DNS, CDNs, and QUIC. Find the failing layer first; the router deserves a break from being rebooted on suspicion.

Prerequisites ​

  • Be able to read and write small programs and distinguish bytes from text. The socket examples build on those skills.
  • Be comfortable running terminal commands and have a basic understanding of processes, ports, and file descriptors. Consult Volume 3 for processes and I/O as needed; completing the whole volume is not required.

Coverage ​

Chapters 1–7 move from layers and sockets to common application protocols. Chapters 8–11 cover links, routing, congestion control, and QUIC. Chapters 12–14 apply those ideas to diagnosis, IPv6, and performance. At each layer, distinguish an observation from a protocol guarantee.

Chapter 1 ​

Chapter 2 ​

Chapter 3 ​

Chapter 4 ​

Chapter 5 ​

Chapter 6 ​

Chapter 7 ​

Chapter 8 ​

Chapter 9 ​

Chapter 10 ​

Chapter 11 ​

Chapter 12 ​

Chapter 13 ​

Chapter 14 ​

Outcomes ​

  • Design message framing, timeouts, and backpressure for a TCP application, and explain its connection lifecycle.
  • Narrow down a fault using DNS, TLS, HTTP, and transport evidence, including what a packet capture can establish.
  • Use RTT, windows, loss, caching, and connection reuse to decide which layer needs performance work.

How to use this map ​

Read in order for a first pass, and run the small programs in Chapters 2 and 4 early. For troubleshooting, start with Chapter 12 to choose an observation point, then revisit the relevant protocol. For performance work, use Chapter 14 to establish a baseline. Capture only traffic you are authorized to inspect, and account for how capture location and encryption limit what you can see.

Built with VitePress | Software Systems Atlas