As everyone may (or may not be) aware, we are running out of IP version 4 addresses. Okay, not really, but they have almost all been given out to service providers to pass on to customers. At that point, they will eventually run out. Fear not. This doesn’t mean that the internet will come to a screeching halt. It only means that it will be time to move on to the next iteration of networking called IP version 6 (IPv6 for short). Most of the rest of the world is already running it to high degree.
With this post, I’m going to take some time to lift the veil off of this. The reason is that every time I mention it to anyone, be it a customer, old coworker, or longtime networker, it draws a sense of fear. Don’t be afraid of IPv6, people! It’s not as scary as it seems.
Let’s start with a quick comparison. Currently, there are approximately 4.3 billion IPv4 addresses using the current 32 bit scheme. That’s less than 1 for every person in the world! Think about how many you are using right now. Here’s me:
1. Cell phone
2. Air card
3. Home network
4. My work computer
We’ve gotten around the limitation by using something called Port Address Translation (PAT). PAT should really be called “PATCH,” because we are patching the IPv4 network due to a gross underestimate of the growth of the internet. PAT normally occurs on a firewall. We can use one public IP address to represent outgoing/incoming traffic to our network. That is why we have RFC 1918 addresses (10/8, 192.168…and so on). Those addresses needed to be reserved so that they could hide behind a public IP address, and therefore every company could have as many IP addresses as they needed. Because of the reserved address space, the available IP addresses are layout 3.2 billion. That’s less than 1 for ever two people!
Theoretically, a single PAT IP could represent over 65000 clients (you may see flames begin to shoot out of your firewall). So, what are the drawbacks? For one, it requires a higher degree of difficulty to troubleshoot connection issues. Also, setting firewall rules become more difficult and can result in connectivity issues. Plus, the idea of end-to-end connectivity is thrown out the door since it truly is not at that point. Lastly, as translations occur, you are placing higher and higher loads on firewall, which could be doing other things such as improving latency and throughput. PAT’s time is through! Thanks, but good riddance!
IPv6 uses 128 bit addressing. That’s about 340,000,000,000,000,000,000,000,000,000,000,000,000 or 18,000,000,000,000,000,000 for every person on earth. For a comparison in binary:
Luckily, IPv6 addressing is represented in HEX. Though the above binary number looks painful and overwhelming, a single IPV6 address on your network can be as simple as this:
That’s not so bad, is it? In a follow-up post, I will demystify the IPv6 addressing scheme.
For up to date IPv6 statistics and IPv4 exhaustion dates around the world, look here: http://www.apnic.net/community/ipv6-program
Photo credit: carlospons via Flickr