24 steps · About 22 hours
How the Internet Works: Atoms to Apps
Build a causal chain from shared wires to the page in your browser, without memorizing acronym soup.
A guided sequence through the internet's essential abstractions: packets and layers, local delivery, addressing and routing, network feedback, ports, UDP and TCP, naming, cryptography, HTTP and HTTPS, web state, APIs, and the browser. Each step rests on the last. Read it in order or use the sequence as a reference. Lessons are written as short chapters, not stubs.
- 01Not startedFirst PrinciplesOpen
Set the habit: strip slogans, keep mechanisms.
Reason from irreducible truths instead of analogies, slogans, or inherited procedures, especially when learning technical systems like networks.
- 02Not startedAbstractionOpen
Learn to change altitude without getting lost.
Hide details that do not matter for the current question so you can think at the right altitude, and know when to drop altitude because the abstraction leaked.
- 03Not startedPacketsOpen
Why networks ship bite-sized units.
Why networks chop data into small, independently routable pieces instead of one continuous stream, and what that choice forces every higher layer to confront.
- 04Not startedNetwork LayersOpen
Stack contracts so each problem is solved once.
Why the internet is built as stacked contracts (link, internet, transport, application) so each problem can be solved once and reused, and where those contracts deliberately leak.
- 05Not startedLink LayerOpen
Neighbor delivery with frames and MAC addresses before IP.
How neighboring machines on a local segment deliver frames using MAC addresses, shared media rules, and link-specific framing before IP routing enters the picture.
- 06Not startedIP AddressesOpen
Coordinates for locating interfaces.
Numeric locators that identify network interfaces for routing: how address structure, prefixes, and public versus private space make a global map computable.
- 07Not startedRouting and ForwardingOpen
How each hop chooses the next hop.
How packets find a path: local forwarding decisions at each hop, guided by routes learned or configured across independently operated networks.
- 08Not startedICMPOpen
Errors, ping, traceroute, and path MTU feedback.
The internet's control and error messaging companion to IP: how hosts and routers report problems, probe reachability, and discover path limits.
- 09Not startedPorts and SocketsOpen
Demultiplex apps on a host; the socket as the programmer's handle.
How transport-layer port numbers multiplex many conversations on one host, and how the socket abstraction turns those numbers into a programming interface.
- 10Not startedNAT and Private NetworksOpen
Private space and translation at the edge.
How private address spaces and network address translation stretch IPv4 and hide internal topology, at the cost of true end-to-end addressing.
- 11Not startedUDPOpen
Minimal datagrams when you want control.
A minimal transport: multiplex apps with ports, deliver datagrams, and leave reliability, ordering, and congestion response to the application when that is the right tradeoff.
- 12Not startedTCP/IPOpen
Reliable streams on an unreliable network.
The internet's core contracts: IP for addressing and forwarding, TCP for reliable byte streams on top of an unreliable network, including handshake, ACK, and windowing mechanics.
- 13Not startedCongestion ControlOpen
Shared links survive only if senders back off.
How endpoints detect a busy network and slow down so shared links do not collapse into congestive failure, including classic TCP dynamics and modern signal debates.
- 14Not startedDNSOpen
Human names meet machine addresses.
The distributed naming system that turns human-readable names into machine-routable addresses and other records, via hierarchy, caching, and delegation.
- 15Not startedEncryptionOpen
Primitives for secrecy, integrity, authenticity.
Transforming data so only holders of the right secrets can read or forge it: confidentiality, integrity, and authenticity on public networks.
- 16Not startedHTTPOpen
The web's request-response language.
The application protocol of the web: structured requests and responses for transferring documents and calling APIs, including methods, status codes, and caching metadata.
- 17Not startedHTTPS and TLSOpen
HTTP inside an authenticated, encrypted channel.
How HTTP rides inside an authenticated, encrypted transport: certificates, handshakes, and what the lock icon actually promises.
- 18Not startedCookies and SessionsOpen
Layer state onto a stateless protocol.
How the web layers state onto a largely stateless protocol: cookies as client-stored tokens, sessions as server-side memory keyed by those tokens.
- 19Not startedHTML, CSS, and JavaScriptOpen
Structure, presentation, behavior.
The three native web languages: structure (HTML), presentation (CSS), and behavior (JavaScript), and why separating them remains a useful discipline.
- 20Not startedBrowsersOpen
The universal client that ties it together.
The universal web client: how browsers fetch, parse, sandbox, and render, tying DNS, TLS, HTTP, and HTML/CSS/JS into one user-facing machine.
- 21Not startedClient-ServerOpen
Zoom out: who asks and who answers.
The dominant networked application pattern: clients initiate requests, servers listen and respond, and responsibilities split across an asymmetric relationship.
- 22Not startedREST APIsOpen
Resources and representations over HTTP.
Resources and representations over HTTP: designing networked interfaces around nouns, uniform methods, and evolvable contracts rather than ad-hoc RPC soup.
- 23Not startedCaching and CDNsOpen
Copies close to users, kept just fresh enough.
How copies of content near users cut latency and origin load, and how cache validators and CDNs keep those copies just fresh enough.
- 24Not startedCausal ModelsOpen
Close the loop: debug with mechanisms, not vibes.
Explain systems with mechanisms and counterfactuals: what would change if this part failed, so debugging becomes structured rather than vibes-based.