This paper presented the philosophy behind the development of internet architecture by explaining the original objectives for the Defense Advanced Research Projects Agency (DARPA) Internet Protocols, the relation of these objectives to one another and the important features of the protocol.
The fundamental goal was to develop an effective technique for multiplexed utilization of existing interconnected networks. An effective interconnection means that it must achieve the following goals which are in order of importance: can continue communication despite loss of networks or gateways through “fate-sharing” leading to the introduction of Datagram, can support a variety of services resulting to layering of the architecture into TCP and IP, is able to incorporate and utilize a wide variety of network technology, permits distributed management of resources, must be cost effective, allows host attachment with a low level of effort and must be accountable.
One interesting point made by the paper is that the designers were working with a specific set and ordering of goals in mind. As this was designed to operate in a military context, the protocol focused more in survivability of the communication service as compared to its accountability. These set of priorities strongly influenced the design decisions within the internet architecture. An architecture that is for commercial deployment would clearly place the goals in a different order.
The use of Datagram has served very well in solving the most important goals set for this design. It’s a stateless packet switch letting the Internet to be reconstituted after a failure without concern about the state. It provides a basic building bloc provisioning for a variety of types of service to be implemented. And it represents the minimum network service assumption, utilizing a wide variety of networks. However, not all goals were properly addressed due to lack of available tools back then and were further down the priority list.
The implementation of this design is an entirely different matter and would require intensive engineering to come up with protocols that meet the specifications. Would it be better if separate networks for different services were supported instead of creating a single network for all of them? This presents a lot of drawbacks especially in the performance side though it was explained that it was constructed based on the needs of that time. All in all, it effectively advances the evolution of Internet towards what it is today.
Reference:
David D. Clark, The Design Philosophy of the DARPA Internet Protocols, 1988
David D. Clark, The Design Philosophy of the DARPA Internet Protocols, 1988
"Would it be better if separate networks for different services were supported instead of creating a single network for all of them?" interesting point there =)
ReplyDeleteVery interesting critique on the paper! I agree that the point that the designers had this clear set of goals in mind is interesting. I was also amazed that indeed every aspect of the system had specific motivations and reasoning behind. :)
ReplyDelete