Monday, September 1, 2008

Summary of 'The Design Philosophy of the DARPA Internet Protocols' by David Clark

This paper describes the history of constructing the basics of the Internet. At the core of the internet lies a minimal sef of basic principles allowing for flexibility in services that the internet supports. These principles include transmission of data in a datagram form, reliable but not perfect delivery and an addressing system. Clark describes several goals of the internet as it was developed in the order of importance, since it's primary purpose was for the military. Top three goals described in detail are: the internet continues to perform despite local failures in gateways, supports all types of services and works on variety of networks.

The success of the Internet was due to the simplicity of its core model. To support all services the TCP was not enough, since in some application sequential guaranteed delivery was less important than fast, real time delivery for example. Thus, the TCP and IP separation happened. The TCP provided the secure, in order packet delivery, while the IP provided basic building blocks for all other services that could be used on the internet. It was up to the designer of the service to architect it using those building blocks, datagram at its core."The hope was that multiple types of service could be constructed out of the basic datagram building block using algorithms within the host and the gateway."

The datagram provided several good features such as it eliminated the need for connection state within the intermediate switching nodes, so that the internet could be reconstructed after a failure without concern for the state, and it represented the minimum network service assumption. However, with the datagram being a separate entity arose the problem of accounting for resources used by the internet, which was one of the goals when architecting the network. Since the datagram has no idea of "flow" it is hard to account for the resources being used by a network connection. Clark suggests that there must be another building block besides the datagram that encompasses this "flow" concept, to address this problem.

This paper provided great historic context on architecting the early stages of the Internet. It provided a very good summary of the goals and the means and the results and illustrated the reason for this architecture's success. It also showed a few weaknesses in the design such as the routing problem and the resource accounting problem that was not solved by the original TCP/IP implementation.