Computer Networking#

Thirty-eight sections, each depending only on the ones before it, from "why does a signal on a wire need a protocol at all" to "why is the p99 of this API exactly one second". Every mechanism is introduced by the problem it solves, and every trade-off is stated out loud. Press Play on the animations, and switch the language tabs to read the code in Python, JavaScript or the shell.

38 Topics • Mental Models, Interactive Animations & Worked Questions
Unit 1

Foundations#

Layers, encapsulation and the two numbers, latency and bandwidth, that govern every network.

Unit 2

The Link Layer#

Moving frames across a single local network.

Unit 3

The Network Layer#

Addressing and routing packets across networks, all the way up to the shape of the internet.

Unit 4

The Transport Layer#

Ports, sockets, UDP and TCP: turning packets into conversations between programs.

Unit 5

Application Protocols#

DNS, HTTP in all three versions, TLS, and writing network code yourself.

Unit 6

Networks in Production#

Proxies, CDNs, cloud networks, security and performance debugging, plus the revision material.