Monday, September 1, 2008

The Design Philosophy of the DARPA Internet Protocols

This paper discusses how the TCP/IP protocol design decisions were made. The main goal of the protocol was to interconnect existing networks and other new networks that emerge. Store and forward packet switching technique was used to address this requirement. The structure of the Internet was a network of multiple networks communicating using packet switching and using gateways that use store and forward packet forwarding.

Secondary goals included survivability, support for different types of services, accommodating variety of networks and management of resources. The paper introduces the concept of fate-sharing for survivability. In the fate-sharing model where endpoint is responsible for storing the state information for any of its communication. In the beginning it was thought that TCP would be general to provide support for any type of service. Large number of varied service types caused the split to have TCP and IP. TCP provided reliable sequenced data stream while IP proved to be the basic building block for all types of services. UDP was created to provide datagram service. It was decided to have flow control and acknowledgment in TCP based on byte number.

It was required for the Internet architecture to support variety of networks. This is achieved by making very few assumptions like the network can support packet or datagram, the network has some suitable form of addressing. Some of the drawbacks of the Internet are lack of tools for doing management of resources, high cost for attaching a host to the Internet, poor implementation of the methods and lack of accountability.

The current design of the Internet is influenced by a lot of factors. Packet switching was chosen because most applications at that time fitted well with this scheme and also most of the networks were packet switching networks. Although after the design it has been seen that circuit switching properties are being included in the current architecture (MPLS). Stateless nature has brought up issues related to accountability (IP spoofing). It will be nice to have a discussion regarding what design decisions would have been made if Internet was designed today.

It was really informative reading the paper. Quite a few of us have read about the protocols and mechanisms used in the Internet but did not now what led to the design of these. These kind of papers help in understanding the reasoning behind why things are the way they have been. I would highly recommend having this paper in the syllabus.

No comments: