Unit content
Middleboxes and the end-to-end principle
Not every network device merely forwards packets according to destination routes. Middleboxes perform additional functions such as address translation, firewalling, load balancing, caching or traffic inspection.
These functions can be operationally useful, but they affect protocol design because endpoints may no longer communicate through a transparent path. A middlebox can rewrite headers, keep per-flow state or reject traffic it does not understand.
The end-to-end principle argues that functions requiring application-specific correctness are often best implemented at endpoints, while the network core should remain as general as practical. It is a design principle rather than an absolute prohibition on network functionality.
NAT illustrates the tension: it solves an address-management problem but makes unsolicited inbound connectivity and some new transport protocols harder.
Understanding middleboxes explains why Internet protocol evolution depends not only on endpoint software and standards, but also on behavior already deployed inside the network.