first things first, infinite will not work (the energy of the sun would not be enough to power them all, even the energy of the universe would not be neough ;-)
Yes you could do it, but it will not work.
Your solution is only pushing the problem further away, but you are not really dealing with it. The actual problem is that if the addresses are not unique, routing will not work.
Someone a while ago, predicted addresses were going to become scarce so they tried to find a solution to push the problem away. They came up with what we now call public (192.168.x.x , 172.16-32.x.x, 10.x.x.x) and private address ranges. They said, well let us *NOT* route the public ranges on the Internet. But this makes them useless! Yes, in order to "win" some addresses, let's first loose some!
In fact, how many addresses are there? 2^32 =~ 4,2 billion
And how many do we loose by not routing the public ones on Internet?
That would be: 2^16+16*2^16+2^24=~18 million (around 0.5% of complete address space)
But when we use NAT routers, we can have 18 million addresses behind every private address! That makes 4,2 billion * 18 million addresses in total.
You see by using this method we have won, many, many addresses, but unfortunately, still far from infinite ;-)
As far as I can tell, this is the (first) theoretical maximum you will be able to use but keep on reading ...
So why would this be the maximum?
Well, the first problem was/is: in an address space, we can only route if every address is used just once.
The solution was to devide the address space in two *SMALLER* ones, the public space and the private space and make sure that we only use the private addresses just once on the Internet. So now we have no more routing problem on the Internet, but we still have to make routing work inside every public address space!
Let's look at what happens behind every cable modem with connected NAT router?
Well, in this smaller address space of 18 million addresses, the original problem has remainded the same: i.e. in order for routing to work, you can only use every address once...
Let's try the old Roman principle of devide and conquer again! If we devide the public address space in two *SMALLER* ones again, a public one (again let's take 0.5% of addresses) and a private one (with the remaining 99.5%). Let's call these public/public and public/private (to show we are one level below the Internet) We can now use an extra level of NAT routers (NAT-L2), just as we did on the Internet level (L1) but then smaller. Let's NOT route the public/public addresses in the Public space and use public/private addresses only once.
This is the same thing as we did before but on a smaller scale!
So we have already more possible addresses as the first theoretical maximum described above!
So lets continue this indefinately, we'll end up with infinte IP's, right? Well No :-(
If you are still with me, you notice that with every iteration, the number of public addresses goes down!
NAT-L3 would have public/public/public(0,5%) and public/public/private (99,5%) and so on and so on.
In a way you are always repeating the same trick, but your address space becomes smaller and smaller (the theoretical maximum at this stage is still going up!) ...
However, at your last iteration, you will end up with less than one address in the public/public/.../.../public space and there it will end (because 1/2 an IP address is of no use)
And there you have it, for me, it will not work!
I hope at least someone agrees with my theory, as it took a while to write it all down!
CU
G.