Review of “The Design Philosophy of the DARPA Internet Protocols”
Clark, D. 1988. “The Design Philosophy of the DARPA Internet Protocols.” ACM SIGCOMM Computer Communication
Review 18 (4): 106–114. doi:10.1145/52325.52336.
Author(s) & Affiliations:
David D. Clark; Massachusetts Institute of Technology; Laboratory of Computer Science
From 1981 to 1989, David D. Clark served as Chief Protocol Architect in the development of the Internet. In 1988, 15 years after TCP/IP was first proposed, he wrote “The Design Philosophy of the DARPA Internet Protocols” in which Dr. Clark attempts to clarify what DARPA’s goals and priorities were when creating the Internet protocols. Dr. Clark also explains the design choices of the Internet protocols within the context of those stated goals and priorities.
The top level goal of DARPA was to use a multiplexing technique to interconnect existing networks. One of the assumptions Vint Cerf and Bob Khan, the original authors of the Internet protocols, made was to use a packet switching vs. circuit switching for multiplexing. Packet switching was largely for compatibility with the existing networks it was attempting to interconnect, and because many applications (remote log in being an example that Dr. Clark used) were natural candidates for the packet switching technique.
The secondary goals of the project determined how the Internet protocols would be implemented. Dr. Clark stated that the seven second level goals were:
1) Internet communication must continue despite loss of networks or gateways
2) The Internet must support multiple types of communication services
3) The Internet architecture must accommodate a verity of networks
4) The Internet architecture must support distributed management
5) The Internet architecture must be cost effective
6) The Internet architecture must permit host attachment with a low level of effort
7) The resources used in the Internet architecture must be accountable
The goals of the Internet architecture were weighted by importance in the above order. The higher level secondary goals took precedence over the lower level goals, hence the Internet design effectively routes traffic around networks and gateways that are off line, however the design shows little accountability and security; the lowest level goal. Dr. Clark states that the first three goals had the most profound effect on the Internet, and the lower goals, because they weren’t as important, were less effectively met. Dr. Clark also, stated that had the goals been in a different order, the Internet would be very different.
Early on, TCP/IP was one protocol, however it was realized that while TCP was robust enough to work for most general services, they were able to think of examples where other protocols would be more suitable. For that reason, TCP/IP was separated and UDP was created to provide a different application layer interface. Another notable change to the protocol suite was the introduction of IPv6, which was drafted as a standard in 1998 (after this paper was written) to address problems with address space limitations.
While Dr. Clark’s paper achieved the goal of explaining the thought process behind the development of the Internet protocols, it would be interesting to have a follow up to this document. “The Design Philosophy of the DARPA Internet Protocols” was written in 1988. Now thirty-one years later, with the advantage of hindsight, would Dr. Clark still order the secondary goals the same way? Subsequent work could include adding the addition and reorder of the original goals. TCP still has the same basic functionality since its first specification in 1974. A study could be done to discuss whether it be changed to incorporate more features, especially around security. From a purely academic perspective, it would be an interesting follow up to build other protocols to benchmark against TCP/IP which incorporate those different features.