Clark and Blumenthal's paper entitled "Rethinking the design of the Internet: The end to end arguments vs. the brave new world" looks at the change in the requirements for the Internet as it became more consumer-oriented and general purpose. The authors explore the end-to-end arguments that previously drove the Internet's design and how emerging requirements risk compromising the Internet's original design principles. This can possibly result in the Internet losing some of its key features, especially the ability to support new and unanticipated applications.
The paper identifies the following trends in particular:
- The rise of new stakeholders in the Internet, in particular Internet Service Providers
- New government interests
- Changing motivations of the growing user base
- Tension between the demand for trustworthy operation and untrustworthiness of individual users
The authors consider the loss of trust as the most fundamental change that is transforming the Internet. I strongly agree with this. In the six examples of modern communication requirements, five are directly related to issues of trust. The early Internet model assumes mutually trustworthy users with the main issue being unreliability. The advantages offered by the end-to-end assumption can easily be undermined once the network and its users are seen not just as being unreliable, but in fact actively malicious and hostile. Certain threats such as Trojan horses, spam, or distributed denial-of-service attacks appear to be more efficiently dealt with using core network functions; adopting a pure end-to-end solution for its own sake may well undermine innovation by diverting resources away from legitimate services and towards dealing with threats.
One key advantage of the end-to-end assumption that I do not believe has changed as the evolution of the Internet has evolved is that of simplicity. Core network services such as firewalls and content replication can and do in fact improve end-to-end services but at the cost of complexity. It seems that moving functions from end-points to the core network introduces a tradeoff in complexity. The paper discusses the design issues of adding functions to the core network at some length and the discussion appears to bear this out. Adding functions to the core network will have to involve striking a balance between functionality and complexity.
Overall, the paper is an excellent, comprehensive treatment of the original Internet design with respect to modern-day requirements; I strongly recommend that it be kept as part of the CS 255 reading list.
References
David D. Clark and Marjory S. Blumenthal, "Rethinking the design of the Internet: The end to end arguments vs. the brave new world", August 2000