On donderdag, jun 19, 2003, at 13:49 Europe/Amsterdam, J. Noel Chiappa
Maybe NATs are, in fact, a result
of a very deep problem with our architecture.
My take is that NAT's respond to several flaws in the IPv4
- 1) Not enough addresses - this being the one that brought them into
Since there are 1.5 billion unallocated addresses lying around in some
storage room at IANA, the IPv4 address shortage problem in itself can't
be the reason for the existence of NAT. The real problem is that ISPs
are unwilling to give out addresses to customers in a way that
customers find acceptable and affordable.
- 1a) Local allocation of addresses - a variant of the preceeding one,
subtly different; NAT's do allow you to allocate more addresses
locally without going back to a central number allocation authority,
which is very convenient.
I think that if you look at the points I listed above, the market has
decided that IPv4+NAT (for all its problems, with which people are I'm
reasonably familiar, given the many years NAT has been in service
the most cost-effective solution to providing them. The IETF really
sit and ponder the implications of that.
Designing a NAT architecture that doesn't have the disadvantages
current NAT has wouldn't be much of a challenge. A little outside
address discovery here, some dynamic server port assignment there, and
we're well on our way. However, this would still require massive
changes to all applications (not just the ones that don't work with NAT
today) and to deployed NATs. But instant deployability is exactly what
makes NAT so prevalent today. If implementing NATng is as much trouble
as implementing IPv6, why bother?