A book that builds computer networking and distributed systems from the ground up. It begins with the simplest thing that works and adds one agreement at a time, each only when the last thing has broken.

A network is a tower of agreements.

I Ā· One Machine

Two machines, one wire, and something you want to send. The whole stack, built one broken thing at a time.

  1. IOne Machine
  2. IĀ·1The WantMeaning by agreement
  3. IĀ·2Where Does It Start?Framing
  4. IĀ·3Was It Damaged?Integrity
  5. IĀ·4A Third MachineIdentity
  6. IĀ·5The Second NetworkLocation
  7. IĀ·6Two Names for One MachineResolution
  8. IĀ·7Which Program?Program address
  9. IĀ·8Which Conversation?Conversation identity
  10. IĀ·9Waiting on Two ThingsReadiness
  11. IĀ·10Too Big for One FrameSegmentation
  12. IĀ·11Putting It Back TogetherReliable delivery
  13. IĀ·12Three-Way IntroductionsConnection lifecycle
  14. IĀ·13Is Anyone There?Liveness
  15. IĀ·14Slow DownFlow control
  16. IĀ·15One Slow ThingThe loop's contract
  17. IĀ·16The Network Is Not YoursCongestion control
  18. IĀ·17When Reliability HurtsA second transport
  19. IĀ·18Bytes Without MeaningApplication protocol
  20. IĀ·19The Shape of the MessageCompatible evolution
  21. IĀ·20Safe to Ask Again?Retry safety
  22. IĀ·21Everyone Can Read ItA secure channel
  23. IĀ·22The Tower So FarThe model
  24. IĀ·23It Works, and It's Too SlowThe fast path
  25. IĀ·24Capstone: Write the Protocol

II Ā· The Box You Don't Control

Mira moves away. Between you now is a box you do not own, and the box has a contract.

  1. IIThe Box You Don't Control
  2. IIĀ·1The Contract of the BoxThe contract
  3. IIĀ·2A Network of NetworksHop by hop
  4. IIĀ·2.5Interlude: Routing Is Politics
  5. IIĀ·3You Can Reach Out but Not Be ReachedReachability
  6. IIĀ·4Nobody Remembers NumbersNames
  7. IIĀ·5The Path Has TextureTexture
  8. IIĀ·5.5Sidebar: Your Phone's Contract Is Different
  9. IIĀ·6Light Is SlowThe round-trip budget
  10. IIĀ·7When the Path BreaksOne address, many machines

III Ā· Many Machines

Strangers arrive by the million. Each chapter begins with the resource that ran out.

  1. IIIMany Machines
  2. IIIĀ·1One BoxVertical scaling
  3. IIIĀ·2Compute and State Are Different AnimalsSeparation by shape
  4. IIIĀ·3More Readers Than the Disk Can ServeRead replicas
  5. IIIĀ·4Too Much Data for One BoxPartitioning
  6. IIIĀ·5Copies vs. SplitsThe partition choice
  7. IIIĀ·6One Front DoorThe load balancer
  8. IIIĀ·7The Server RemembersExternalised state
  9. IIIĀ·8Serving the Same Bytes a Million TimesCaching
  10. IIIĀ·9The Viewer Is 8,000 km AwayThe edge
  11. IIIĀ·10Everyone Is Online at OnceThe connection tier
  12. IIIĀ·11Building Everyone's FeedFan-out
  13. IIIĀ·12Many Front DoorsMulti-region
  14. IIIĀ·13The Team Ran OutServices
  15. IIIĀ·14Whose Data Is It?Data ownership
  16. IIIĀ·15The Front Door Does More Than RouteThe API gateway
  17. IIIĀ·16Everything Is Always BrokenFailure as normal
  18. IIIĀ·17Work That Can WaitAsynchronous work
  19. IIIĀ·18Where Did the Time Go?Observability
  20. IIIĀ·19Who Decides?Consensus
  21. IIIĀ·20The Tower, Again
  22. IIIĀ·21Capstone: The Design Document

Bonus Ā· Bonus

A third kind of payload, a reply that takes a minute to arrive, set beside the two you already know.

  1. BonusBonus
  2. BonusĀ·1The Answer Takes a MinuteThe third payload