A Review of ``Designing an Internet'' by David Clark The book under review has the following ISBN: 978-0-262-54770-3 The book has the following website: https://mitpress.mit.edu/9780262547703/designing-an-internet/ I've long entertained the thought of an alternative network design which could have that same global reach of the Internet's fourth version, but knew my thinking to be both isolated and immature. When I became aware of this book, and its focus on alternative network architectures, I bought it to open my mind to designs by those who had more time and experience to consider them; I'm not disappointed. I'm only lightly acquainted with network design, and the design I've made, which I called Routernet, was only an incremental improvement over the Internet in many ways. I'd imagined addresses composed of digit strings with arbitrary lengths, requiring one to know the destination's relationship to the sender in the same way the telephone network demands, but I'd not considered breaking up the strings to make source routes instead; my favourite network design in this book has no addresses whatsoever, and I'd not considered ways to make subaddresses useful or to map them, beyond their mere existence. I'd imagined packets with lengths given as powers of two, to simplify routing and make large packets more useful; lastly, I'd imagined packets with no fields other than a destination and payload. This book has not only provided a framework in which to intelligently mull over design, but shown to me a design which already heavily resembles what I wanted to see in a Routernet, and I'm glad to know it. The first chapter is a simple introduction and lists several qualities considered in later chapters. The second chapter is an explanation of the Internet, its design and history, and other such things. The third chapter defines ``architecture'' as used in the book, and explores related considerations; the fourth chapter similarly explores requirements by defining what a network should do, listing the qualities it ideally should have, and means by which the current state could be improved. The fifth chapter analyzes the Internet in light of the earlier chapters, and is David's 1988 paper annotated. The sixth and seventh chapters are both very interesting, the seventh why I bought the book, but the first chapters should certainly be read beforehand, particularly the sixth chapter, which lays out a framework for thinking about the design of networks. He defines the term ``per-hop behavior'' (PHB) with the obvious meaning of that which happens at the routers, including the forwarding and dropping of packets. He also introduces the term ``tussle'' to refer to the struggle between the actors in a network whose interests are unaligned. Most important in the chapter is his three-dimensional model in which to mull over such per-hop behaviours: alignment of interests, aligned or adverse; delivery, intentional, contingent, topological, or coerced; and lastly parameterization, explicit or implicit. The seventh chapter is an overview of several alternative network architectures organized roughly by their innovations. He covers designs intended for generality of the underlying networks and changes over time, one intended for better performance, perhaps the most interesting are information-centric networks that reduce the importance of addresses or allow for direct retrieval of data, high-latency designs that may serve mankind in the stars, designs intended to support mobility, networks that run programs carried in packets, and many more. Most interesting to me are Named data networking (NDN), an information-centric network which entirely eliminates addresses by having each router store state on each packet, and NewArch, which entirely eliminates global identifiers and which matches my rough mental image of a Routernet. I'm uncertain how suited NDN is, to serve as the basis of an Internet, but can very easily imagine something like it running over NewArch as an overlay network. I've seen designs that perhaps never would've occurred to me in this chapter, and they were pleasant to learn. All of the designs keep the datagram network structure of the Internet, and it's taken as axiomatic. Before I considered any of the privacy implications of the MobilityFirst (MF) design, resulting from its Global Name Service (GNS) used for routing, David had already covered them and shown how NewArch lacks them by instead having the end-points update their locations in the network if they so choose. Several of the hot topics popular in the networking space recently, such as separating identity from location, are present in the seventh chapter. The remaining chapters exist in the seventh's shadow. The eighth chapter concerns naming and addressing, and begins by defining these terms, as several of the later chapters must. He discusses analogies with other naming systems, tussle in the context of trademarks over names, the different uses of names, and the foolishness of using locations as names. The ninth chapter covers longevity, something the Internet well achieved, and how a system degrades. The tenth chapter concerns security, another nebulous term; many paragraphs are dedicated to how the focus of the Intelligence Community mislead the design of the Internet for quite a while, and I also found very interesting the discussion of users' security against the network itself, such as in some authoritarian hellholes like China, and how a more or less expressive network influences monitoring; Denial of Service attacks have a dedicated section, and likely require network support to stop them. The eleventh and thirteenth chapters concern availability and network management, respectively, with the former rather small and the latter very nebulous. The twelfth chapter concerns economics, and I found it to be surprisingly interesting at times, especially in how the interface between Autonomous Systems (ASs) was left undefined by the Internet and how this lack caused a litany of problems later on. I'd not considered how NDN would provide to Internet Service Providers (ISPs) an extreme amount of control, possibly requiring an even stronger version of network neutrality, but the economics for any alternative network architectures are now rather clear to me, and they clearly can't be ignored. The lonely appendix, on addressing and forwarding, is mostly interesting to me for its notes on true virtual circuit networks and the very different approaches taken with them, but also serves as a bit of a history lesson on obscure designs that were considered and abandoned for one reason or another. The last two chapters are reflections on the book and what the Internet should be; this isn't a book of solutions, but of possible solutions, and a great deal of speculation. Regardless, I enjoyed it. .