Network Address Translation

In the scenario depicted in figure 13.1 node A is altering between having a bidirectional connection to IN1 and IN2. This is a very simplified scenario but it demonstrates the basic problem, that A cannot decide which gateway to use. If one of the gateways (or both) implement NAT, TCP connections routed through the gateways, will break every time A moves from IN1 to IN2, and vice versa.

In a testbed set up as displayed in figure 13.1, it is easy to show the problem. The graph in figure 13.3 illustrates a TCP connection which breaks, as opposed to figure 13.2 where the gateways do not implement NAT. In both tests, A switches connectivity every 20 seconds. In figure 13.2 one can observe that it takes some time for the Internet route to be updated.

These tests were done using an earlier version of olsrd. Updates in the 2-hop neighbor sensing and the addition of link hysteresis should decrease the gaps between connections.

Figure: Using gateways without NAT. The TCP connection stays up. This solution requires a globally route-able address for the MANET host.
Figure: The TCP connection breaks just as A moves from IN1 to IN2 because the gateways use NET.

Figure: Using unidirectional UDP traffic from the MANET host to an Internet host through NAT gateways.
Figure: The TCP connection stays up due to explicit tunneling to one of the gateways. Throughput varies based on the route used.

Andreas 2004-07-29