IPv6: Better Late Than Never

Of all the great ‘coming-soon’ events in network technology, one stands out for me high above the rest thanks to its mix of dire predictions of Armageddon and continuing indifference to its existence:

IPv6.

Yes, that IPv6. The one that was first formalised in 1998, and still makes up a minority of the world’s internet traffic despite the continuing exhaustion of the IPv4 address space, to the extent that many holders of large IPv4 address allocations such as universities, large companies and governments are selling parts of their allocation to interested parties for profit, even to Amazon in one recent sale.

Lest we all forget, every year since 2000 has been dubbed ‘the year of IPv6’ by some company or industry body, even more frequently than ‘the year of Linux on the desktop’. IPv6 adoption can best be described as glacially-paced, although thanks to the growing ability of the likes of Google to force protocol adoption and usage with their own services it does look to be growing (by Google’s metrics, over 16% of users accessed Google via IPv6 in January 2017, compared to just over 10% a year prior).

For those unfamiliar with the protocol, IPv6 offers a much larger address space than IPv4 for network devices to use. The original model of the internet allocated each device a unique, public address for sending and receiving data across the internet. As the number of connected devices skyrocketed beyond initial expectations, the amount of remaining IPv4 address space (thanks to its 32-bit address length, giving around 4 billion usable addresses) began to look rather small.

In response, the industry set about defining IPv6 (please don’t ask what happened to IPv5), using a much-larger address length of 128 bits. This gives around 340 undecillion (!) possible addresses, which is a number with 39 decimal digits. As you can imagine, this is quite a bit larger than what IPv4 provides, and beyond a few other changes to the operation of the protocol, is the sole reason why IPv6 exists.

Although there is no shortage of predictions of the forthcoming reckoning when the internet runs out of IPv4 address space, this situation has been well-handled by most ISPs today from a customer perspective. By and large they have simply begun limiting much more the number of public IPv4 addresses they distribute to their customers, and putting their customers behind more layers of Network Address Translation (NAT) within their network, just as the home Wi-Fi router does for devices inside the home network.

Although these approaches help to stave off a collapse of internet applications due to a lack of IPv4 address space, they do add increasing complexity in terms of network operation, troubleshooting and identification of individual users for logging and law enforcement purposes. Possible, yes; friendly, not so much.

If these approaches are just adding more complexity to the network, wouldn’t it be preferable to just switch to IPv6 and be done with it? Yes, and no. There are many devices and applications that will never be updated to support IPv6, and it is not practical to simply cut them off from the internet; many perform useful functions and are expensive if not impossible to replace.

This makes an IPv6-only internet highly unlikely for many years, and probably forever. However, there’s a solution to this: concurrent IPv6 and IPv4 internets, running on the same physical infrastructure. This approach has been used for years and will be the model going forward; the two protocols don’t interoperate as such, and so the theory is they ‘pass like ships in the night’, without impeding the operation of each other. This is cheaper and less hassle than messy, error-prone protocol translation between IPv4 and IPv6 requiring dedicated middleware appliances.

Beyond all the reasons for the lack of IPv6 adoption – and there are many (just take a look at ipv6excuses.com) one stands out again and again in discussions on the subject as to why it simply has not taken off as it was expected.

The number one reason for the lack of IPv6 adoption to date is apathy. Many people do not want to learn a new protocol with its intricacies and differences from the old one, not to mention its hexadecimal address format and varying quality of implementation from many vendors. IPv4 is one of few things that have not significantly changed during the lifetime of many developers, network engineers and network architects, and many would like it to stay that way.

If users and network operators were enthusiastic about the adoption of IPv6, you can be sure that the vendors who have been dragging their feet on building (stable) implementations of the standard that incorporate the required features would be jumping at the chance to make more sales. They don’t see the real want for the feature, so why should they make that investment until forced to?

There is also a significant argument in the industry that ‘if it isn’t broken, don’t fix it’ when it comes to the essential glue that makes the internet function today. And there is certainly merit to this; why change fundamental operating protocols for the sake of change? It certainly isn’t fun, and there is more than ample opportunity to mess things up for a lot of users.

The problem is that this argument ignores the very issue IPv6 was designed to solve – the lack of address space. So-called carrier-grade NAT will only stretch so far, and the advent of the legions of IoT devices which manufacturers expect to sell and service providers expect to charge for in the coming years will require a smarter approach to network device addressing.

Another issue is at this point in the evolution of the internet, is IPv6 even the right protocol to be pushing going forward as the next-generation global standard for network addressing? This point is open to a lot of debate, but one thing is clear: any new protocol will face exactly the same challenges as IPv6 has faced, and even more so would not have the backing of a major standards body and be competing against both IPv4 and IPv6.

I have been using IPv6 for many years now from network engineering, architecture and development, as well as from the user perspective. Once the initial problems with deciphering its address format and the rules (such as the usage of :: ) are taken care of, and the differences between IPv6 and IPv4 for functions like ARP are understood, it’s fine. Really.

Like all changes, IPv6 takes some getting used to. But to evolve as an industry and to be able to continue to provide the kind of services we do today to a vastly increasing number of devices, and enable new ones which thrive on always-on publicly-addressable devices, at the risk of sounding like a broken record:

Here’s hoping 2017 is the year of IPv6.

After all, better late than never.

Leave a Reply

Your email address will not be published. Required fields are marked *