In the paper entitled “The Design Philosophy of the DARPA Internet Protocols” by Clark, he discusses the principles governing the design of Internet as proposed and implemented by DARPA. The main goal of the DARPA Internet Architecture was to provide an effective technique for the usage of connected individual networks. The initial networks considered for connection were ARPANET and ARPA packet radio network so that the radio network could utilize the large service machines of ARPANET. The selected technology for the connection was packet switching instead of circuit switching. It was also opted to connect the existing networks instead of creating a new unified major network to handle future networks which will emerge.
A set of more specific goals were also presented in the paper to define what is sought after the design of an effective internetwork. These goals are persistence of communication despite loss of gateway or network, support for multiple types of communication services, accommodation of variety of networks, provision for distributed management of resources, cost effective, low level of effort for connecting end-point host, and accountability of resources used in the Internet. These goals as mentioned by the author is not a definite set of goals but just a baseline for the design.
The most important goal of the design is to make sure that communication between end-points should persist despite failure in the network, unless there is no physical path in which to route the packets of the communication. Preserving the state of communication means preserving the information on the number of packets transmitted and acknowledged, or keeping track of the outstanding flow of control permissions. A model for persisting the communication is “fate-sharing”, as coined and preferred by the author. With fate-sharing the information on the communication is gathered at the end-point of the communication availing the service. Secondly, the design should support various types of services differing in the requirements for speed, latency and reliability. Several of these services are bi-directional reliable delivery of data and virtual circuit service (e.g.
remote login, file transfer) implemented using TCP. Another type of service is the XNET cross-Internet debugger and real-time delivery of digitized speech. As a result it was decided early that several other transport layers needs to be created to handle various services. The design was also created in order to accommodate several types of networks including long haul nets, local area nets, broadcast satellite nets, packet radio networks and several more variety of networks. Meeting this goal is equally important as the other two as this defines the range of networks which will be accommodated by the design. The other goals are of lesser importance compared to the first three, yet still are desirable to be met by the design. The goal of distributed management of resources of the Internet has been met as not all gateways are managed by a single agency. On the other hand cost efficiency might have been compromised for the sake of interoperability of networks (design of packets). Another point of inefficiency could be the retransmission of lost packets from one end to another, crossing several other networks if necessary. Also, the cost of connecting a host to the Internet seemed more costly as compared to other architectures as a set of services desired to be supported must be implemented in the endpoint. It is worth noting that during the time of publication of the paper, the accounting packet flows is still being studied and so no further details were presented.
The author presented the notion of realizations to describe a set of hosts, gateways and networks. These realizations may differ in magnitude and requirements like speed and time of delay. An Internet designer needs to consider the details of such realizations to make the design fitting for implementation.