Why Read about Internet Architecture?

The Internet is the largest, most complex machine ever created by human kind. In the space of a quarter century the Internet has become the principal communication infrastructure superceeding the postal service, telephone and facsimile in the movement of information.

As with any other major endevor, the Internet is the product of many hands. Uniquely in human history, it is an infrastructure that can be modified, extended or revised by anyone who has an opinion and a keyboard.

Or at least, that is the promise. In practice, developing Internet applications can be quite challenging because a lot of the rules for using the Internet 'correctly' aren't written down in one place. And some of them are not properly written down at all.

It isn't just developers who need a roadmap. Policymakers trying to grapple with questions such as 'net neutrality' need to understand how the Internet is built and why it is built that particular way. Senator Ted Stephens was justifiably ridiculed for his pronouncement that the Internet is 'a series of tubes'. But anyone listening to his original speech will quickly realize that he has spent quite a lot of time trying to understand what he is talking about and still didn't have a clue.

Understanding how the Internet works is essential to anyone who wants to have an informed opinion on Internet policy. I believe that we must fight to keep the Internet open and free but I resist the attempts to reduce those goals to simplistic slogans like 'Net Neutrality' that can mean anything an Industry lobbyist wants them to mean.

=Why a New Architecture?

In Computer Science, an architecture is an organizing principle that provides coherence to a design.

An architecture is a contract between the designers of an infrastructure and the developers who build on it.

Before we can make a system secure, we must first know what it is and how it works. The Internet as currently understood is too large and too complex to hope to arrive at a security solution.

Being able to describe a system in a rigorous fashion allows us to make statements about what security properties we can provide and under what conditions. This in turn allows us to reduce the problem of securing 'the Internet' from securing every possible way in which the Internet has been used or might possibly be used in the future to securing a well defined subset that meets the same needs.

The problem of reducing email abuse (aka 'spam') illustrates the utility of this approach. When the volume of spam reached severe nuisance levels in the early 2000s, objections were raised against every proposed countermeasure on the grounds that it would require some users to change the way that they used email. Then as the volume of spam increased to the point that the viability of email was starting to be in doubt, the countermeasures were deployed regardless.

=How the existing model fails

The Internet has now been a work in progress for over 40 years. A lot of things have changed over that time, including the ways that we describe large computer systems.

At present there is no Internet architecture document, rather there is a loosely defined set of 'architectural principles' that require historical background to interpret correctly and may or may not be relevant to current needs.

For example, the famous 'End-to-end' argument' was set out as a principle of network design in 1984 at a time when when 'serious' computers cost upwards of a quarter million dollars and use was typically shared between several users. At the time the paper was written, the only places a network function might be implemented were in either the network itself or in the 'host' computers that were connected to the network.

The arguments made in the paper are as true today as they were when they were written. The authors of the paper correctly warn that placing application specific functionality in the network core effectively limits the purposes for which the network can be used. The Internet is capable of supporting practically any form of network communication application because the complexity has been kept out of the network core. In contrast, the telephone network is optimized for communication of voice messages and adapting it to any other purpose was costly and unsatisfactory. As a result virtually the entire telephone network has been absorbed into the Internet.

Reading the end-to-end paper explains why the 1980s Internet was designed the way it was but gives no clues as to how the modern Internet operates or how it may function in the future.

Working out the endpoints of a communication in the modern Internet is a serious challenge. A single SMTP email communication minimally involves at least two people and at least four hosts. Which endpoints are significant from a security perspective depends on what aspect of security we are concerned with:

As the paper itself warns "Using the end-to-end argument sometimes requires subtlety of analyis of application requirements."

=Why the OSI model isn't a substitute

Lacking an official IETF architecture, most Computer Science courses use the Open Systems Interconnect (OSI) model to describe the Internet.

OSI is the global network protocol that the world might have had if the Web had not appeared in 1992 and grown so rapidly that it rendered all competing systems obsolete. Unlike the Internet, OSI was to be designed to a coherent architecture from the ground up.

While the OSI model is a very good way to describe OSI, using it to describe the Internet raises many problems:

Using the OSI model to describe the Internet architecture is like trying to find your way round a building using the plans of the proposal that came second in the design competition.