> The number of ports you have is limited to 16 bits minus whatever needs to be reserved. Each connection on a NAT router takes a port. So I'm guesstimating that leaves you about 30,000 useful TCP connections per public IP address. I am sure that things start to break down before that. Just doing a simple google about "linux" and clicking on a wikipedia link I get about 20 TCP connections started. So for every public facing IP address you can serve 1000-1500 active customers. And this is not really something you can ramp up for peak usage or anything.. it's a hard limit. Once customers start banging against connection number limits then things are going to suck for them.
actually, a connection is the set
source IP, source port, destination IP, destination port
so you can re-use the same source IP and source port if you have a different destination IP and/or destination port.
the OS doesn't re-use the source port by default, but it could. so there is really no long-term reason for the NAT boxes to run out of the ability to handle connections.