Design Philosophy of the DARPA Internet
- David D. Clark 1988 -
Review by James Ezick, March, 1998
Reshuffled by Cristian Estan, April, 1999
Design Goals (in order of importance)
-
Internet Communication must continue despite loss of networks or gateways.
(Internet should survive nuclear strikes.) - survivability.
-
The Internet must support multiple (types of communications) services.
-
The Internet must run over a variety of underlying network technologies.
-
The Internet architecture must permit distributed management of its resources.
-
The Internet must be cost effective.
-
The Internet architecture must permit host attachment with a low level
of effort.
-
The resources must be accountable.
Survivability in case of failures
-
If two entities are communicating over the Internet, and some failure causes
the Internet to be temporarily disrupted and reconfigured to reconstitute
the service, then the entities communicating should be able to continue
without having to reestablish or reset the high level state of their conversation.
-
The transport level sees only one failure: total partition. The architecture
masks completely any transient failure.
-
All state information is stored at the endpoints of communication.
Gateways have no knowledge of the connection generating the packets that
they are routing. This approach is called "fate sharing".
Types of Service
-
Different types of service are distinguished by differing requirements
for such things as speed, latency and reliability.
-
TCP (Transmission Control Protocol) was the first service conceived of.
It is built on top of IP (Internet Protocol), which is the basis for all
services.
-
Although TCP was intended to be as versatile as possible, real time digitized
speech is an example of a service for which TCP is not well suited because
reliable transmission protocols retransmit dropped packets, thus sslowing
down.
-
UDP offers datagram services.
Basics
-
Internet was designed by trial-and-error.
-
Packet switching is the way to multiplex connections.
-
The datagram (packet) is the fundamental unit of transfer. Datagrams
are routed independently by gateways which utilize a routing table.
-
The network is designed to utilize to the greatest extent possible existing
local area networks.
-
The nature of datagrams (having no state information attached to them)
has made accounting and resource management very difficult.
-
IP was purposefully made unaware of the characteristics of underlying networks
in order to be able to run on all pf them.
-
Since the reliability associated with the delivery of a datagram is not
guaranteed, but "best effort", it was possible it is possible to build
out of the datagram a service that is reliable (be acknowledging and reteansmitting
at a higher level), or a service which traded reliability for the primitive
delay characteristics of the underlying network substrate.
-
Reliability at network level adds a large delay jitter, making it impossible
to offer anything but reliable transport (e. g. voice) unless the network
is overprovissioned.
Conclusion
-
The Internet is very good at achieving its first three aims, but failed
to provide accounting, resource management and separate administration.
-
Flows with soft state will be the basic blocks of next generation Internet.
Points of Discussion
-
What are the issues today?
-
Where are the conflicts generated by passing to a "commercial" environment
visible?