Mike walks through routing and switching concepts using IPv6. Learn to understand the simplicity of this protocol and how it allows for easy deployment in ever-changing environments.
- 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, 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 gonna say it, 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 four billion addresses. So we can go all the way from four zeroes like this, all the way to 255.255.255.255 like this, and there's around four billion possible IP addresses. Now, if you've been following along through this series, you'll know addresses like four zeroes 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 two 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 got 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 gonna call my buddy Bryan. So, go 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. 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 gonna 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 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 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 hexi-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 zeroes, 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 a hundred years from now. So hopefully this is gonna 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.
Because 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 U.S. So here's a map of the continental United States, and what we're gonna 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 gonna put a dot here in Houston, Texas. I'm gonna put a dot over here in southern California. I'm gonna put a dot somewhere in the Midwest, arbitrarily.
I'm gonna put a dot over here in the New York City, New Jersey area. I'm gonna 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 gonna be the one router.
Then there's a router up here around Chicago. He'll be the three router. Then there's a router down here in the Houston area. We're gonna 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 have started with 11. So, let's say that 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 don't know 11.10. 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 they'll be 11.24.
And if some other organization wants a connection, they'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 now we see that 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 gonna put a router in the geology department, and that'll be 11.10. oh, let's just say 1 to make it easy.
And then all the individual computers in the geology department are gonna be 188.8.131.52 .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 gonna be 184.108.40.206 .2 .3 .4 .5.
Get the idea? That's aggregation. The beautiful part about aggregation is that, if we could've 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, any time anybody saw a packet for 11, they would know instantly which router to send it to. You get the idea? There's a lot of downsides to 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. Actually, back in the day, they were talking, 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 web page 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 ... 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's pretty fast, right? 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 the 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're like me, and when you first saw that IPv6 address, you're like, oh boy, you mean I'm gonna have to type all those letters and numbers in some times? Well the answer is yes, but it's going to be a lot less than you might think.
- Making secure connections through tunnels
- InterVLAN routing
- Port bonding and port mirroring
- IDS vs. IPS
- Routing and switching with IPv6
- Packet switching
- ISDN and BPL
- Remote desktop connectivity