IPv4 addresses on the public Internet are running low. Microsoft paid $7.5 million for Nortel’s 666,624 IP addresses when Nortel went bankrupt in 2011 – that’s over $8 an IP address. IPv4 has technical problems, and IPv6 is the solution.
Unfortunately, deployment of IPv6 has been put off for too long. Had IPv6 been implemented years ago, the transition from the older standard to the newer one would have gone much more smoothly.
Image Credit: Bob Mical on Flickr
Technical Problems with IPv4
In 1980, Internet Protocol version 4 addresses were defined as 32-bit numbers. This provided a total of 232 IPv4 addresses – that’s 4 294 967 296, or 4.2 billion, addresses. This may have seemed like a lot of addresses back in 1980, but today there are many more than 4.2 billion network-connected devices on the planet. Of course, the number of devices connected to the Internet will only continue to grow. To make matters worse, some of these IPv4 addresses are reserved for special cases, so the Internet has fewer than 4.2 billion publically routable IPv4 addresses available to it.
There aren’t anywhere near enough publically routable addresses available for every device on the Internet to have a unique one. One thing that’s helped is network-address translation (NAT), which most home networks use. If you have a router in your home, it takes a single publically routable IP address from your Internet service provider and shares it amongst the networked devices in your home. To share the single IPv4 address, it creates a local area network, and each networked device behind the router has its own local IP address. This creates problems when running server software and requires more complicated port forwarding.
Carrier-grade NAT is one solution – essentially, every computer using an Internet service provider would be on a local network specific to that ISP. The ISP itself would implement network-address translation, just like a home router. Individuals wouldn’t have publically routable IP addresses and running some forms of server software that requires incoming connections wouldn’t be possible.
Image Credit: Jemimus on Flickr
How IPv6 Solves the Problems
To avoid the future exhaustion of IPv4 addresses, IPv6 was developed in 1995. IPv6 addresses are defined as 128-bit numbers, which means there are a maximum of 2128 possible IPv6 addresses. In other words, there are over 3.402 × 1038 IPv6 addresses – a much larger number.
In addition to solving the IPv4 address depletion problem by providing more than enough addresses, this large number offers additional advantages – every device could have a globally routable public IP address on the Internet, eliminating the complexity of configuring NAT.
Image Credit: Justin Marty on Flickr
So What’s the Hold Up?
IPv6 was finalized in 1998, 14 years ago. You might assume that this problem should have been solved long ago – but this isn’t the case. Deployment has been going very slowly, in spite of how long IPv6 has been around. Some software is still not IPv6 compatible, although much software has been updated. Some network hardware may also not be IPv6 compatible – while manufacturers could release firmware updates, many of them would rather sell new, IPv6-ready hardware instead. Some websites still do not have IPv6 addresses or DNS records, and are only reachable at IPv4 addresses.
Given the need to test and update software and replace hardware, IPv6 deployment has not been a priority for many organizations. With enough IPv4 address space available, it’s been easy to put IPv6 deployment off until the future. With the imminent exhaustion of available IPv4 addresses, this concern has become more pressing. Deployment is ongoing, with “dual-stack” deployment easing the transition – modern operating systems can have both IPv4 and IPv6 addresses at the same time, making deployment smoother.