if people understand that NATs allow them to run web and mail
clients from multiple machines but prevent them from running
most other apps, then I don't have any problem with it.
And if your objection to NATs ended there, I wouldn't have a problem
with it. But instead of then working to change the protocols that break
with NATs, you continue to insist, Canute-like, that you can turn back
the tides and move the world back to a pre-NAT world.
A Canute-like approach would be trying to fix protocols that break with
NATs. It's easier to turn back the tides than to recover the
functionality lost due to NATs. To the extent that you can recover it,
you lose scalability, efficency, reliability, and increase deployment
barriers.
I'm not trying to do that, because it's clearly futile. Nor do I
pretend that NATs will go away without a better solution in place
to problems that caused people to buy NATs. Rather, I'm concentrating
my efforts in areas that might actually produce useful results. Part
of that effort is to improve IPv6. Part of that effort is to try to
dispel some of the widespread disinformation/delusion/fantasy about NATs.
As for a genuine effort to understand how to build applications that
can operate (to some degree) in the presence of NATs, see
draft-moore-nat-tolerance-recommendations-00
Keith