The Great Address Shortage

If you’ve ever looked at the network settings for a device you own, chances are you’ve come across an IP Address. These addresses are the backbone of how devices communicate within networks and across the internet.

 

IP addresses currently exist in two forms: the older IPv4-standard and the newer IPv6-standard. The IPv4-standard was introduced in 1980 and had the capability to provide more than 4.2 billion addresses. Back in the 80s, it looked like it’d be more than enough to provide internet access to all of the world’s population. But that population started rising fast and on top of that, mobile devices such as laptops (and later smartphones) started making an introduction.

 

Halfway through the 90s, people soon started realising that the amount of addresses IPv4 could provide would not be enough one day. To combat this, IPv6 was introduced in 1998 and offers more than 340 undecillion addresses (that’s 340 with 36(!) zeroes). I know things like this have been said in the past when it comes to big numbers (and have been proven wrong) but the chances that we ever run out of IPv6-addresses is almost non-existent.

 

However, there is one big problem. IPv6 is not backwards compatible with IPv4: they won’t talk to each other without some technological wizardry. Many, many devices still operate on IPv4 and upgrading to IPv6 isn’t a matter of simply flipping a switch. And since IPv4 has been widely used for years, a lot of networks and devices still operate on that protocol by the philosophy of “don’t fix what isn’t broken”. It works. For now… But the last IPv4-addreses have been allocated several years ago and sooner or later, we’re going to run into the problem that devices won’t be able to communicate because they use different networking protocols.

 

To shed some more light on this issue, let’s first explore how IP Addresses actually work.

IP Addresses: The Basics

IP addresses work much like regular addresses. They designate a specific device in a network so any traffic knows where to go. It’s like sending a letter: the data needs a destination address and a return address. When you send data to another person, it is divided into packages and each individual package has the host (you) and the destination (who you’re sending it to) IP Address attached to it.

The acronym IP simply stands for “Internet Protocol”. Easy enough so far! An IP address is a number made up of four segments, separated by dots. It looks something like this: 192.168.1.22, for example. However, considering computers communicate in 1s and 0s, these segments are simply decimal representations of their binary equivalent: a computer will actually recognise 192.168.1.22 as 11000000.10101000.00000001.00010110  

To enable communication across the internet, IP is usually paired with TCP (Transmission Control Protocol). This is a protocol that enables the actual sending of data over a connection. To keep with the analogy of sending letters: imagine the letter being a data packet. If IP is the address on the letter, TCP is the postal service that delivers it to the recipient. An IP address indicates where something should go and TCP determines how it gets there.

"It’s like sending a letter: the data needs a destination address and a return address."

IPv4 & IPv6: The Differences

Besides being capable of assigning many, many more addresses to devices, IPv6 has a couple of other benefits compared to IPv4. The most important ones:

 

Faster & more efficient connections
IPv6 uses more efficient routing and processing techniques than IPv4. This makes the entire procedure of sending and receiving data a lot faster. For one, the information in an IPv6 ‘packet header’ (the bit of data that holds info such as the destination address information) is formatted much simpler than the IPv4 header. One big difference is that IPv6 does not contain a checksum. A checksum is a number that is used to check the integrity of the data package, to make sure everything arrives correctly. Since checksums are also incorporated at different steps in the data transmission process, it doesn’t need to be incorporated in the IPv6 protocol itself. This saves time and resources!

"The information in an IPv6 ‘packet header’ is formatted much simpler than the IPv4 header."

Direct end-to-end connection

To account for the fact that there are many more devices that use IPv4 than it has addresses available, some solutions have been implemented. Essentially, this is done by some trickery (NATs and subnetting are a whole thing and it goes a bit beyond the scope of this article to explain them). These solutions also ultimately make it a lot harder to determine the original source of traffic. IPv6 solves the shortage by offering an insane amount of addresses. Enough to give every single device in every single network its own. Because of this, direct end-to-end connections are possible without the traffic having to be routed through solutions such as NAT, saving time and resources.

 

Enhanced Security

If the last sentence in the segment above made you shiver uncontrollably, you might be a network engineer. And you’d be forgiven for feeling a bit of horror! For those who are not network engineers and security specialists: those NAT-devices are not only a solution for the IPv4 address shortage, they also offer security benefits. Most notably they hide the network they operate on behind one, single IP address. This makes it harder for potential attackers to get a clear picture of the full network structure and to scan for vulnerabilities. However, a well-configured firewall can give the same -if not better- levels of protection and ‘masquerading’ (hiding multiple IP addresses behind one single address). In short: because of its end-to-end nature, IPv6 requires less overlays and patchwork solutions than IPv4. And less stops along the way means less potential for exploits!

"A well-configured firewall can give the same -if not better- levels of protection than a NAT device"

IPv6 Adoption

So if IPv6 has all these great benefits, why isn’t it widely adopted yet?

 

It is mostly because -besides the availability of many more addresses- the adoption of IPv6 has no clear, perceived benefits for users. It’s, as I mentioned before, a kind of “don’t fix what isn’t broken”-attitude towards IPv6 adoption. In fact: the core incompatibility of IPv4 and IPv6 can even make it a risk to adopt the latter. Imagine your network going haywire because suddenly some devices can’t talk to each other anymore. Now, there are solutions to this problem but they require investments. You can probably imagine that not many businesses are very keen to invest in specialised solutions to make IPv4 and IPv6 compatible, if this has no immediate benefits for them and everything is in a stable, working condition with IPv4.

 

So, how far along are we in the adoption of IPv6 as the global, standard protocol? For starters, some predictions from back in 2013 stated that -at the rate adoption was going back in the day- IPv6 would be fully integrated on May 10th 2148. More than 125 years from now! Considering we’ve gotten used to quick, technological advances and developments, that’s a long time. And if that’s the case, then what is the current adoption rate?  Google’s been keeping track of the adoption rate since about 2008. Currently, as of January 2022, the global adoption rate is just under 38%. Leading the list (in percentages) are India (61.48%), Belgium (58.99%) and Germany (58.12%) with a whopping 155 countries that have an adoption rate of <1%.

The future

Even though we have patchwork solutions in this transition phase that ensure that IPv4 keeps working (for now), the shortage of IPv4 addresses is eventually going to be a problem. For example, think about how more and more companies implement IoT-solutions. All those individual devices (sensors, logistics tracking, self-driving cars, refrigerators and other smart home appliances etc.) are going to need their own address. And if no IPv4 network upgrades until it is too late, we’ll definitely run into compatibility issues.

 

Let’s not be too late with the switch!

en_USEnglish