J. H. SALTZER, D. P. REED, and D. D. CLARK Massachusetts Institute of Technology Laboratory for Computer Science 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, suggest