How do you design an internet? The architecture of the current Internet is the product of basic design decisions made early in its history. What would an internet look like if it were designed, today, from the ground up? In this book, MIT computer scientist David Clark explains how the Internet is actually put together, what requirements it was designed to meet, and why different design decisions would create different internets. He does not take today's Internet as a given but tries to learn from it, and from alternative proposals for what an internet might be, in order to draw some general conclusions about network architecture.
Clark discusses the history of the Internet, and how a range of potentially conflicting requirements--including longevity, security, availability, economic viability, management, and meeting the needs of society--shaped its character. He addresses both the technical aspects of the Internet and its broader social and economic contexts. He describes basic design approaches and explains, in terms accessible to nonspecialists, how networks are designed to carry out their functions. (An appendix offers a more technical discussion of network functions for readers who want the details.) He considers a range of alternative proposals for how to design an internet, examines in detail the key requirements a successful design must meet, and then imagines how to design a future internet from scratch. It's not that we should expect anyone to do this; but, perhaps, by conceiving a better future, we can push toward it.