how many applications do you have that does not run across NATs?
that I personally use? I'm guessing about a half-dozen, though I don't
use them all everyday. some other apps work across NAT but with
at my last job, where we worked on distributed computing systems?
several more than that.
how many of them have hardcoded 32bit address field in the payload?
hard to say. I tried to promote IPv6-awareness at my last job and to
get developers to stop assuming that an address was 32 bits.
but the bigger problem isn't the hard-coded address size - it's the
conflict between the application writer's desire that the network
provide complete connectivity (imagine having a network that actually
provided best-effort packet delivery!), and the various things that
exist to split the network up into realms with arbitrary constraints on
how traffic can be routed between those realms. having multiple address
realms of any kind - be they private address realms behind NATs, or
IPv4/IPv6, or whatever - basically forces apps to implement their own
routing, and sometimes, their own addressing. and requiring apps to
have their own routing is tantamount to requiring them to have their own
infrastructure that is rooted in the public Internet (probably on port
80) where all nodes can presumably reach them.
it's much simpler to write a distributed app that is either entirely
IPv4 or entirely IPv6 than to write one that supports both.
Ietf mailing list