Let’s Talk Tech: How the Internet Works Part 6: IPv6 Part 1
Welcome to Let’s Talk Tech with Deep Core Data, DCD’s video based informative blog. In this episode of How the Internet Works, we finally get around to talking about IPv6, the next iteration of Internet Protocol. This video is a bit informationally dense, so we’ve broken it up into two parts. Don’t forget to check back next week for part two.
Introduction to IPv6
Hello, and welcome to Let’s Talk Tech with Deep Core Data. I’m John Brewer, the owner and Founder here at Deep Core, where we’re using education to help companies make the right technical decisions. Today, we’re going to be talking about, at a technical level, how the Internet works.
In previous episodes, we talked at length about Version 4 of the Internet Protocol. IPv4 still carries the vast majority of the traffic on the internet, but it has a problem: because there are only 32 bits in an IPv4 address, there can only be at most about 4 billion public IP addresses at any given time. With 7.5 billion people on earth, you can see the problem.
This only gets worse when you consider people have more than one internet connected device. Some estimates put the total of devices around 8.4 billion. As you can see, we need a bigger house.
As internet-connected devices became vastly more common and the social media age began, it became clear we needed a lot more than 4 billion addresses. IPv6 is one proposal for dealing with that problem. But the question is, is it too little too late?
Let’s dig in.
So how does IPv6 differ from IPv4? What makes it better? If you already have a reliable Toyota Corolla, why upgrade? Do you really need that SUV? Wait a minute, where do SUVs come into the equation?
Well, you see, the most obvious change with IPv6 is the increase in the address size. Whereas an IPv4 address is 32-bits, usually written as four decimal numbers, IPv6 uses a 128-bit address, written out as eight sets of four hex-digits.
A hex-digit is a way of representing numbers using the digits 0-9, with their usual meaning, plus the letters A-F (or a-f). In mathematics and computing, this alphanumeric combination is used to represent the numbers 10 to 15. As each hexadecimal digit represents four binary digits, it allows a more human-friendly representation of binary-coded values; however, it will make IP addresses a bit longer and more complicated than we’re used to.
This is where we start to see the practical implementation issues surfacing.
This additional complexity will allow for something like 3.4 times ten to the thirty-eight possible in IPv6 values. This is a number of addresses so large, we humans really don’t have a good way to conceptualize it. For comparison, there are approximately 100 billion (or 1 times ten to the eleventh power) stars in the Milky Way, and an estimated 70 billion trillion (or 7 times ten to the twenty-second power) stars in the observable universe. These numbers don’t even come close to reaching the amount of addresses IPv6 contains, and the universe is about as close as a physical comparison gets.
In practice, large swaths of the address space are allocated to special conventions, but the address space is still titanic by any stretch of the imagination. So now back to the original question, is it worth trading in your small, but efficient four-cylinder for the shiny, impressive V8 engine? Bigger might not always be better when it comes at a cost. So just as a V8 drinks more gas, IPv6 has its own benefits and issues.
For example, IPv6 requires a local-link address. What is this?
It’s an address each network interface assigns to itself. The host machine figures out a 64-bit identifier for that particular interface (usually based on the ethernet MAC address or selected at random). The local link address is just a specific prefix (fe80), with the interface identifier put at the end of the address.
So for example, if my MAC address was DC-DC-DC-DC-DC-DC, my IPv6 local-link address would be “fe80:0000:0000:0000:dcdc:dc00:00dc:dcdc”. Because MAC addresses are already unique on a given network segment, and that fe80 addresses aren’t routable outside of our local network segment, we know we have a unique address that we can use to talk to nearby machines.
Now, that local link address has a lot of zeroes in it. One important shorthand in IPv6 is that any time we have a long list of zeroes, we can abbreviate it with two colons together. So that address above could be written as “fe80::dcdc:dc00:00dc:dcdc”
As with IPv4, when we discuss blocks of IPv6 addresses, we describe them from left to right, with a slash and a number indicating how many bits are prefixed in our block. So if we’re discussion the whole block of addresses that start with 2001, we’d call it the 2001/16 block.
For the global network, IPv6 addresses are distributed much the same way as IPv4 addresses, except in much larger blocks. For instance, today you might pay $250 a year for 255 IPv4 addresses (a /24 IPv4 block), but for the same price, you could get more 10 to twenty-six IPv6 addresses (a /40 IPv6 block). Costco watch out.
I hope you enjoyed this episode of “How the Internet Works.” If you liked what you saw, please subscribe to our channel. If you have questions, suggestions, or ideas for future videos, please leave a comment below.
Once again, I’m John Brewer for Deep Core Data. Thanks for watching.