June 21st, 2012
IP Addresses and IPv4 Exhaustion
IP, or "Internet Protocol," is the format used in the Internet to encapsulate data in chunks we call "packets" so they can be sent from your laptop or mobile phone to a website in a far-flung corner of the world.
Besides your data, each packet is labeled with a number called the "IP address" of the destination machine. This number is used by equipment residing in the Internet Service Providers to properly route each packet to its destination. This means, among other things, that each valid destination in the Internet needs to have its own dedicated number, or IP address, in order to be reachable by users. Users also need to have their own IP addresses as traffic flow is bi-directional: you send data to servers, and the servers send data back to you.
All of us working in an IT or Web-related field are, of course, familiar with these addresses, usually written as four numbers separated by dots like "74.234.15.22."
The current version of the IP protocol is IPv4, and it defines addresses as 32 bit numbers. A 32-bit field gives room for up to 4 billion individual addresses or destinations in the Internet. While this number may seem very large at first sight, if you pause for a second and compare it to the current population of our planet, around 7 billion people, it doesn’t seem that large anymore.
It means that there are not enough IPv4 addresses for everyone. True, it’s a sad fact that worldwide Internet penetration hovers around 30% with wide variations between the different developed regions of the world. However, even 30% of penetration already accounts for almost one half of all available space.
Complicating things even more, when the Internet went commercial and started gaining widespread adoption back in the mid-1990s, IPv4 addresses were badly managed, leading to a situation where currently not the whole 4-billion address space is usable. As a consequence of the amazing growth experienced by the Internet, the supply of IPv4 addresses has been dwindling rapidly and a run-out dates are right on the horizon for large parts of the world.
Internet engineers have worked out a solution. It’s called IPv6, the next version of the Internet protocol. IPv6 has been available since the early 2000s but has not seen widespread adoption up to now.
The Alternatives
Currently ISPs find themselves at a crossroad. It’s becoming very clear that they will have to implement changes to their networks if they want to continue growing their broadband business. The end of IPv4 space means that business as usual is no longer a possibility.
There are two answers to IPv4 exhaustion. The future-proof choice is moving forward with the transition to IPv6 and the family of technologies known as CGNs (Carrier-Grade NATs) or LSNs (Large-Scale NATs). IPv6 defines addresses as 128-bit numbers. The available number of IPv6 addresses is so huge that it can provide thousands of unique addresses per person.
The transition to IPv6 is not automatic. It requires investment and effort on the part of ISPs and content providers, but it preserves the fundamental nature of the Internet, where each individual destination or host is identified by its own unique address.
On the other hand, CGNs provide a way to share a single, public IPv4 address among hundreds or even thousands of Internet users. The CGN box performs address translation on the packets that traverse it.
Carrier-Grade NATing and Its Consequences
CGNs break the fundamental characteristic of the Internet as mentioned above. In a CGN world, hosts and servers no longer communicate directly. All traffic, maybe coming from thousands of clients, appears to originate from a single IP address.
Website managers usually assume that a single IP address usually represents either a single user or a household at the most. This assumption has widespread use. For example, it is the basis of Geolocation, where IP addresses are used to determine the country, city, state, and sometimes even zip code from where a user is accessing your website.
Administrators faced with users abusing sites usually block IP addresses in order to prevent further damage.
Targeted ad-delivering also makes use of IP addresses, as well as serving in some cases as a metric of ‘eyeballs’ or how many people are actually accessing a website.
In a CGN world, Geolocation effectiveness will quickly degrade. Administrators blocking an IP address could be inadvertently blocking thousands of users out of a website.
The Future: IPv6 and CGNs Co-Existing
Sadly, it’s too late for a full transition to IPv6 to take place before IPv4 runs out. This means that we will see deployments of CGN gear in many ISPs as their business grows and users demand access to websites still only available over IPv4.
There is good news, however. Many hosting providers and ISPs are working hard on bringing IPv6 to their customers. This includes major ISPs like Comcast in the U.S. and others around the world.
Major websites like Facebook, YouTube, most of Google services and Yahoo!, among others, are already reachable over IPv6. These major content providers realized early on the importance of keeping the Internet working as we know it.
What Can Website Owners Do?
Ask your hosting provider for IPv6 support! In most cases, website PHP or HTML code won’t need to be modified unless it does processing of IP addresses, assuming the quad-dot notation mentioned above. IPv6 addresses are written down in a different way, using hexadecimal numbers. You will need to get used to see IP addresses that look like this: "2001:db8:1:2:dead:beef"!
Recent versions of major browsers like Chrome, Firefox, and Internet Explorer will try to reach a website using both IPv4 and IPv6. If you have enabled IPv6 for your site, and your users are in an IPv6-enabled ISP, they will prefer IPv6. In other cases, they will use IPv4 as their last resort.
As of today, you can expect approximately between 0.5% and 1.00% of your traffic to reach your web properties over IPv6. This certainly doesn’t look like a large number right now, but it is set to grow exponentially over the next two to three years. So this is a great time to start playing with the new technology, so when 1% becomes 30% you are sure things won’t break!
How Can Sherpa! Help Me?
Sherpa! Web Studios can provide website operators with IPv6 know-how. We offer consulting in strategies for enabling IPv6 on current operating websites, helping you adapt your website’s code where needed and helping you start measuring IPv6 traffic.