IPv6 addressing introduces a vastly expanded address space using 128-bit hexadecimal notation, along with improvements to security, quality of service, and network performance. This content covers the structure of IPv6 addresses, prefix notation, and shorthand rules for condensing lengthy addresses.
IPv6 Addressing Fundamentals
The huge driving factor behind IPv6 is just the need for more addresses. As we mentioned along the way, our needs kept growing and we had to create other ways to stretch out IPv4, but we have to get away from it. So IPv6 is really what we need to transition to, and over the next few years we'll make more and more progress towards that. The only reason why IPv4 is hanging around as long as it has is there's still some things that are holding on to that IPv4 communication. As soon as we break that boundary, though, we're most likely going to switch everything over to IPv6, and that will be the way of the future.
They just threw a ton of bits at it, because every time you add another bit it doubles the amount of possibilities there are. So you've got this huge amount, 10 to the 128th power — a huge amount of possibilities, allowing us to do a lot more and get a lot more granular with how we want to manage our different networks.
So although increasing address space was a huge motivating factor to come up with IPv6, and is going to be the driver for us to transition, there are other advantages as well. There are some features that they've worked in to improve security, to improve quality of service, or to make better performance. There's just a bunch of other features that have been worked into IPv6, and they've done away with some of the old architecture of IPv4 too, which is really going to enhance things.
Let's talk about the formatting of an IPv6 address. The first thing that you may notice is there's both numbers and letters. That should be a clue that we're dealing with hexadecimal numbers. So these are hexadecimal numbers here. And we know that a hexadecimal number has four bits behind it, so each one of these is a hexadecimal number, but it's also a nibble. So it's composed of all these little nibbles. Nibbles are grouped up in fours — there are four hexadecimal numbers here — and we call this a hextet. We grouped it up in these groups of four like this just so that it's a little bit easier to read, and we separate that out by colons here to once again make this an easier number to read. So we see that there are colons in between each one of these, and we've got hexadecimal numbers with these hextets in between those colons.
One thing to note here is these are lowercase, and that is the recommended according to the RFC. So if you look at the RFCs, these are supposed to be lowercase, although you won't always see that being used out there. There's a lot of equipment that I've seen that is actually using uppercase, that isn't following the RFCs.
Here's just another view of that formatting. You can see the hexadecimal numbers here with the little nibbles, and then all the binary numbers represented there. So this is just another format that you can use. This is only showing half the address — this format didn't allow me to put it all on one slide, so this is only showing the first 64 bits of it.
We also have the prefix. The prefix is essentially IPv6's CIDR notation, so this tells you how many bits are assigned to the network, or sometimes it's just representing the network that's being handed to you. So in this case right here it's 64. We see that 64 would be the first half of this address, so this side is the network bits and this side is the host bits for this particular address. And 64 is the default and the standard and the recommended way to use it. Really, at this point in time there's no need to use anything other than a /64 for your networks, so you really should be using 64 unless there's a really good reason not to.
6 numbers can be very large and a little cumbersome to deal with, and because the address space is so huge, a lot of times you're dealing with just a lot of zeros. So one thing we could do is remove a lot of the zeros and really not affect the readability — in fact, increase the readability of this number.
The first trick here for shorthand notation of an IPv6 address is we can remove any leading zeros. Leading zeros are the zeros at the front of the number. We can't remove this year right here, at least not for what we're talking about yet. So what we can do is remove all of these leading zeros of all of these numbers to condense this down, and this is what we end up with by removing those numbers.
Now there is one other trick that we can do, and that is if there's two zeros that are next to each other, we can actually condense that just into a colon. You can see this double colon here — this is condensed now. You can only do this once, though, within here, because we know that we can reconstruct this. At this point we know that there's supposed to be eight hextets, so we've got one, two, three, four, five, six, seven, eight hextets. But when we condense it down like this, I can count these out: one, two, three, four, five, six. So I know that this represents two more that are in there, and I can fill that in now and assume that this is what it is. If I were to condense another one somewhere else within the address, then you wouldn't know where the condensing is happening at, and it would be really confusing. So you can only do this trick once within an IP address.
TechKnowSurge builds IT and cybersecurity professionals through hands-on, concept-first training built around real understanding — not memorization. Free interactive tools, structured programs, and 25+ years of real-world experience, all in one place.
Explore free tools and programs →