[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Rethinking the transition: ditching IPv4



Dear IPv6 operators,

For years now, we've been telling people that they should start running IPv6, or at least, start to think about running IPv6. This message was explicitly or implicitly accompanied by the notion that we'd be running IPv4 "for decades".

Now that the end of the IPv4 address space (down to 1099 million today from 1300 January 1st even though 46.0.0.0/8 was reclaimed) starts overlapping with medium-term planning (such as equipment purchases made today) people are actually thinking about IPv6.

But, not with the result we'd like to see: more often than not, the conclusion is: we need to support IPv4 anyway, layers of NAT and all, so adding IPv6 to IPv4 only makes things more complex and doesn't buy us anything until many others are using it first.

The way to get out of this vicious circle is to drop IPv4. IPv6 network infrastructure is much simpler than IPv4 network infrastructure for several reasons:

- no need to carve small pieces of address space into even smaller subnets
- no need to guess at numbers of hosts per subnet
- no need to manage individual router addresses with EUI-64 addressing
- no need to do NAT

So kicking IPv4 out of your routers actually makes life simpler.

But we still need to talk to the IPv4 world. For very many applications, this can easily be done using proxies without incurring all the trouble that is lurking behind NAT-PT. For instance, see my little proof of concept draft:

http://www.ietf.org/internet-drafts/draft-van-beijnum-v6ops-connect- method-00.txt

However, proxied connectivity to the IPv4 world won't be good enough for all applications. But we can have our cake and eat it too if we can tunnel IPv4 over IPv6: this retains the simplicity of the routed IPv6-only network while still providing the full IPv4 experience where desired.

I understand that there is already a proposal that supports this: http://www.dstm.info/

I'm not sure if this is necessarily the best approach, I'm thinking some kind of PPP over IPv6 would be better, because PPP has a long track record. But the exact way in which this happens isn't the most important thing. What counts is that such a mechanism, much like dial- up, can provide individual IPv4 addresses to individual hosts as needed. This also allows two hosts right next to each other to have different classes of IPv4 connectivity (NAT/no NAT, firewalled/open) without the need to do complex things in the routed network.

And because addresses can be obtained/released as applications need them and no addresses are lost for subnetting, this allows for extremely efficient use of IPv4 resources.

An approach like this could actually simplify networks, and as such, make people happy to switch to IPv6. We don't have to do a whole lot to make this possible, providing some guidance on proxying and maybe a way to easily set up IPv4 over IPv6 proxying on demand is all that's really needed.