CompTIA Network+ N10-008 Topic: Module 10 – Addressing Networks with IPv6
December 14, 2022

1. 10.0 Addressing Networks with IPv6

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.

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

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.

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.

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.

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.

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.

14. 10.13 IPv6 Autoconfiguration

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)