When fully implementing a required function needs endpoint information, a lower-layer implementation cannot replace endpoint responsibility. Lower-layer mechanisms can still improve efficiency. The principle concerns function placement, not a requirement for peer-to-peer topology. Jerome H. Saltzer, David P. Reed and David D. Clark articulated the argument.[ref]
End-to-end arguments in system design by Jerome H. Saltzer and others. Author-hosted reprint, pp. 1–3: the argument and careful file transfer
New to topics? Read the docs here!