Wednesday, June 24, 2009

Review: The Design Philosophy of the DARPA Internet Protocols


The paper, “The Design Philosophy of the DARPA Internet Protocols” by David D. Clark [1] presents the reasons, perhaps the goals which explain the Internet's current architecture. The fundamental goal of the Internet base on the paper is: “...to develop an effective technique for multiplexed utilization of existing interconnected networks.” For multiplexing to be made possible, packet switching technique is used, a fundamental component of the Internet architecture.

Moreover, a list of second level goals is also established as a guide for Internet's architecture and each item is discussed in detail. The list consists of 7 additional goals mentioned in order of importance:

    1. Internet communication must continue despite loss of networks or gateways.

    2. The Internet must support multiple types of communications service.

    3. The Internet architecture must accommodate a variety of networks.

    4. The Internet architecture must permit distributed management of its resources.

    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 first second level goal is achieved using an approach called “fate-sharing” in which only the end-hosts maintain the state information about their connection. The top level goals (first 3) resulted in the development and use of datagrams as transporters across the network while the remaining low level goals are taken into minimum account. The paper concludes by upholding the success of the current Internet architecture because of its wide range of military and commercial utilization. Also, it suggests further development of the current datagram to achieve the low level goals (resource management and accountability) as well.


The author of the paper clearly stated the reasons why the Internet was designed in that certain way. He also did a great job of introducing a protocol feature and expounding it for each goal such as packet switching and the use of a datagram as a building block. I especially commend him for suggesting that a better building block might be suited for the next generation of architecture. He is aware of the fact that indeed datagrams came from the requirements of the DARPA project.


Today, we must look at the usage of the Internet very differently from the date that it was constructed. An example would be the increasing multimedia traffic and mobility services. We must again question Internet's design and look for what best suits the needs of today's network community.


Reference:

[1] David D. Clark, "The Design Philosopy of of the DARPA Internet Protocols." ACM SIGCOMM Computer Communications Review, vol.18, issue 4, August 1998.

Review: End-to-End Arguments in System Design


The paper entitled “End-to-End Arguments in System Design” by J.H. Salter, D.P. Reed and D.D. Clark[1] proposes a design principle on how to properly place functions on the modules of a distributed computer system. Following the end-to-end principle and the emergence of data communication network as a component of a computer system, the paper argues that functions usually implemented at the low level modules can instead be implemented on high level modules to avoid redundancy and improve system performance. Specifically, functions referring to communication protocol operations must be defined to occur at the end points of a communication system. The paper also discusses certain examples (applications) to site advantages of using the end-to-end design. But of course, there are cases when functions can only be implemented on the low level especially when issues of efficiency and performance arise. So, the end-to-end arguments must not be treated as an absolute but as a guide on protocol design analysis. Finally, it stresses the importance of identifying the end points to which the said arguments must be applied.


The end-to-end principle is one of the central design principles which guided the design of the Internet. From the date of this design proposal which was in 1981 until the next 20 years, Internet's design was shaped by the end-to-end arguments. But due to the growth of Internet's commercial use and other specific purposes, there's an emerging risk of rethinking the Internet's original design principles. M.S. Blumenthal and D.D. Clark (one of the authors of the end-to-end arguments) [2], list some of the trends which can influence the requirements for the Internet. Among those mentioned are:

"..the growth of Internet Service Providers, government interests, changing motivations of the growing user base; and the tension between the demand for trustworthy overall operation and the inability to trust the behavior of individual users."


They conclude that risks for innovation is inevitable. At the end, they argue that the flexibility, openness and generality in the Internet caused by using the end-to-end arguments as a design principle must be preserved in any circumstances that might take place.

In this context, the importance of taking the end-to-end argument into consideration in communication protocol design were clearly stated. Examples are given to provide a more perceivable view of common functions often misplaced on a communication subsystem. Basing the design of the Internet on a simple concept allowed fast accommodation of new applications thus, fostering innovation. But how ever good the design principle is, it still has drawbacks along with it, as mentioned in the context. It is notable the authors do not always advocate that the end-to-end approach is the best since there maybe cases when functions implemented at low level modules is beneficial.

References:

[1] J.H. Saltzer,D.P. Reed and D.D. Clark. "End-to-End Arguments in System Design." ACM Transactions on Computer Systems, Vol. 2, No. 4, pp. 277-288, November 1984.

[2] D. Clark and M. S. Blumenthal: “Rethinking the design of the Internet: The end to end arguments vs. the brave new world”; Workshop on The Policy Implications of End-to-End, Dec. 2000