Jumping through all those hoops to make NATs work "seamlessly" is a glittering bauble. Lots of interesting knots to go untangle as folks rework and undo one of the basic assumptions behind IP which is a single, common addressing space. And its really an admission of failure.
Buying into NATs dooms people to live in thier private hells.
Bill's comments are dramatically on point. If you lived through the DECNET Phase 4 address translators of the day (HEPNET et al), you will recall the massive splintering of the DECNET world that resulted from a violation of one simple assumption: predictible end to end connectivity resulting from a single, semantically consistent address space. Area boundary translators of the day (now called NATs) are and were at best stopgaps. Many of us who aggressively eliminated phase 4 from the backbones of the day did so due to the massive operational headaches resulting from the NAT's violation of the end to end reachability and least surprises principle. In fact, I often thought the death of phase 4 was dramatically accelerated by this very issue. Trying to find ways to better automate these translators is just yet another constraint to the application developer and network operator, similar to unusual or unexpected proprietary application gateways. Eventually, it becomes too costly or complicated. And something else is put into place. Looking practically at this problem, many voices have called out loudly about the issues of developing routers capable of simpling switching the current and future traffic levels. Now, we hear suggestions of inter-ISP NATs that must look at every single packet, transform it without error, regenerate security, routing, transport and checksum information, and do it all at wire speed. These views are incompatible and irreconcilable. I would suggest that address renumbering technology is not identically equal to the protocol conversion problem. Renumbering is a triggered event whose administration can be automated at any layer of the topology. Protocol conversion happens for potentially every packet, all the time. Its impact is widespread across all facets of architecture, application and infrastructure. And I personally have never seen it work seamlessly, despite multitudes of generations of attempts. Protocol conversion is the ugly child of the datacom world. Lets not build it into the design of the Internet by intent. I believe the end to end argument has driven much of the success and value of the global Internet. Its worth preserving as an architectural principle. Eric Carroll Tekton Internet Associates