The internet is nearly full. The space that has been used up isn’t physical – there are still data centres to be built and new web sites to put up, and increasing demand for both – it’s the address space. Vint Cerf and the other researchers who built the internet’s foundations simply had to pick a maximum possible number of computers that could possibly want to communicate on this mesh of 1970s computer networks that were to be joined into one – and that number was 4.2 billion – coincidentally, about the world population in 1977. That’s one globally interconnected computer for every person on the planet, at a time when a computer was a hobbyist’s luxury. If the internet’s pioneers had imagined 1.7 billion possible users, maybe they would have erred on the side of caution. Between mobile phones, web sites themselves, connections into every sufficiently advanced home, we have less than 400 million left, and there’s little doubt that we will hit a wall some time in 2012 (as predicted accurately and consistently for the last few years).
There is a thoroughly designed long-term solution, and it’s ready to go. IPv6 allows for a million trillion addreses for every square millimetre on the planet. That ought to be enough. Probably. The reason we’re not using it is simply that every device “on” the internet must understand it, and not everything does yet. Telecoms companies don’t supply upgraded routers to their subscribers because there are no web sites that are only addressable through IPv6. And no web site owners are going to set up their sites exclusively on an IPv6 address because they would not see any visitors.
There is a way to avoid everybody on the internet having to upgrade their equipment overnight (without limiting growth), but it’s not a great one.
NAT – the engineers’ terror
Network Address Translation is a compromise – if the post office had the same problem, it would be delivering your whole street’s post to one box at the end, and leaving people to come and pick it up from there. Or in the bad old days before mobiles, one household of five people would share a single phone.
In the same way, network address translation means several devices share a single IPv4 address. In a domestic setting, it’s a well-trodden compromise – a £20 router in the home can happily allow a handful of devices to reliably communicate, but at the cost of none of them being addressable. So you can’t run a gaming server, or accept voice-over-IP calls, without separate workarounds for each program you want to run.
As the address crunch takes hold, broadband customers can expect to have their real addresses taken away, or priced at a premium. Instead your provider will do the NAT for you – now instead of one address per customer, it will be one address per hundreds of customers, mediated by a new and overstretched piece of equipment. Gradually the addresses move away from the actual devices that wanted them, and into the centre of the network, stopping any device on the edge from communicating fully.
NAT is an engineer’s horror because it adds complexity to any kind of diagnostic process Anyone trying to trace a fault from one point in the network to another must be able to interrogate NAT devices along the way, or else he may not be able to find it. Telling one connection from one hundred becomes more difficult. 30 years of network tools built on a model of direct “end to end” communication will need rapid improvement to help engineers make sense of this patchwork internet where “source” and “destination” simply don’t mean what they used to. There’s no doubt that as long as we have widespread NAT, the internet will be at worst, less reliable, and at best, much more expensive to maintain.
But since it’s the cheapest immediate solution, NAT is inevitable. The global IPv4 network is a unique and interesting upgrade – unlike Microsoft or Google rolling out a new software release, nobody will be forced to upgrade. What must force the technical change is economics.
When it’ll be cheaper to give out IPv6
Firstly, equipment refresh happens. Not suddenly, but over the years routers need replacing, both at home and in the heart of the network. Newer equipment does support IPv6, usually whether you want it or not. Network equipment companies don’t make money from being behind the times, and want to asssure their customers that they have the latest technology. So IPv6 starts as another feature tickbox in an unused piece of equipment that you bought anyway – the is ready when everyone else is, and is creeping into the field (for instance, your home PC or laptop is probably the first completely IPv6-enabled device you own).
By 2012 or 2013, unused IPv4 addresses will be impossible or expensive to come by, and this will affect broadband suppliers (on the lowest margins, and traditionally requesting one IPv4 address per customer) first. NAT might give them some advantage in preserving addresses, but will start to break in ways that users will start to see, and broadband suppliers will only be able to offer excuses, or an expensive upgrade to a “real address”.
Some network engineer at some broadband company is going to flip. Instead of suggesting that they give out unrouteable IPv4 addresses to the next batch of subscribers, they are going to suggest giving out unrouteable IPv6 addresses to go with their new IPv6-supporting routers. The difference is that IPv6 addresses might, one day, become reliably routable, and in the mean time, both can be disguised with NAT.
Behind their routers, customers can use a mixture of (translated) IPv4 and (global) IPv6 addresses, both of which are translated to IPv6 before being sent over the broadband line, and the ISP might translate back to IPv4 where the user is accessing IPv4 sites. There is a point at which that will seem less ridiculous than multi-layered NAT!
One day the plan above won’t seem so silly (though someone might draw it better).
That gives both customers and providers the best of both world – real connectivity, both ways, for modern equipment that can support IPv6, and a workable (but steadily inferior) connection for older IPv4 devices.
Once that has happened with enough ISPs, the economic burden will start to switch to those that have held out with their underdeveloped IPv4-only networks. They will be unable to take on new customers without degrading their service – so an increasing number of people will be accessing the internet from IPv6 addresses.
In the mean time, hosting companies have been upgrading their networks to support IPv6, and forming peering relationships with IPv6-supporting telcos. This happens because:
- hosting is a higher margin business, so network engineers can more easily justify far-sighted work;
- hosting networks are a good deal simpler and newer than access (broadband) networks, so there is less to configure, and less ancient equipment to worry about;
- it will eventually become very expensive to start a new hosting network offering IPv4 addresses, and pointless to invest in doing that when enough broadband suppliers are using IPv6.
Most hosting providers (us included) will give you an IPv6 and IPv4 address already. We might not advertise or document it very well, but the service is already there. The next time we (collectively) refresh our service offerings, you should start to see IPv6 connectivity working “out of the box” rather than having to set it up yourself.
At some point, hosts and access networks who have both sites and customers on IPv6 see the light! The telcos can leave their overcomplicated NAT to rot as more of their customers are accessing sites on IPv6 addresses, and demand for NAT starts to plateau.
With enough broadband providers running IPv6 to their customers, new hosting companies can flourish running IPv6-only services, and bold new broadband providers will simply “buy in” their legacy IPv4 connectivity.
I’ve no idea how long that process will take – the only certainty is when IPv4 will run out (can’t link to that enough!) and kick off a set of consequences that push IPv6 traffic into the majority.
I’ve only sketched the events that I think will matter in getting there. In the transition I’d expect to see all or some of the following happening:
- Someone declaring a “next-next generation IP” that limps along with old routers, and tries to paint IPv6 as overcomplicated and unnecessary;
- IPv4 address trading, probably at eye-watering prices that temporarily stifle new entrants to the market of IP services;
- IPv4 address routing wars and instability, and a challenge to the legitimacy of the regional internet registries (“hey, whose addresses are these anyway?”);
- A boom for new special-purpose NAT devices, all of which advertise just how deep you can stack them and/or clever IPv6 translations (this is probably already happening).
To hedge my bets, I could see the transition derailed if the market for internet services fails to expand without limit – e.g. oil shortage, economic instability, natural diasters – if the internet doesn’t need to grow for some reason (just ask Chris Martenson), we don’t need IPv6.
Or maybe Facebook, or Google, or Apple, or some new upstart, changes people’s internet usage such that they don’t want a diversity of sites or services addressed through an independent body (hosting services from Facebook, anyone?), and we grow to love one gatekeeper – if that happens – we don’t need IPv6.
Otherwise, we’ll start to need it next year, and will be desperate by about 2013 – economics must kick us into gear.