I came up with this idea in like 5 minutes so I'm sure it is flawed. But i think that if we had a realistic design we could have been done with the transition in early 00s.
I came up with this idea in like 5 minutes so I'm sure it is flawed. But i think that if we had a realistic design we could have been done with the transition in early 00s.
But uh... it doesn't seem to have helped as much as you're thinking.
Also, you didn't address how v4-only devices or software would talk these bigger addresses (how can you fit >32 bits into a sockaddr_in struct?). That's one of the big difficulties of v6 deployment and it won't go away no matter how you design v6.
There is no way around upgrading end devices. But the problem with v6 adoption isn't the number of end devices from before 1995.
Basically the adoption plan could have been:
1. Get end OSs to have v6 support. They gain the ability to make outgoing connections to v6 addresses right away. There's no reason, from the beginning, for this not to be enabled by default with zero configuration from the beginning.
2. Get NAT routers at the edge to have v6 support. Gains the ability to publish services from inside without awkward port forwarding etc (and increases the benefit of 1)
3. Slowly make v4 addresses expensive so that consumers make do with less than a /32. They need v6 capable endpoints but can communicate as clients with anyone, and as servers with anyone who has adopted v6
4. Eventually v4 addresses are so expensive, and the number of machines running browsers that don't support v6 so small, that small time web sites stop taking a /32
etc. it doesn't really matter when the network backbones upgrade, it just saves a few bytes on the wire and they internalize the cost of that
This just doesn't seem like what happened in our timeline.
IPv4 address owners get to be landlords collecting rent on anyone downstream. It benefits those with massive early IPv4 allocations and few other people.
In that case there seems like less reason to upgrade major network interconnects from v4 because that would "ruin" some IPv4 landlord's "rent" (and profit).
I still think there are technical flaws in my proposal - for example, probably the tunnel should use udp so that it can traverse totally clueless NAT - but I think the basic idea of trying to upgrade the edges while fully interoperating is incentive compatible in a way that the idealistic v6 approach just isn't.
The problem with IPv6 deployment has never had anything to do with lack of tunnels, "temporary" or otherwise, we've had that technology all along.
It does matter if the major interconnects upgrade. We've got decades of data now if you want to science it.
In your scheme if you aren't mandating every v4 address be a NAT "forever", then you've at best got huge sections of "dark" addresses that can't properly be used without some traffic accidentally blackholed. If you do mandate it you run the risk of bad actors taking advantage of it and toll bridging the chokepoints at the tunnels. (Which is also in theory a massive man-in-middle security risk.) Either way you are locked into the whims of IPv4 address owners and the mistakes of past IPv4 allocations (including all the early /8s that went to big companies just because they asked the right year and the fact that the large continent of Africa has never had anywhere near enough address space, and a fraction in comparison to Europe and the Americas).
I really don't see the economic incentives that would have made that addressing system better than the IPv6 we got, but I certainly see a lot of them that would have made things much worse.