END-TO-END ARGUMENTS IN SYSTEM DESIGN
📜 Abstract
This paper presents a design principle that helps guide placement of functions among the modules of a distributed computer system. The principle, called the end-to-end argument, suggests that functions placed at low levels of a system may be redundant or of little value when compared with the cost of providing them at that low level. Examples discussed in the paper include bit error recovery, security using encryption, duplicate message suppression, recovery from system crashes, and delivery acknowledgement. Low level mechanisms to support these functions are justified only as performance enhancements.
✨ Summary
The paper’s central contribution is a function-placement principle: when correctness depends on application-specific knowledge, the complete implementation generally belongs at the communicating endpoints. Lower-level mechanisms may still be justified when they improve performance, but they should not be mistaken for substitutes for end-to-end correctness checks. The paper develops this argument through reliable file transfer, delivery acknowledgements, encryption, duplicate suppression, message ordering, transaction management, and real-time voice communication.
The principle became an influential reference point in Internet architecture and protocol design. IETF materials explicitly identify Saltzer, Reed, and Clark as establishing the principle that functions requiring application-specific knowledge should be implemented at endpoints rather than in the network substrate. More recent IETF architectural discussions continue to cite and reinterpret the argument, emphasizing that it concerns function placement rather than a prohibition on intermediary mechanisms. (datatracker.ietf.org) The paper also remains part of systems and networking curricula, where it is used to analyze the division of responsibilities between IP, transport protocols, and applications. (web.mit.edu) Bibliographic indexes report substantial subsequent citation in computer networking and related systems research. (rankless.org)