From the course: CompTIA Network+ (N10-009) Cert Prep
Introduction to IPv6
From the course: CompTIA Network+ (N10-009) Cert Prep
Introduction to IPv6
`- Friends, we are in the midst of a revolution. In fact, the revolution is pretty much already over, and a lot of people don't even know what has happened. What's taken place is the world of IP addresses has fundamentally changed. Now, what I'd like to do is, let's go ahead and put up a example IP address. Okay, so here's an IP address, a typical IP address. We've got our four values separated by three dots. Now, this type of IP address, which we're now going to call IPv4, 'cause that's really what it is, has been serving us great for, I'm not even going to say, it's many decades. It's done a great job. But this has a big problem. This form of addressing, IPv4, has a total address space of around 4 billion addresses. So we can go all the way from four zeros, like this, all the way to 255.255.255.255, like this, and there's around 4 billion possible IP addresses. Now, if you've been following along through this series, you'll know addresses like four zeros and 255.255.255.255 cannot be used to address individual computers. They're used for their own special things. So, even though we have an address space of 2 billion different IP addresses, so many of these are reserved for very specific functions that it's actually a little bit under a billion, to be honest with you. The fact that the internet has gotten so popular has made a situation where we've simply run out of IP addresses. There are no more, they're gone. In fact, they've been pretty much gone for the last few years, and we've been playing really silly games to try to get around it, things like using NAT for primary networks, using private IP addresses, and stuff like that. We knew that this was coming. We knew that this was coming over a decade ago, and a new form of IP addressing, called IPv6, has now been pretty much adopted by everybody. It's interesting though, for so many people, they don't even know that that's happening. Now, let me explain why. So here, I got my phone here. So, I'm going to call my buddy, Bryan. So, going to look him up on my contacts. There's Bryan. So, to call Bryan, all I have to do is press on his extremely attractive picture. He's a good looking guy. Look at him. All right? Now, do I have to know his phone number? Well, I had to know it once, but once I've got his number in there, I'm all set, so anytime I need to talk to Bryan, I just press on him and ta-da, I'm talking to Bryan. Now, even though I don't know Bryan's phone number, let's pretend like I do. So, here in the United States, a typical phone number would look like we put a area code, and then I'm going to put 555 here, we have our exchange, and then we have a four digit number. So here's an example of a 10-digit phone number that we would use here in the United States. Now, what if I controlled your speed dialer? Stick with me here, folks, if I could just set up Bryan Johnson in your phone for you, how does that sound? Now the trick about this is that if I do this for you, I could make a really, look, I could make a phone number look like this. You wouldn't care, 'cause all you have to do is press on Bryan, and you're dialing him, right? Well, that's what's happening with IPv6. In fact, it's probably already happened to all of your computers at home, probably most of them in your office. The internet has already moved to IPv6. And because we use things like DNS, all we have to do is type in www.google.com and hit enter, and you're not going to an IPv4 address. If you're going to Google, you're pretty much always going to IPv6. So IPv6 is an incredibly powerful tool. First of all, IPv6 goes up to 128-bit address. So just for fun, let's put up an IPv6 address here. Here's just an example of one. So first of all, you'll notice that there's hexa decimal values in there, so we have the letters A through F will be in there. That's just good old hex. Each one of these individual letters represents four ones or zeros, so you'll see that we've got them separated into eight groups, separated by seven colons. So this is a typical IPv6 address. This is 128 bits long. To give you an idea of the address space for 128 bits, this is two to the 128th power. We could pretty much give every air molecule on Earth its own IP address, and do that six more times. So that's a lot of IP addresses, and hopefully, we won't have to do an IPv12 sometime 100 years from now. So hopefully, this is going to last us a while. But if I were to simply tell you that the only thing IPv6 does is gives us more phone numbers, I wouldn't be telling you the truth, 'cause it does a lot more than that. The first thing I want to talk about is something called aggregation. Now, to appreciate what aggregation is, I need to draw us a map. Let's take a look at the continental US. So, here's a map of the continental United States, and what we're going to do here is I'm going to draw up a few points. Let's pretend like it's the beginning of the internet, the late seventies, early eighties. So I'm going to put a dot here in Houston, Texas. I'm going to put a dot over here in Southern California. I'm going to put a dot somewhere in the Midwest arbitrarily. I'm going to put a dot over here in the New York City, New Jersey area. I'm going to put a dot down and around Atlanta, Georgia. And what I'll do is I will have some amount of interconnectivity here. Not everybody's connected to everybody, but let's just draw a few lines so that there's always connection between all these guys. So what you're looking at right here is what the original internet was thought to be. So remember, we have four values in an IPv4 address. So, let's go ahead and say that there's a router over here in California. He's going to be the one router. Then there's a router up here around Chicago. He'll be the three router. And there's a router down here in the Houston area. We're going to make him the 11 router. So, all of these routers get an individual number that goes between one to 254. Now, what I want to do is let's zero in on Houston a little bit, so let's zero in here. And we can see that that dot that I had for Houston is actually at the Rice University, and there is a router in there, and that router, the idea was, is this would be the 11 router, so anybody who connected to this router, their IP address would've started with 11. So, let's say that the University of Houston wants to connect to the internet. They would connect to Rice University, so we'll draw a line from Rice University to University of Houston, and we'll call Houston, I dunno, 11.10. Well, why not 11.1, Mike? Well, because we never do things in order on the internet, and that's just how it is. So, if Exxon Corporation wants to have a connection to the internet, they'll take a connection from Rice University, and there'll be 11.24, and if some other organization wants a connection, there'll be 11.44. It doesn't even matter what these numbers are. So, what we're doing here is we're slowly building up internet addresses. Let's zero in one more time, this time on University of Houston. So we now see that at University of Houston, that 11.10 is actually sitting at their primary computing center at U of H. Now, U of H has lots of departments, and they all want to get on the internet, so if their geology department wants to get on the internet, they're going to put a router in the geology department, and that'll be 11.10., oh, let's just say one to make it easy. And then all the individual computers in the geology department are going to be 11.10.1, .1, .2, .3, .4, .5, you get the idea? And if that's not enough, then we could have it handle another one for the geology department, 11.10.2, that's easy enough. Let's just say the history department wants to connect. So we'll run another line from the University of Houston router over to the history department, and we'll make that 11.10.3. And all the individual computers at the history department are going to be 11.10.3.1, .2, .3, .4, .5, get the idea? That's aggregation. The beautiful part about aggregation is that if we could have pulled this off with IPv6, it would've massively reduced the amount of data that's going through that top of the internet, that tier one. If you think about it, if aggregation really worked, anytime anybody saw a packet for 11, they would know instantly which router to send it to. You get the idea? There's a of downsides to the IPv4 though. For example, if you look at how I set that up on that picture, you'll notice that you could never be more than three routers away from the top of the internet. And folks, the internet is a lot bigger than that. The bottom line is that we tried to do aggregation with IPv4 years ago, and the complexity of the internet, just made it, you couldn't do it, it didn't work. The end result of that is if you look at the top of the internet, there are quarter million dollar, super high throughput routers, and these routers don't have firewalls built into them, they don't have NAT, they don't do any of that stuff. They just do one thing, they route. And their routing tables are 30,000, 70,000 lines, because without aggregation, these routers have to know about a whole bunch of other routers to get data where it needs to go. If I have a router on the top of the internet, and if aggregation worked the way it would, that routing table at the top of the internet would only have to have enough routes to cover the one through 254. That would be it. It wouldn't need anything else. And we didn't get to do that, because we didn't think ahead about how IPv4 would look. You know, actually back in the day, they were talking that way. "Well, you know, with this IPv4, "we should be prepared to have an internet "that one day might have, I don't know, "maybe 25, maybe 50,000 computers." It was the seventies, man. They tried, okay? The beautiful part about IPv6 is that IPv6 has so much address space that we can now come back to aggregation. By allowing aggregation to work with IPv6, we allow your data to move from your machine to another machine much, much faster. Latency, that delay while we're waiting for our webpage to load or whatever it is, for our game to refresh, reduces dramatically, because the concept of aggregation is back with IPv6. And anybody who uses, well, Google is probably the most famous one. Today, if you're on Google, you're almost certainly using IPv6. And I don't think anybody would argue with me that getting on Google with a Chrome web browser is pretty fast, right? Well, I think it is. So aggregation really, really makes IPv6 great. So, we've got much more address space, so we can have a lot more computers. We've got aggregation, which is going to speed up latency. The third thing that IPv6 brings to the game is self configuration. We've spent a lot of episodes in this series going through things like NAT and configuring NAT properly and setting up tables to deal with that. We've configured DHCP eight ways to Sunday. We understand how ARP is used to resolve an IPv4 address to a MAC address. All of that stuff is gone. With IPv6, NAT is dead, ARP is dead, DHCP, it should be dead, but we've got some backward compatibility just in case you might need it for some things, but in a perfect world, even DHCP is dead, and it's all been replaced with a new protocol called the Neighbor Discovery Protocol, or NDP. The Neighbor Discovery Protocol is a multicast based protocol where pretty much all of the machines in the internet just kind of start talking to each other and automatically configure themselves. It's absolutely incredible. So if you were like me and when you first saw that IPv6 address, you're like, "Oh boy, do you mean I'm going to have to type "all those letters and numbers in sometimes?" Well, the answer is yes, but it's going to be a lot less than you might think.