One of the first things you will notice about IPv6 addresses is that they are always written using hexadecimal characters. Network engineers certainly have become accustomed to seeing and using this numbering system, especially with regard to hardware or MAC addresses. Since the reason for using it with IPv6 addresses may seem less clear, let’s revisit the binary representation of the previously used IPv4 address.
11011000. 10010001.00000001.00000010
If you count the number of consecutive numbers of binary ones and zeros, you can easily see that they number thirty-two. Now look at the hexadecimal representation of an IPv6 address.
2000: 1234:5678:9abc:0:0:0:0
If you convert each of these hexadecimal characters between the colons to binary, it yields sixteen binary characters.
Looking at the actual bit mapping of the address gives you an idea of just how enormous the numbers actually are! Needless to say, hexadecimal representation makes writing out the addresses much more manageable. Another item to remember is the term quartet (you may remember octet being used in IPv4) for each group of characters between the colons. As a side note, this simply means that four hexadecimal numbers are shown in that grouping.
Prefix Length Representation
One of the early methods for combating IPv4 address exhaustion was classless routing, which did away with the traditional Class A, B, and C unicast address groups. To further shrink the size of the Internet routing tables, a new notation was created known as Classless Interdomain Routing ( CIDR). Using CIDR, networks could be aggregated and also represented in a single statement by indicating how many bits comprised the network portion of the address. Using the previous IPv4 address, for example, the address in question could be represented as:
216.145.1.2/24
IPv6 addresses have abandoned network masks for the same reason that hexadecimal is used, namely, to simplify and compact addresses when being written out. As a result, all address representation uses this format of PREFIX::/BITS.
Abbreviating IPv6 Addresses
In the previous IPv6 addressing example, you may have noticed an inordinately large number of successive zeroes in the address, and you will very often see the same thing in many addressesyou encounter. To help simplify things even further, IPv6 designers implemented rules for abbreviating (also called compacting or compaction) these numbers even further. Even so, there are rules that must be followed to do this correctly.
- Leading zeroes within a quartet (group of four hexadecimal characters) may be omitted, or more accurately, suppressed.
- Conversely, consecutive trailing zeroes in a quartet may not be omitted.
- Finally, quarters of contiguous zeroes may be abbreviated using a double colon (::), but only once with an address.
Going back to our previous example, the fully written version of the IPv6 address would be:
2000:1234:5678:9abc:0000:0000:0000:0000/64
Using the rules listed above, this can be compacted in a straightforward manner.
2000: 1234:5678:9abc:0:0:0:0/64
Even so, there is one more abbreviation process that can simplify this even further.
2000: 1234:5678:9abc::/64
Now that you have had the opportunity to examine IPV6 address at close range, I hope this has taken the mystery and unfamiliarity out of it to a degree. While there is certainly a great deal more to the mechanics of this new version of the Internet Protocol, this can give you a head start on mastering this important topic.
Related Posts
Data Center Basics: Meet IP Version 6
IPv6 Are We There Yet?
What is IPv6 and Where Did It Come From?
Related Courses
IPv6 Fundamentals
Advanced IPv6 Migration