The impending IP address shortage
There’s a commodity that’s widely used, non-renewable, likely to run out soon, and most heavily by the US and China. It’s not oil. It’s the IPv4 address space, and in 2008 the world used up another 200 million addresses, bringing the total usable IPv4 space to 75% of capacity.
Even as usage of the IPv4 space has grown, we’ve been able to keep from hitting 100% usage mainly by using NAT (network address translation) to place entire networks behind a single routable, public IP address. NAT has its limitations, though, since it becomes much more complex and in some cases impossible to allow hosts behind NAT to host network services. But despite the use of NAT, the IPv4 address space will run out soon. Current estimates are that we’ll run out of IPv4 addresses in February 2011, a mere two years away.
So why does it matter and what can we do?
If we run out of routable IPv4 addresses, at a very high level it just won’t be possible to add new hosts to the publicly routable (accessible) Internet as we know it today without upgrading to IPv6. Some companies could decide to conserve more of their IPs by using NAT, but most will probably adopt IPv6 addresses.
IPv6, finalized in December 1998 (yes, that’s 10 years ago just last month), was developed to be the solution to prevent the possibility of the exhaustion of all routable IPv4 addresses. Despite having been around for so long, it is still is only used on less than 1% of the total publicly accessible Internet. Because of IPv4’s structure (32-bit addresses with limitations for special non-routable addresses) there are less than 4 billion possible IPv4 addresses. By comparison, IPv6 uses 128-bit addresses, allowing for 3.4*10^38 (that would be 34 with thirty-seven zeros after it), making address exhaustion an extremely unlikely situation for IPv6.
Most network software, operating systems and networking equipment manufactured today supports IPv6 already, but there IPv6 still hasn’t gained the adoption it needs. There are lots of theories on why – ranging from a lack of support from ISPs, investment in older equipment that only supports IPv4, to things like the complexity of an IPv6 address (example: an IPv4 address looks like this: 10.4.33.7, whereas an IPv6 address would be something like this: 2008:ab7:653::9d3d:370:7661 – imagine trying to read that over the phone to your IT Helpdesk administrator!). Personally I believe it’s been mainly an issue of complexity – the IPv6 addressing scheme requires a lot of knew expertise plus a lot of work to switch over, and since there’s no performance or financial reasons motivating a switch to IPv6, network administrators don’t want to invest the time in getting up to speed and making all the necessary changes.
Whatever the case, though, it’s something that anyone developing software should be aware of right now: your software needs to support IPv6, or else you’ll feel a big pinch in 2011. Already the US government is requiring all new software support IPv6, and many government agencies have converted in part or whole already (the deadline was 2008).
[IPv4 usage details c/o ArsTechnica]
Filed under: Consumer Web, Enterprise Web, Hardware
