Architectural principles of the Internet
Many members of the Internet community would argue that there is no architecture, but only a tradition, which was not written down for the first 25 years (or at least not by the IAB). However, in very general terms, the community believes that the goal is connectivity, the tool is the Internet Protocol, and the intelligence is end to end rather than hidden in the network.
The core idea is connectivity:
- a universal network-layer protocol suite: IP (primarily IPv4 and IPv6)
- intelligence (or "complexity") is ideally placed at the edges, not in the network core
This is often illustrated by the "IP hourglass" model:
- many protocols exist at the physical, link, transport, and application layers
- IP forms the narrow waist of the Internet architecture:
- it provides a common network-layer service across heterogeneous links
- it enables interoperability between diverse link technologies (Ethernet, Wi-Fi, cellular, optical, etc.)
In practice:
- every Internet-connected host implements IP (IPv4 and/or IPv6)
- the network layer is standardized around IP, even though multiple versions and transition mechanisms coexist
[Clark 1988] discusses the design philosophy of the DARPA Internet Protocols. The narrow waist acts as a spanning layer that:
…hide the detailed differences among these various [underlying] technologies and present a uniform service interface to the applications above
For IP specifically:
How does the IP spanning layer achieve its purpose? It defines a basic set of services, which were carefully designed so that they could be constructed from a wide range of underlying network technologies. Software, as a part of the Internet [i.e., network] layer, translates what each of these lower-layer technologies offers into the common service of the Internet layer.