[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.