A long time back, the Internet was small. It had addresses, but only 4.29 billion of them. Back in 1979, when the addressing was being solidified, that must have seemed an immense address space. But it isn’t enough. The rise of mobile devices, the spread of communications networks across the developing world and the Internet of Things are driving a need to have more addresses. In February 2011, the last complete IPv4 network block was given out.
So on June 6, 2012, we had an official launch day for the IPv6 protocol. But that was 5 years ago. What has happened since, and why have we got to where we are?
Why did we move from IPv4?
Assignments and allocations of specific addresses reduce the usable amount of space to 3.7 billion IP addresses. RFC6890 documents the current state of reserved address space. Much of the space reserved rests on to two assumptions made way back at the beginning of the Internet. Between them 0.0.0.0/8 and 127.0.0.0/8 consume 33.5 million addresses (1% of the assignable Internet addresses).
Although not all mobile phones need the internet, there are currently over 8.2 billion mobile devices according to the GSMA. In 2014, this number passed the number of people on the planet (about 7.2 billion at the time). The same data shows that 1.6 devices are owned by each unique owner. But what of all the other devices that don’t have a SIM card, but still connect to the internet?
Address hiding using NAT allows multiple devices to be hidden behind a single IP address. RFC3022 explains the process of translating IP addresses from one space to another. But this is not completely fool-proof, as only addresses in the IP header are exchanged. But over time, NAT and supporting tools (DNS referrers, protocol proxies and gateways) have allowed the process to operate transparently most of the time. It helps that protocols have also adapted to support it too.
But even with NAT, we’re approaching the filling of the usable IPv4 address space. What happens then?
When did the process start (and what happened to IPv5)?
IPv5 was not really a new version of IP, as it used the same header format as IPv4. The only change is the version number from 4 to 5 (as described in RFC1819, The Internet Stream Protocol v2). It was being developed at about the same time that there was a recognition that IPv4 addresses were constrained.
So a new approach was necessary. In December 1993, RFC1550 provided the first official documentation of the Internet Protocol, Next Generation (IPng for short). After two years of work in committees, RFC1883 Internet Protocol, version 6 was released in December 1995. Three years later, this was refined in RFC2460.
During this time, a lot of work was done to ensure that the protocol would support the future. Following this, it needed to be deployed in the Internet infrastructure. However, just being able to carry IPv6 packets across the Internet is only part of the solution. We needed a way to replicate DNS functionality, and even to provide a way of integrating both IPv4 and IPv6 spaces. RFC3596 DNS Extensions to Support IP Version 6 provided that mechanism.
Next we needed operating systems that supported IPv6. Windows Vista, and Windows 7 provided the client side, and Windows Server 2008 R2 provided the other side. Having things like DHCPv6 to allow network administrators to operate with traditional tools was enabled with RFC3315.
So IPv6 was now implemented on common platforms, had tolls to manage the address space, and could convert DNS names to IPv6 addresses. It was time to turn it on.
Why can’t IPv4 hosts access IPv6 resources directly?
IPv6 doesn’t have complete mechanisms to support IPv4 directly. This is because early on a decision was made to move forward, and not to prolong an old protocol and face the challenges of interoperability. This reduced the workload and challenges considerablly, allowing the developers to focus solely on IPv6.
So to run IPv6 and IPv4 you have two separate and distinct IP stacks. This is akin to writing two distinct languages natively, such as, English and Chinese. The word may be the same, but the way they are written is completely different. There is no translation facility that fully provides for the richness of IPv6 in the context of an IPv4 world.
There are ways of ensuring that IPv6 can be transferred across the IPv4 infrastructure, as this was originally needed to link islands of IPv6 speaking devices across the archipelago of the Internet. The 6bone was one of the first of these mechanisms.
What was World IPv6 Launch Day?
The World IPv6 Launch Day was June 6, 2012. (Choosing a date with 6’s in it to reinforce the message.) Arranged by the Internet Society, it was the day on which many of the content providers enabled IPv6 access to their platforms, if they had not done so already. The aim was to prove that IPv6 was ready for use in the real Internet, and was no longer an academic exercise in providing for the future.
It followed a day a year earlier.. On June 8, 2011, Google, Yahoo, Facebook, Akamai, and Limelight anchored a 24 hour-long testing period. This was to cover both content and caching in an IPv6 environment. They weren’t the only companies involved, and it proved that once a IPv6 DNS AAAA address was published, most folks with an IPv6 address could access content. Traffic levels rose from 0.024% to 0.041% of the total traffic.
Where are we now?
According to Google, who have tracked the IPv6 search queries they get, IPv6 now equates to xx.xx% of the Internet traffic.
The growth has in the most part been triggered by IPv6 deployments in the service provider space. In part these have been in turn encouraged as free IPv4 addresses are more challenging to obtain. If you need to build an infrastructure that is IPv6 ready to manage your network, then it is a relatively simple step to open this to end users.
Many corporate networks, however are still running in the IPv4 address spaces provided by RFC1918. This meets their current needs, and until more resources are only available in IPv6 they have no real pressure to change. Drivers such as IoT, micro services, cloud APIs and cloud storage are drivers to push to IPv6 for corporate networks.
Will there be another IPv6 launch day?
The short answer is no, there will not be another World IPv6 launch day. IPv6 is launched and proved, and in the interim years, improved. (There have been 133 RFC published since World IPv6 Launch Day on changes to protocols and best practices for IPv6. These show that the focus of IPv6 is now on deployment, widening IPv6 usage, improving security, standardising across both IPv4 and IPv6 deployments.)
Service providers appear to have been a little slower off the mark since World IPv6 launch day., Many are just starting their deployments of IPv6 to their consumers as standard. But this is the beat way to boost IPv6 adoption. Without connectivity to the users IPv6 might as well not exist.
What do you need to do to get IPv6?
Ic you are on Sky or BT’s network and have the latest and greatest model modem/hub and firmware, you may already be using IPv6 without realising. Whilst BT may not offer a fixed IPv6 address space, they are providing connectivity. Use some of the IPv6 testing sites which remain active to check if you already have connectivity.
Some providers such as Virgin are not yet ready to take the plunge and enable their kit. Smaller providers may even offer things such as fixed IPv6 addresses, and other benefits. It pays to shop round if you need to host IPv6 devices reachable from the Internet reliably.
Alternatively, you and use one of the 6in4 encapsulations via a tunnel broker such as Hurricane Electric or SIXX. These pipe IPv6 in tunnel to the edge of your network. I use this configuration as Virgin Media still don’t have native IPv6 conectivity. This means you need a router or firewall to terminate the tunnel, makining it not very consumer friendly.
You don’t need to wait, start the process of IPv6 deployment today.