Something is about to rend the very fabric of our existence: we’re about to run out of IPv4 IP addresses, the old 255.255.255.255 number patterns that identify most of our forward facing servers. How bad is it? Well, not that bad because it will take a good year or so for everything to really go pear shapes, but when it does expect a zombie uprising, dogs and cats living together, and a slow, methodical move to IPv6.
We spoke to Owen DeLong, an IPv6 Evangelist from Hurricane Electric about the problem.
CG: Did you see the size of those things out there? What caused the great god Cthulhu and his monstrous, four-storey, porcine handmaidens to rise from the heart of the Earth, laying waste to our cities? What happened to IPv4 to cause all this?
Owen: IPv4, as you probably know, uses a 32-bit address. Yesterday, APNIC received the last 2 blocks to be allocated through the normal IANA process.
Thursday morning, the final 5 IPv4 blocks in the IANA free pool will be distributed according to a global policy, one each to the 5 RIRs. This will be in a ceremony and press conference starting at 9:30 AM local in Miami, FL.
CG: So how long before we all die?
O: This is the first phase of running out of IPv4 addresses. The next phase will be
when the Regional Internet Registries start having to deny requests because there is not enough space left to satisfy them. It is currently projected for that to happen in about 6-9 months, but, there is a lot of variability. Nobody can provide an actual certain date because demand and allocation rates vary quite a bit.
Look at this graph:
Is a moving 6-week average in terms of /8s per month issued by each of the RIRs. As you can see, there’s a lot of variation week-to-week and wide variation between the various RIRs. APNIC has been pretty steadily increasing their rate of consumption since 2008, but ARIN and RIPE show a slow down in late 2008, a lull through 2009 and 2010, and now are showing another ramp up.
Literally anything could happen to these lines and predicting trends is quite difficult. I expect that the IPv4 free pool remaining at the RIRs will probably run out sooner than most predictions rather than later.
CG: This is horrible. I have kids. This sounds like that one scene in The Road where the Man fills the bathtub after looking out the window. What should we do?
O: The answer is that we need to migrate the internet to a newer version of Internet Protocol… IP version 6 (or IPv6 for short). While IPv4 provides 3.2 billion globally unique addresses for hosts, IPv6 provides more than
unique addresses. (That’s 3.4×10 to the 38th or 340 undecillion, if you don’t want to count the zeroes).
There was a lot of effort spent trying to find a way to expand the address space while keeping it backwards compatible with IPv4, but, at the end of the day, both hosts had to know about larger addresses and there was no way to avoid having to update every system, application and device that needed to handle addresses and make network connections. For the last 15+ years, that’s been work in progress and most hosts are now able to use IPv6 (Windows Vista and later, MacOS X 10.4 and later, and any reasonably modern version of Linux, for example). Most backbone network equipment has been upgraded already.
However, there are still some big gaps in IPv6 deployment. Most home networking equipment, much of the last-mile service provider equipment, and virtually all consumer electronics are not yet capable of IPv6. Many content providers have not yet embraced IPv6. Most commercial applications and the vast majority of “in-house” applications have not yet been updated for IPv6. Network-enabled video games are another area of concern. I don’t know of a single one that has embraced IPv6.
CG: Who are some of the flat-Earthers in this situation? Who will be first against the wall when the IPv6 New World Order arrives?
O: I’ve spoken to some major producers, such as Blizzard (responsible for the popular World of Warcraft among other titles), and received responses ranging from “we don’t think there’s a need” to “we don’t think IPv6 will ever get deployed.”
Shared addressing technologies such as “NAT444″ are going to cause new challenges and even outright breakage in applications like instant messaging, video on demand, voice over IP, and more. Network enabled video games are going to be particularly hard hit by these address sharing technologies as will any other “peer to peer” applications.
CG: Is this the end for you my friend?
Hopefully events this week will serve as a wake up call for any organizations still thinking that IPv6 is some distant future thing they might have to worry about later. IPv6 is happening now and anyone that isn’t working on adapting to an increasingly IPv6 world is going to find themselves way behind in a few months.
Before the end of this year, growth in users with direct IPv4 access will not only stop, but, in order to make addresses available for address sharing technologies to preserve minimal IPv4 functionality for new customers, likely residential users will start losing the direct IPv4 access they enjoy now and be migrated to more shared address solutions. The functionality of the internet today will require migrating to IPv6 even just to get back to where we are now, let alone to continue advancing new applications and technologies.
CG: What are some resources for programmers who want to start programming for IPv6?
This site contains some good reference material, sample application code, and a tutorial on porting applications from IPv4-only to dual stack capability in C, PERL, and Python. Programmers in other languages should be able to use these to get a general idea of what is needed in their languages as well.
CG: Do you have an IPv6 “Go Bag” for escaping when the stuff really hits the fan? Where are you going to hide?
Both my network and my employers network are fully deployed with IPv6. We’re running full production grade dual-stack environments, so, we really aren’t too worried about the impact on our environments at this time. Instead, we’re trying to help get the word out and assist others who are a bit behind in the transition.
We’ve started offering consulting and training services to assist others in their migrations.
CG: Why did this have to happen? Why weren’t a bunch of 1960s Bell Labs hippies smart enough to add more numbers to the IP addressing system? Why, Owen, Why?
The internet really started in the 70s as a DARPA research project. At the time, there were 60 or so institutions expected to connect. As the interested research community grew, the addressing scheme was expanded from 8 bits (256 addresses in the predecessor to Internet Protocol (IP) known as Network Control Protocol (NCP)) to 32 bits (the IPv4 addresses we have today). At the time, it was still expected that the internet would serve largely defense, research, and educational institutions. It was essentially a laboratory experiment on a really large scale. The expectation was that 3.2+ billion addresses would be way more than enough for the anticipated few million users. At the time, nobody had even thought of the world wide web or any consumer applications for the internet.
It was something advanced computer students and researchers used to exchange messages and trade software and information. There were no graphics, no web sites, and speed was measured in kilobits per second.
The introduction of the world wide web in the early 1990s was a major turning point in internet history. The web is the tool that allowed the rat to escape from the laboratory and start breeding in the real world. In essence, we completely lost control of the experiment and it started breeding uncontrollably in the wild. Researchers realized the problem almost immediately and work on IPv6 began in the mid 1990s, resulting in early IPv6 RFCs and implementations from 1998 forward. The community has been working towards IPv6 deployment in earnest since about 2002, but, it’s been a tough sell with management and others because it was perceived as a cost without any additional revenue. There was no new killer app. like the World Wide Web to jumpstart IPv6 mainstream deployment. It also didn’t help that standards organizations like the broadband forum dragged their feet quite a bit. Standards for DSL implementations of IPv6 were not finalized until November of last year.
At this point, we are where we are. We’re running out of unused IPv4 addresses very soon and we’re way behind where we should be on IPv6 deployment and trying to play catch-up. There’s value in learning from history, but, not a lot of point in looking back to place blame on people for not knowing then what we know today.
CG: So in the end, I might be overreacting, right?
O: This really just means that there are new tradeoffs between existing functionality of the IPv4 internet and continued expansion until we can get things moved over to IPv6. Nobody dies, nothing becomes fundamentally broken. The internet doesn’t grind to a sudden halt. Many users may have their existing functionality reduced in order to support additional users. That’s about the worst real consequence.