But why is that ( Who says that mobile users must have a public IP on their mobile system )
A couple of reasons just off the top of my head.
1. As throughput increases (3G to 4G), it's yet more traffic to trunk back to a single location and then shove through a single box. Cost wise, NAT doesn't really scale. You also have to include extra costs for logging sessions, etc. Imagine being able to run MIPv6 and have traffic exit at the nearest PoP/IX rather than travel all the way to one of three or four major PoPs running NAT.
2. You increase the chances for network failure. You're pushing everything through a single location and usually a single router using NAT. If there is an outage, chances are at the very least, states will all drop.
3. Applications on the mobile space have been pretty much limited to http because of NAT. Good luck using anything else in tcp or udp, or even another protocol. There is a good case to be made that applications would be more robust if they were using SCTP so switching between and WiFi and cell data wouldn't drop the connection.
4. Abuse, you're not seeing this yet, but as mobile computing increases, expect to see exploited phones/tables. Which will mean IPs get blacklisted (this is very bad if it's an IPv4 of a NAT pool).
5. Connection reliability. NAT traversal is actually pretty bad. There is some pretty good research behind why Teredo fails (which is actually NAT traversal failure). »labs.ripe.net/Members/gi ··· g-teredo
Of course if you want a better explanation, listen to what the operators themselves have to say.
But why is that ( Who says that mobile users must have a public IP on their mobile system )
A couple of reasons just off the top of my head.
With NAT in use apps have to punch holes through NAT and it's been shown that apps having to do so every 30 secs to a minute has quite an impact on battery life. Eliminating the requirement to punch holes in NAT will increase battery life time.