NAT and End-to-End Argument – Does NAT Violate It?

ipipv4nat;

Does NAT violate end to end argument?
What does end to end argument means in this context?

Best Answer

It means that IP was designed for each endpoint only to maintain the state of the communications. NAT requires that the NAT device in the middle to maintain a state of the communications.

IP was designed so that if something in the middle of that path changes, packets can be rerouted without any ill effect. If the path changes and misses the NAT device that maintains the state, then the communications break. That can happen with two WAN routers for redundancy, and the wan link for one breaks, and the traffic now flows through the other, but now the NAT device for the original communication does not see the traffic, so the communications flow breaks due to IP address changes.

Remember that IP was explicitly designed to continue communications in the event of a path failure (tornado, hurricane, fire, nuclear bomb, etc.), and automatically reroute the packets through an alternate path. Because the NAT device is required because it maintains the communications state, it breaks this paradigm.

Related Topic