Functions that need application knowledge belong at the endpoints; lower-layer versions may still be worth having as performance enhancements.
Saltzer, Reed and Clark's 1984 argument: a file transfer needs an end-to-end checksum regardless of link-level checks, so a lower-level duplicate is redundant for correctness and can still be worthwhile for performance.
In practice
- An application that assumes the file arrived intact because the transfer protocol said so eventually processes a truncated file.
- A safety process that relies on an upstream check it cannot verify has a single point of failure it cannot see.
- Standing
- Sometimes cited as Saltzer-Kaashoek-Morris, who co-authored Saltzer's later textbook rather than the 1984 paper.
- Further reading
- Wikipedia
- Subject
- Technology & Software
- Essay
- Design rules that engineers pass down