1. 10.0 Addressing Networks with IPv6
In our last module, we got mathematical with IP version four. But the bad news is, with IPV-4 addresses, we’re out. And we have to rely on services such as network address translation in order to keep using them. The good news is that IP Version 6 is coming to the rescue. The reason for this is that we have an abundance of IPV-6 addresses and will never run out, at least not in our lifetimes. And in this module, we’re going to take a look at the structure of an IPV6 address. We’ll see how we can shorten that address in some cases, and we’ll examine different categories of IPV6 addresses. But something to know about the IPV-6 address is that it is written using hexadecimal notation. So I thought it might be a good idea for us to begin our discussion of IPV 6 with a review of hexadecimal numbering. And that’s exactly what we’re going to do in our next video. I’ll see you there.
2. 10.1 Hexadecimal Numbering
In this video, we want to consider hexadecimal numbering, or hex numbering. This can be super valuable when we’re working with something like IP version six addressing. And to get started, I want you to consider the different types of numbering systems we have. I’m personally most familiar with it, and I’m guessing you are as well. We have ten possible values with base-ten numbering. Zero, three, nine. After we get to nine, we go to two digits, and then we have 10 all the way through nine. Nine. With base-two numbering, also known as binary numbering, there are only two possible values: zero or one. But with hexadecimal, we have 16 possible values, which are numbered zero through nine. But when we get to nine and we come to the decimal equivalent of ten, we don’t start over again. We continue with alphabetical characters.
We say that A comes after nine. So a hexadecimal A equals a decimal value of ten, b equals eleven, c equals twelve, d equals 13, e equals 14, and F equals 15. And we’re going to see that IP version six addressing is typically written in hexadecimal notation. So let’s dive a bit deeper into hexadecimal notation. First of all, remember that a single hexadecimal digit can represent one of 16 different values, zero through F. Again, that’s zero through nine and then ABCDE and F. And if we need to convert a hexadecimal digit into a corresponding binary string, how many binary bits does it take to make 16 values? Four. That means each of these hexadecimal digits could be represented by four binary bits. And you may have heard that eight binary bits equal a byte. Here we’re talking about half a byte. We’re talking about four bits. There’s actually a special name for that. We oftentimes call that a nibble. So a hexadecimal digit is essentially a nibble.
It’s made up of four binary bits. And if you’re looking at a number, let’s say it’s a55, that could be a base-16 number, it could be a hexadecimal 55, or it could be a decimal 55. How do you know those represent very different values? Well, oftentimes a hexadecimal value will be prepended with a zero x. So if it’s hexadecimal 55, you might see it written as 0 x 55. Again, the zero X just says the following is a hexadecimal number. Now let’s do some practise conversions between decimal, binary, and hexadecimal. To get started, let’s see how to write the decimal number 241 in hex. Here’s the procedure: We take the number 241, which is a decimal number, and divide it by 16 because we’re using a base-16 numbering system, which equals 15 625. In other words, 16 goes into 241 entirely 15 times entirely.And then there’s a bit of a remainder. What is that remainder? Well, we’ll just take that. 0625, and we multiply by 16, and that’s going to give us one. So we could say that 241 divided by 16 is 15 with a remainder of one. Now we’re dealing with a number of 15. Let’s divide that by 16. If we divide 15 by 16, that’s less than one; it’s 0.9375. So we have a zero with a remainder of, and we could probably just guess that the remainder is 15. But let’s go through the math. We’ve got a remainder of 0.9375 multiplied by 16. That’s the remainder of 15. So we can say we have a zero with the remainder of 15. However, in hexadecimal, remember what a 15 equals—it equals an F. And when we get to this point where a 16 will not entirely go into the number we’re working with, 16 is not going to go into 15. We can stop here, and we’re just going to concatenate.
In other words, we’re going to stick together the remainders, starting with the last one. We start with F, and then we stick a one after it. So it’s going to be an F and a one. And to indicate that it’s a hexadecimal number, we can write that as 0 X F 1. That is the hexadecimal equivalent of 241. Let’s give you some practice. You might want to pause the video and convert the decimal number of 198 to hex. And when you’re done, resume the video, and we’ll go through the solution together. All right. How did you do? If we divide 198 by 16, we get 12.375. So twelve plus the remainder equals twelve. The remainder is going to be calculated by taking that value after the decimal point and multiplying it by 16. So 00:37, five times 16, that’s 6198. Divided by 16, there are twelve, with the remainder being six. All right, now we’re working with the number twelve. Let’s divide twelve by 16. Well, that’s going to be zero and 75. It’s zero, with the remainder of zero times 75 times 16, so that’s going to be twelve.
Remember that a twelve or hex is written as a C. We’ve got a zero with the remainder of C. Now that we’ve got a number of 00:16 that is not going to go into twelve, we can stop, and we’re going to just stick together. We’re going to concatenate the remainders. Starting with the bottom one, we’ll pretend it’s a Csix and replace it with a zerox. As a result, the hexadecimal equivalent of the decimal number 198 is zero x. Just to say that this is a hexadecimal number, followed by a six, What about binary? We said that we could have four binary bits represent a single hex value, and we call those bits a nibble. That’s a grouping of four binary bits. Let’s go through an exercise where we’re going to write a hexadecimal number of 0 x 2 F in binary. What we’re going to do is take each of those hexadecimal values—the two and the F—and we’re going to represent each of those as four binary bits. That first hex value is a two. What is the decimal equivalent? It might be easier to convert from decimal to binary. A two in hex is a two in decimal, and in binary, that’s 0010. And then we take a look at that second hexadecimal value of an F.
An F in hex, we know, equals a 15 in decimal. If you convert a 15 into decimal-to-binary, that’s one to one. In other words, eight plus four plus two plus one is going to give us a 15. Then, to get the binary representation of two F, we simply group them together again. We use the word “concatenate.” We stick those nibbles together, the two followed by the F. So it’s going to be followed by one, and that is the binary equivalent of the hex value of F. Here’s one for you to try. I need it converted from hexadecimal to binary. You might want to pause the video and then resume when you’re ready to check your answer. All right, let’s check your answer. We want to convert each of those hexadecimal values, both Band C, into a decimal so we can better visualise it, and then into binary. A B is equal to an eleven in decimal. An eleven and a half digit in binary is 1011. In other words, eight plus two plus one equals eleven. The next hexadecimal value is A, which is twelve in decimal, and in binary, that’s eight plus four. So it’s 1100. Let’s concatenate those nibbles, and that’s going to give us the binary equivalent of 101100.
3. 10.2 IPv6 Address Format
In this video, we want to take a look at the format or structure of an IP version 6 address. Recall that an IP version 4 address is made up of 32 bits, and we’re out of those addresses. In other words, you cannot go and get a big block of IP version 4 from your country’s authority. Well, we’re never going to run out of IP version 6 addresses because they’re made up of 128 bits. and we divide that into the prefix and the host. Now, this is almost identical to IP version 4, where we have the network portion of the address and then we have the host portion. We’ve got some bits representing the network, and we’ve got some bits representing the host, for a total of 128 bits. However, the terminology is a little bit different with IP version six. Even though you can say “network bits,” we often call those network bits the prefix of the address and the number of bits in that network portion. Instead of referring to a subnet mask, we talked about the prefix length, which says how many bits are in the prefix. And here are some characteristics I want you to know about IP version 6. As we’ve already said, it’s got 128 bits. But that’s a lot to write out if you’re using binary, even if you’re using decimal. So to make the address as compact as we can, here’s what we can do: We can represent those 128 bits as 32 hexadecimal numbers. And here’s an example of what an IP version 6 address might look like.
Notice we’ve got four hexadecimal numbers. Then we’ve got a colon. So instead of dotted decimal notation, we have, I guess, colon hexadecimal notation in a grouping of four hexadecimal digits. A quartet, like the numbers two, three, and zero, is a grouping of four hex values. So we have a total of eight quartets, each of which is separated by a colon. And one hexadecimal number can be represented in binary with four binary bits because in binary it takes four bits to give us 16 different values, the possible number of values that a hexadecimal number has. So let’s think about this. We’ve got eight quartets of four hexadecimal digits. So four hex digits How many bits is that? That’s four times four of sixteen. That makes up a quartet. We’ve got 16 bits in a quartet, but we’ve got eight quartets. What is eight times 16? You guessed it, it’s 128 bits. Something else that’s somewhat unique about IP version six is that it does not have the concept of a broadcast like IP version four does. With IP version 4, we can send broadcasts that go to every device within a subnet or a VLAN. We call that a broadcast domain.
There’s not technically a broadcast in IP version six. There are some more efficient ways of accomplishing things that a broadcast would accomplish with IP version 4. But to be honest, there sort of is a broadcast. There’s something called an “all nodes multicast” that goes to all nodes within the network that kind of sounds a lot like a broadcast. We just don’t call it a broadcast. One other characteristic that I think is somewhat unique is that we don’t need to worry so much about fragmentation with IP version six. With IP version 4, one device might send a packet. And let’s say that packet is 1500 bytes in size and is received by a device that can only accept packets with a maximum length of 472 bytes. We’re sending a packet that’s too big, so the recipient has to fragment that packet into two separate packets so it doesn’t exceed that maximum transmission unit, called an MTU. Something to keep in mind with IP version six is that those devices discover each other’s MTU before they begin to send data. and that can help reduce this issue of fragmentation.
4. 10.3 Shortening an IPv6 Address
Since an IP version 6 address contains as many as 32 hexadecimal digits, that can be fairly lengthy to write out or to type out as part of your configuration. However, we do have some rules that allow us to, in some cases, shorten the length of that IP version 6 address. Let’s take a look at those rules. Number one, we can omit any leading zeros in a quartet. A quartet is a group of four hexadecimal digits. We’ve got eight quartets. They’re all separated by colons. But if you have a quartet that begins with a zero, a couple of zeros, or more zeros, you can omit the leading zeros in that quartet. That can cut down on the length of your address.
Or if you have some quartets with allzeros that are right next to each other. For example, on screen, notice there in the middle that we’ve got three quartets containing all zeros. instead of writing “zero colon,” “zero colon,” and “zero colon,” which we could do. That’s the rule of leaving out the leading zeros. You still have to have the last zero. But if you left out the leading zeros, you could have zero colon, zero colon, and zero colon. However, since they’re allzero, there’s another shortcut. We could replace those consecutive quartets of all zeros with a double colon. a caution, though. If we do that, we can only do that once per abbreviation. In other words, if we are looking at an address, near the beginning of the address, we’ve got a couple of quartets of alphas. And near the end of the address, there are another couple of quartets with all zeros. You cannot play this double trick twice because the equipment would have no idea how many quarters are represented by each set of colons. We can only do that one time.
So let’s go through this example together, beginning with that first quartet. Two, three, zero. Are there any abbreviation rules we can benefit from here? Nope. We have to write it down just as it is. Two, three, and a zero We have no leading zeros. Same thing for the next quartet: 20-1 A. We’ve got to bring that down just as it is. But check out the next quartet. We can omit the leading zeros in the numbers zero, zero, and two. That means we could just write “B 2.” Now we get to play that double colon trick. We’ve got three quartets containing all zeros. Instead of saying “zero colon,” we can just say “colon.” And it’s going to represent those three consecutive all-zero quartets. We now have a leading zero for the next quartet of 40 zeros. So we can simply enter 40 zero. For the next quartet, we’ve got one. So we can just put a colon. And our prefix length is 64, meaning that the first 64 bits refer to the prefix, which we can think of as the network. And that’s a way to shorten, in some cases, an IP version 6 address.
5. 10.4 IPv6 Address Shortening Exercise
I’d like you to practise shortening an IP version 6 address right now. Remembering that the two abbreviation rules are within a quartet, we can omit leading zeros. And if we have consecutive quartets of all zeros, we can represent those consecutive quartets of all zeros with a double colon. But if that occurs more than once in an address, like it does in this example, you can only use that double colon abbreviation one time. So my challenge to you is to come up with the best abbreviation of this IP version six address. Go ahead and pause the video, and when you’re done, you can resume, and we’ll go through the solution together. All right, let’s go through the solution together. In that first quartet, we’ve got 20 zeros. There is no leading zero. So we’ve got to bring that down just as it is. And we now have three quartets containing all zeros.
We could use the double colon here, but if we look further down in the address, there are another couple of quartets containing all zeros. Should we use the double colon here, or should we use it there? Remembering that we can only use it once. If I use it here, I’m summarising three quartets. If I use it later on, I’m only summarizing two quartets. So I want to use it here. We’ll say “colon,” “colon,” and then “1234”.Because there are no leading zeros in that quartet, and because I can no longer use the double-colon trick for the zero, I can omit the leading zeros but not the last zero. I’m going to say it’s colon zero. Same thing for the next allzeros quartet; it’s a zero colon. And for the last quartet, we omit the leading zeros and bring down the B. It’s also a slash 64, which indicates the length of the prefix. In other words, the number of network bits is 64. And that was your challenge of how to shorten an IP version 6 address. Bye.
6. 10.5 IPv6 Global Unicast
Even though IP version 6 addressing gives us plenty of addresses that we will never run out of, we cannot just haphazardly pick any address to assign to something like a PC. We have a couple of PCs here, and PC number one has an IP version six address of 2001, implying that we have a bunch of all-zero quartets between the 2001 Quartet and PC Two, which has an IP version six address of 20012. Now. These are global unicasts. Addresses. That means these are publicly routed IP version 6 addresses. So when PC One wants to send traffic to PC Two, it sends it to a destination address of 20012. And the way we know this is a global unicast address is based on the first three bits. If we have an IP version six address, 128 bits in total, that has one as its first three bits, then that tells us that’s a global unicast IP version six address, and the next 45 bits represent the global routing prefix that will be unique to our organization. And then we could divide things up within our network with a subnet ID of 16 bits. And then the host or the interface could be identified by 64 bits. But a global unicast address begins with 2003. That’s the way it’s written. Now, does that mean the first hexadecimal digit needs to be a two? It does not. We’re just limiting the first three bits to one.
But remember, we have four bits. That was a nibble that made up a hexadecimal value. There’s more than one nipple that would begin with that; that’s a two, and there’s a three. So actually, we may be starting out our GlobalUnicast address with a two or a three. But the literature is going to say that it starts with 20003. Don’t think that it has to be a pair because we’re only paying attention to those three. The leftmost bits require this to be a global unicast address. And I mentioned that the global routing prefix could be used to uniquely route your network to other networks across the global Internet. Well, that number is going to be assigned by the Internet Assigned Numbers Authority, or the Iana. But that’s a look at the format of an IP version 6 global unicast address that can be used to uniquely route traffic across the global Internet.
7. 10.6 IPv6 Multicast
Let’s consider the format of an IP version 6-multicast address. In this video, remember that a multicast address is going to be the recipient of packets. It’s never going to be the source. We don’t assign a multicast address to a PC, for example. It’s only a destination only. And in this case, let’s say that PC One and PC Two want to receive traffic from the same video server. In our example, what they could do is join a multicast group. Let’s say that the multicast group happened to be FF4. When the video server sent traffic to that destination multicast group, it would be replicated only to PCs One and Two but not to PC Three. But how do we look at an IP version 6 address and say, “Yes, that is a multicast address?” Well, it’s really easy with multicast because the first eight bits are all ones.
Remember that a hexadecimal digit is made up of four binary bits called a nibble. Well, we have two nibbles that are all ones and 1111 and hex; that’s going to be an F. We’ve got FF as our leading digits. The first eight bits are all ones. Now the next four bits are indicated to be flags. Let’s talk about that for just a moment. The flags are sometimes called the zero RP and T bits. Well, at the time of this recording, the zero bit is always going to be zero. It’s reserved to be a zero. Now the next bit, the Rbit, is going to be set to one if the address of a renduvu point is embedded in this multicast address. And what is a rendezvous point? Well, one way to set up multicast is to have a server send traffic just to one router called the rendezvous point. And all the other routers know that if they want to get multicast traffic, they go to that rendezvous point. It could be learned dynamically, it could be configured on all of the routers, or it could be embedded here. If it’s embedded in this address, that’s It’s going to be a one.
And if the R bit is a one, then the P and T bits also have to be a one.Next up, we have some scope bits. We have four of those. The scope bits say how far a multicast goes. Is it going to stay on just our link? Is it going to stay on our local network but not go out on the Internet? Is it going to go just to IPV6-speaking routers? How far is it going to go? Here are some examples on the screen that I’m showing you. And there are two really common ones that I want you to memorize. FF 2, which represents all nodes in the local scope of a link. That is, all devices are connected to a single router interface, which is referred to as a broadcast domain in the IP version 4 world. And we say oftentimes that one of the benefits of IPV6 is that it does not have broadcasts that just go everywhere within a subnet. Well, this kind of seems like a broadcast, doesn’t it? It goes to every node in a link’s local scope. That’s what a broadcast does in IP version four. So even though we technically don’t have broadcasts in IP version 6, this is kind of like a broadcast in IP version 6. It’s an all-nodes multicast. Another one I want you to memorise is FF 2. That will not be all nodes; it will be all routers in a link local scope. So, if we have four routers all connected to the same Ethernet switch and each with an interface on the same link local scope, a multicast sent from one router would go to the other three routers as well as the remaining 112 bits. That is the multicast group ID. And that’s a look at the format of an IPV6 multicast address.
8. 10.7 IPv6 Link Local
In this video, let’s take a look at the format of an IPV 6-link local address. And as the name suggests, this address can only be used on a local link on a network segment. In other words, consider R1 on screen. It could send a packet to R Two’s local address of Fe 80 Two, but it could not be forwarded over to R Three. Because a link’s local address is only usable on a local link, it cannot be routed. Here’s the format: It begins with 111010. Those are the first ten bits.
The following 54 bits are all zeros. The final 64 bits come from the interface ID. And you may notice in the literature that you can identify a link local address because it begins with Fe 800:10, implying that the first ten bits of Fe 80 are all that is required. It suggests that we can have different bits after that. But if you look at this, the next 54 bits after those first ten bits are, by definition, all zeros. So in my view, we could say that a linklocal address could be defined by FE 80 64, because we know those are the first 64 bits. But it looks like this in the literature. And as we’ve already said, it can only be used on a single network segment. This is then compared to the IP version of a Pippa address. PIPA stands for “Automatic Private IP Addressing.” Let’s say an IPV4 host boots up. Nobody has assigned it. IPV-4 addresses It cannot dynamically learn an IPV4 address. So it says. I guess I better make one up myself. And it kind of randomly picks an IPv4 address from this EPPA address range. It has to begin with 169.254.100, and it’s going to dynamically assign itself an address. But that address can only be used on the local network segment.
It cannot be routed even within your own corporate network. That’s sort of like an IPV six-link local address, and we can just let it be dynamically assigned or we can statically assign it, and you might wonder, “Why do we need this?” What is it used for if it’s not routable? Well, interestingly, with IP version 6, when two routers communicate with one another, instead of pointing to one another’s IP version 6 global unicast address, they’ll point to one another’s link local addresses. If you work with IPV6 routing protocols and you ask a router to show you its neighbors, it’s not going to show you its neighbor’s IPV6 global unicast address; it’s going to show you your neighbor’s IPV6 link local Local Address.So this is often used for inter-router communication when both of those routers share an interface on the same network segment.
9. 10.8 IPv6 Unique Local
An IPV-6 unique local address can be routed within your company, but it’s not routed on the public internet. So within your company, yeah, we could route between R one and R two or maybe a couple of other routers within your company using an IPv6 unique local address such as FD 2. However, we could not route that out to the public internet. Here is the format of an IPV 6-unique local address: It begins with the seven bits of 1110. Then there is an LBIT, followed by a global ID. You can refer to the subnet ID within your company and the interface ID, which is the host address of this router interface. And the addressing, by definition, starts with FC 0, 0, 7.
And in my example, I don’t have FC; I’ve got FD. Is that okay? That’s because we’re not saying what the fourth bit in the second nibble is. We’re saying that in that second nibble. In other words, the second hexadecimal digit has to begin with a 10. But there’s no rule that the fourth bit in that nibble has to be a zero. If it were a zero, that would be aC in hex, but it could be a one. If it were a one, it could be a Din hex, which is what I’m using in this example. And the big characteristic I want you to know about a unique local address is that it is not routeable over the public internet. This is very similar to the RFC 1918 addresses we have with IP version 4, where we have these ranges of IP addresses, such as the “10” address range. You can use it as much as you want within your company, but it is not available on the public internet. And that next bit, the LBIT, if it’s set to one, means the address is locally assigned, and usually it will be set to one. So in my experience, you’re much more likely to see a unique local address beginning with FD as opposed to FC.
10. 10.9 IPv6 Loopback
In the IP version 4 world, we have a loopback address that’s used to test to make sure that the network interface card is reachable. Or sometimes a web developer will run a web server on their local machine, and if they want to pull it up in their browser, they can point to it. In the IPV-6 world, we did the same thing. It’s an IPV6 destination address. That means that the first 127 bits are all zeros, and it just ends in a one. And we write it as one sentence.
That’s our local loopback, also known as the local host address, which is very similar to the address we have in the IP version 4 world. And we’re going to be able to use this to test to make sure the IP version six stack is operating on our machine. Another example would be a web developer running a web server locally. They could point to their loopback address to pull up the web page that they’re serving up from their local machine. And since a local loopback is really pointing to us, it’s pointing to our home. In other words, I’ve seen a couple of doormats. One says there’s no place like one hundred and twenty-seven, zero, zero, one. And an updated version of that says there’s no place like home because colonial one points to us.
11. 10.10 IPv6 Unspecified
An IPv6 unspecified address is very unique in that all 128 bits are zeros. Consider this example. Let’s say that PC number one wants to go out to router R1 in an attempt to learn the network. In other words, the prefix under which PC one exists, because right now, maybe PC one doesn’t know. It could send out a packet destined for the IP version six multicast address of FF 2.
On the local link router R1, all IPV-6-speaking routers are listed. In this case, that could be the destination, but the source could be the colon. Colon. That’s the unspecified address. It’s all zeros. And we write it again as, “When would we be able to have our IPV-6 address as a PC with all zeros?” How does that work? Well, a couple of examples We could use it as our source address when we’re sending out a neighbour solicitation message because there’s a way for an IPV6 client to dynamically generate its own IPV6 address. It could go out to the router and say, “Hey, can you tell me what network we’re on?” In other words, what prefix and the prefix length are we using? We could learn that from the router, and then we could use a process called Eui 64 to generate our host bits, the last 64 bits of our IPV6 address.
And once we self-generate that IPV6 address, just to make sure that nobody else has this address, we’re going to go ask, “Hey, does anybody have this address?” But we don’t ask if anybody has the address that we’ve generated because there’s another address that corresponds to it called the solicited node multicast. And we’re doing something called “duplicate address detection.” We’re trying to determine: does anybody have the same IP address that I just self-generated? We hope the answer is no. That’s one time we might use an unspecified address. I’ve already mentioned it before. When we’re trying to generate our own IPV6 address and we’re trying to learn the prefix and the prefix length, in other words, the network on which we live, we can go ask the router with a router solicitation message. And then we can use a process called Eui 64 to generate the remaining 64 bits in our IPV6 address. And that’s a look at the very unique IPV-6 unspecified address written as a colon, where all 128 bits are zeros.
12. 10.11 IPv6 Solicited-Node Multicast
Every IPV6 address that we assign to a device is going to have a corresponding solicited node multicast address. We don’t have to create that address. It’s created for us automatically. But there’s one that corresponds to every IPV-6 address that we assign. For example, let’s say that we want to send a multicast to router R’s solicited node multicast address.
The destination address is going to be FF two one.FF two. We know it’s multicast because it begins with FF, and most of the remaining bits are also required by a solicited node multicast address. Specifically, the first 104 bits are represented by FF and FF. the last 24 bits, for a total of 128 bits. The last 24 bits come from the last 24 bits in the IP version 6 address that has this unsolicited node multi-guest address that corresponds to it. And in the literature, you’ll see this written as FF 2104 because that defines the first 104 bits of our 128-bit IPV6 address. And we mentioned that the last 24 bits are taken directly from the last 24 bits in the corresponding IPV6 address. And you might wonder, when would we use an address like this? Well, it’s sort of a replacement for ARP. In IP version 4, there’s a protocol called ARP, the Address Resolution Protocol, and it’s a broadcast protocol. And if I’m trying to determine the Mac address of a device, I know that device has an IP version 4 address, but I don’t know what Mac address it has. If I want to send a frame to it, I need to know its Mac address.
What I can do is send out an ARPA broadcast asking, “Can somebody tell me the Mac address corresponding to this IP address?” Well, since we don’t technically have broadcasts in the IPV6 world, we can use this instead. We can say, “I’m going to send a solicited node multicast packet that corresponds to the IP address that I know, and the response to that is going to tell me the Mac address of that IPV6 address.” Another use for the solicited node multicast address is when we’re trying to make sure the address that we self-assign does not already exist in the network, because an IPV6 client can generate its own IPV6 address. It can ask the router for network information, in other words, the prefix and the length of the network that that device lives on. And then it can use a process called Eui 64 to generate the last 64 bits of its IPV-6 address. It puts them together, and it comes up with a unique, hopefully IP version 6-compatible address that it can use. But before it starts to use it, it makes sure that it really is unique. It will send out a solicited multicast node destined for the multicast address corresponding to the IP address that it just self-generated. and it hopes that there will be no response. Because if there’s a response, that means somebody already has this IPV6 address. This is a process called “duplicate address detection,” where we hope we’re not even going to get a response to our solicited node Multigest.
13. 10.12 EUI-64 Address
If we don’t manually assign an IPV6 address to a node on our network, it might be able to automatically determine an IPV6 address. That could save us some time. The way you could do that is by going and asking the router for the network on which it resides. And the router is going to respond and say, “Here is the prefix,” in other words, the network address. And here is the length, or the number of bits in the network address. Well, that’s going to typically be the first 64 bits of this node’s address. And then they can use a process called Eui 64 to generate the last 64 bits.
That stands for the 64-bit extended unique identifier. What it’s going to do It’s going to use the Mac address of an interface to determine that 64-bit interface ID. Here’s a challenge. a Mac address, which is the burned-in physical address of a network interface. It’s only 48 bits long. So how can we extract 64 bits from a 48-bit address? Let’s look at an example on router R one.Let’s say that interface gigabit zero one has a Mac address of 2 BE 4 9 B 60. And we want to use that to generate an EI-64 address. And I gave the example of using it to assign ourselves an address. This is also going to be used to give ourselves the last 64 bits of a dynamically created local address. So let’s see how this works and answer the paradox of how we get 64 bits from 48 bits. Well, here’s the Mac address: Step one is that we take that Mac address of twelve hexadecimal digits and split it down the middle. Then we insert four hexadecimal digits between those two different parts. Specifically, we’re going to insert FFE in the middle. That’s going to give us enough bits. And we typically write IPV6 addresses with colon delimiters instead of period delimiters. So let’s change the delimiter from a period or dot to a colon.
And here’s what that looks like: And the fourth step, I admit, is a bit odd. I’m not quite sure why this is a requirement. But what we do in step number four is take the first two hexadecimal digits, which in our case are zero and zero, and convert them to binary. That’s an easy conversion. In binary, zero zero equals eight zeros. And step number five says that once we’ve converted those first two hex digits to eight binary bits, we should take the seventh bit and flip it, whatever it is. If the seventh bit is a zero, change it to a one. If it’s a one, make it a zero. In our case, the 7th bit is a zero. So we’re going to flip it in step number five, and we’re going to make it a one. Why? I have zero idea. I think that’s a bit odd. But, once we have our modified set of bits, we’ll take those eight bits, divide them into two nibbles, and extract the first two hexadecimal digits of our EWI 64 address from those extracts. And if we do that conversion back, we’ve got four zeros. That’s going to give us a hex digit of zero. And now the last four bits, or, in other words, the last nibble in those eight bits we were dealing with, that’s a hex value of two. So zero zero has now become zero two. And that’s going to be our UEI-64 address. I also mentioned that this could be used for link local addressing. We could just prefix “Fe 80” to this EI 64 address. This will give us the link local address of F E 80215, 2 BBEF4-9, B 60. And that’s a look at how we can use a 48-bit maximum address on an interface. And from that magically extracted 64-bit EOI address
14. 10.13 IPv6 Autoconfiguration
In the IPv4 world, we can have a DHCP server, a dynamic host configuration protocol server that hands out IP addresses for nodes. For example, we could have a PC that goes out and discovers a DHCP server. And that server could give that node an IP address, a subnet mask, and a default gateway. It could give it a DNS server’s IP address. Lots of different parameters could be handed out via DHCP. Well, interestingly, we can do something similar with IP version six. We can have a DHCP version 6 server that can help our clients with IPV6 address information. And there are a couple of ways we can do this. We can have a stateful or a stateless approach. First, let’s consider the stateful approach. With a stateful approach, all of our IPv6 information is going to be given to a PC from the DHCP version six server. It says, “Here is your prefix and length.” In other words, the network portion of the address Here are the host bits of your address: Here is some extra information, such as the IP address of a stateful DNS server that’s stateful. We’re getting all of our IPv6 address information from that server.
The other option is stateless DHCP version six. Here, that client can learn some information from a DHCP version 6 server, maybe the IP address of a DNS server. But it could learn its prefix and length from its next top router. It could send out a neighbour discovery protocol to its router, saying, “Hey, can you tell me the prefix and length?” In other words, can you tell me the network on which I reside? And maybe the router says, “Here you go,” and maybe it’s 64 bits in length. That PC could then use the Eui 64 approach to automatically generate the last 64 bits of its IPV6 address based on its Mac address. And it puts that prefix and lift together with its self-generated EY 64 address, giving it its IP version 6 address. So for stateful DHCP version 6, all of our IPV 6 information comes from the server. With stateless, the server can provide us with additional information. But the PC, by relying on EY 64 and talking to its next-top router, can determine its own IPV6 address.
15. 10.14 IPv6 Traffic Flows
In an IP version 4 network, we’ve got three different types of traffic flows: unicast, which is one-to-one communication. We’ve got multicast, which is one-to-many communication where many represent the members of a multicast group, Broadcast, which is one-to-all communication where all represent all devices on a network segment, It’s a little bit different with IP version six. With IP version 6, we still have unicast. Unicast is one-to-one communication. So PC 1 wishes to communicate with PC 2. It can send out a packet destined for that PC. We can still have multicast with IPV6.
We can have a multicast group. Recall that a multicast group address in IPV6 by definition begins with an FF, and let’s say that PCs 1 and 2 want to belong to that group. When the server sends out traffic to that group, it’s going to be replicated just to PCs One and Two, not to PC Three. But what’s different is that IPV6 technically does not have the concept of broadcast. It does have another type of flow, though, and that’s called anycast. While unicast is one to one and multicast is one to many, with many meaning the members of the multicast group, anycast is one to the nearest. Imagine that we had a large worldwide network, sort of like a content distribution network, where people around the world were enjoying our streaming services. We’re streaming video content in different locations around the world. And as an example, let’s say that this client wants to receive information from a server, and that server’s content is duplicated on a couple of servers located in different geographical regions.
One is connected to ISP number one, and the other is connected to ISP number two. Notice that they have the same IP version six address. That seems a bit contradictory, doesn’t it? Is that a problem? Not really. There is a lot of configuration that’s needed here. But what goes on is an internet service provider is going to see, hey, there are two ways to get to this destination, and it’s going to look at its routing protocol, BGP. It’s going to look at that BGP, the bordergateway protocol table, and from that determine which destination is closest, and it’s going to go to the nearest location that can help cut down on latency between the client and the server. So again, unicast, one-to-one, multicast, one too many. There is no broadcast in IP version 6, but there is any cast, which is the nearest one.
16. 10.15 Dual Stack
While many networks are using IP version 6, they may also have some IP version 4 devices that still need to be supported. Or maybe they’re in the process of migrating those IP version 4 devices. Let’s consider a way to have IPV6 and IPV4 devices coexist usefully on the same network. In this example, let’s imagine that server one is running just IP version 4, and server two is running just IP version 6, and the client needs to talk to both of those servers at different times. Can it do that? Well, it can. And one way to accomplish this is to configure the client with both an IP version 4 and an IP version 6 address. That’s called a “dual stack” configuration. In a dual stack configuration, we’ll use that client’s IPV4 address when communicating with server 1, and we’ll use its IPV6 address when communicating with server 2. You.
17. 10.16 Tunneling IPv6 Through an IPv4 Network
Let’s say that we have a network that we’re in the process of migrating from IP version 4 to IP version 6, but we’re not done yet. Let’s imagine there are portions of the network that only support IP version 4 routing, such as that area between R1 and R two.The challenge is that we’ve got the client and the server that want to communicate with one another, and they’re both configured to natively speak IP version six. Is that possible? Actually, it is. Between R1 and R2, we could establish an IPV6 over IPV4 tunnel. That is a logical connection between those routers. And it will encapsulate the IP version six packet inside an IP version four packet and send it to the destination router, R one or R two, which will then unwrap the IP version four packet, revealing the encapsulated IP version six packet. Now, this is only going to be needed during our migration to IP version six. Hopefully we’re going to get to a steady state where we support IPV6 between all of our routers.
But while we’re in the process, this is one solution that I want you to know about. In fact, there is an RFC (request for comment) at page 28-93 that talks about mechanisms to transition your network to IP Version 6, including this concept of a tunnel. And it identifies two types of tunnels that I would like you to know about. First, we have a configured tunnel, and that is what it sounds like. We go into the routers and we manually type in a bunch of commands to say specifically, “This is what’s going to be set up here,” “This is how we’re communicating with one another,” and that’s going to be more secure than the other option, which is dynamic. Now, dynamic is easier to configure. “Oh, I’ve got this IPV6 pack that I need to send to R2, and I need to dynamically set up this tunnel,” our one can say. It can do it, but it’s not going to be as secure as us going in and doing a bunch of manual configuration. But those are a couple of options for choosing IPV 6 over IPV 4 tunneling.
18. (N10-007 ONLY) 10.17 IP Address Management (IPAM)
There is a service that I want you to know about for the network plus exam, and it’s called IPAM (IP Address Management). If we think about it, on a large network, there is a lot of IP address information to keep track of. There is a lot of information contained in a DNS server. There is a lot of information on a DHCP server. Wouldn’t it be great if we had a single repository where we, as administrators, could go and see all sorts of IP address information? That’s what an IPAM server gives us. as a few examples. It’s going to tell us the domain names known to our DNS server and the IP addresses associated with those domain names. It can tell us whether the IP addresses are statically or dynamically assigned. It’s going to know what Macaddress corresponds to an IP address. We could get that information, for example, from a DHCP server. It’s going to know who acts as the default gateway for different subnets. If we want to assign some IP addresses to a subnet, we can look at this IPAM server to determine which unused IP addresses we could use. And we can get a listing of the subnets that we currently have as we’re trying to plan for a network expansion.