4,294,967,296. That’s the exact number of 32-bit IP addresses available within Internet Protocol version 4 (IPv4). During the Internet boom of the 1990s, many of the computer geeks within the Internet Engineering Task Force (IETF) and similar organizations recognized rather quickly that address space would become a problem as connectivity spread across the globe. So, concepts such as classless interdomain routing (CIDR) and network address translation (NAT) were developed in response to this impending problem. And quite honestly, both of these concepts have done quite well in keeping the Web running. However, as the World Wide Web becomes increasingly, well, world wide, things are getting a little more complicated. That’s where IPv6 comes in. Here we’ll take a look at this emerging protocol, and where it may be headed.
What’s Wrong With IPv4?
IPv4 is sort of like that first apartment for a newly married couple. It’s functional, practical and, above all else, it works. But 10 years, four children and two dogs later, there’s just not enough space for everyone. So, the devoted patriarch of the family proceeds to divide the space available into smaller subsets to provide things such as privacy, better defined boundaries and more autonomy within each of the subsets. The end result seems to be a viable solution – until the matriarch of the family comes home with news indicating that a new addition will be joining the family in a mere nine months. So, the process of dividing, subdividing, and reassigning begins once more. And just when it seems like all’s well, the couple learns that the new addition to the family will actually be two additions – twins!
Such is the problem with IPv4. No matter how the available address space is divvied up, the house that is IPv4 is beginning to burst at the seams. In a 2011 article at Network World, it was reported that the Internet Assigned Numbers Authority has actually assigned the last blocks of IPv4 address space to the regional Internet registries.
Wow! I for one had no idea that it had come this, and it leads me to wonder: Will IPv6 really be a viable solution?
IPv6: The Not-So-Simple Solution
In terms of pure mathematics, the answer is yes. IPv6 addresses are 128 bits long, meaning that the number of IP addresses available is 2128. Put another way, the number of IPv6 addresses available is: 340,282,366,920,938,463,463,374,607,431,768,211,456.
This number is typically expressed as 3.4 * 1038, and in a world consisting of approximately 6 billion people, this should provide plenty of room to expand. So, just enable IPv6 on all network devices, and away we go right? As in most things in life, it’s just not that simple.
What’s the Hold Up?
The primary problem with transitioning to IPv6 is that it’s not backward compatible with IPv4. Simply put, when IPv6 was first devised, it was not created to function with IPv4. So, if you decide to use an IPv6 address within a network that is strictly based on IPv4, all types of routing and DNS problems can occur. Consequently, some really smart people within various think tanks and governing bodies came up with a few solutions.
Tunneling is the process of encapsulating IPv6 packets within IPv4 packets. This allows for the transport of IPv6 packets through existing IPv4 backbones, as the existing IPv4 routing infrastructure is completely oblivious to the encapsulated IPv6 packets. Upon arrival to its destination, special flags within the IPv4 packets are read by the end device instructing it to de-encapsulate the IPv4 packets and look for IPv6 packets.
The dual stack approach has become a very common one, and it involves a given network’s entire existing infrastructure supporting both IPv4 and IPv6 functionality. In this configuration, IPv6 is enabled as the preferred method of transport, and when incoming IPv6 traffic is detected, IPv6 networking is the end result. When IPv4 traffic enters into the network, each network device is instructed to revert back to IPv4 networking. Although this is becoming more commonplace, especially at the ISP level, one of the disadvantages of this approach is that many legacy operating systems do not support dual stack functionality. Therefore, an organization with legacy systems in its existing infrastructure will have to make a financial commitment toward a total transition to newer systems.
The 6to4 solution has gained popularity in recent years, as it involves a concept very similar to tunneling. Basically, IPv6 traffic is encapsulated within IPv4 packets, and the traffic is sent to designated relay routers. The communication between these relay routers is done via unicast, which results in a sort of point-to-point link. So, when done properly, you have what amounts to an IPv6 tunnel on the cloud without explicitly setting up an actual tunnel.
Is IPv6 on the Horizon?
Is it fair to say that IPv6 is on the horizon? Despite the challenges, the answer appears to be yes. Many North American ISPs made the transition to dual stack several years ago, and some content providers such as Google and Netflix have very robust IPv6 infrastructures. Add to this the transition to IPv6 by many Asian countries (most notably China), and one can easily surmise that the arrival of IPv6 may already be in the works.