Number Please – the Internet Address Crunch
When I was a kid growing up in the suburbs outside Chicago there was only one area code that you needed to know: 312. It was one of the original 86 area codes issued in 1947 as a part of the North American Numbering Plan and it covered the entire Chicagoland area, city and suburbs. Every area code represents 8 million possible seven-digit phone numbers (we would intuitively expect that number to be 10 million since seven digits can go up to 9,999,999 but since phone numbers can’t begin with a zero or one we lose 2 million of those.) By the late 1980’s that number was running low given an increase in population, homes and businesses adding multiple phone lines and phone lines dedicated to fax machines and pagers, etc. So, in 1989 the suburbs of Chicago were split off into area code 708. This allowed for more phone numbers to be issued and had the added benefit of allowing snobby city-dwellers to refer to suburbanites as “708’ers.” (I may have been guilty of this at one point or another.) That didn’t solve the problem for very long (think: cell phones) and in 1996 three more area codes were added: 847, 630 and 773. Similar expansions continued to happen all over the country and those original 86 area codes have now more than tripled to 270.
These numbers have been on my mind lately because, if you haven’t heard already, a similar shortage is occurring on the Internet.
Give or take a Billion
The IP (Internet Protocol) system is something that most computer users are lucky enough to avoid dealing with. The Protocol establishes (amongst other things) a unique addressing system for devices attached to the Internet. An IP address looks something like this: 22.214.171.124. It’s composed of four 8-bit numbers which, taken together, add up to a 32-bit number. This means that an IP address can theoretically represent 232 or about 4.3 billion unique numbers. But, just like the first-digit-cannot-be-one-or-zero rule for telephone numbers, IP addresses have their own arcane restrictions and limitations so the actual number is closer to 3.7 billion.
That seems like a lot of addresses to burn through but not when you consider that they’re meant to service the entire planet and that, historically, they haven’t been allocated very wisely. Back when the Internet was still largely a wilderness patrolled by academic and governmental institutions, large blocks of IP addresses were assigned to corporations which proved to be extremely inefficient. Since the late 90’s a system of Regional Internet Registries overseen by an organization called ICANN have handled assigning the remaining address space. The ever-wonderful nerd web-comic XKCD has a well-known (to nerds) illustration of IP address allocation circa 2006 that reflects this. Most of the green areas in that illustration are now accounted for. Current estimates suggest that the last free available IP address will be taken sometime early next year. The nifty little plug-in below paints a more vivid picture of the situation:
A technology called Network Address Translation has eased some of the burden. Instead of assigning an IP address to every computer on a smaller network the address is assigned to the entire network. This is similar to an office having a single phone number that you can call and then dial an extension for a specific phone. A useful trick but one that only goes so far.
The solution: the entire Internet needs a small upgrade.
Numbers so large they don’t have names
The current Internet Protocol that most of the world has been using for the last thirty-some years is version 4. All of the IP addresses I’ve been discussing up to this point are technically IPv4 addresses. The newest version of the IP is 6 (version number 5 was assigned to a streaming internet technology that never matured) and it essentially quadruples the number of digits in an IP address. This means that the number of possible IPv6 addresses are 2128. In decimal representation that’s:
At the risk of stating the obvious: that is an extremely large number. That address space is so large that (I love dumb statistics like this) you could assign every square millimeter of the earth’s surface 667 quadrillion unique numbers. We will not run out of these any time soon.
The only problem is to implement it.
Get ‘er done
For most of the world the move to IPv6 should be relatively transparent, but for actually networking professionals the move is a bit tricky. It requires many, many changes to network infrastructure. Most of it software related but a good deal of hardware as well. Most new networking equipment and operating systems already support IPv6 but it has yet to be implemented widely and companies are dragging their feet, choosing to tinker with new strategies to extend the life of IPv4 instead of taking the v6 plunge. Vint Cerf, one of the “godfathers of the Internet” and one of the men credited with designing the TCP/IP system that the Internet actually uses to transmit information, recently suggested tax-incentives for businesses who take the lead in the transition to IPv6.
As Cert puts it: “There is an IPv6 in your future. Resistance is futile.”