This tutorial will present a deconstruction of the high-level
design principles, or architecture, underlying the Internet.
Architecture stands between requirements and engineering. We
will briefly survey requirements, and then present a
(surprisingly long) list of principles. We cannot claim that
these principles form a basis set in any sense, as they are
somewhat interdependent. However, in most cases they provide
leverage points at which one could modify the architecture.