Update: after reading this blog post, you can navigate to here where I elaborate on more IPv6 concepts
Why Did We Need to Create IPv6?
The biggest reason we created IPv6 was because there simply aren’t enough IPv4 addresses to go around. With a 32-bit address, there are only 4,294,967,296 IPv4 addresses available. However, since IPv6 has a 128-bit address space, we now have 340,282,366,920,938,463,463,374,607,431,768,211,456 IPv6 addresses…that’s clearly more than enough addresses than we need. You can see the comparison of an IPv4 header with an IPv6 header below. Notice how much larger the address space is for an IPv6 header. Some of the fields from the IPv4 header have been eliminated in the IPv6 header, but the IPv4 headers are still important to know.
Another key difference between IPv4 and IPv6 is that IPv6 heavily relies on this the Neighbor Discovery Protocol (NDP). IPv6 also does NOT use broadcast. Instead it operates using multicast and communicates to devices that are on the local subnet. NDP replaces ARP for IPv4 addresses
Why Did We Skip From Version 4 to Version 6?
There is already an IPv5, but it was an experimental “streaming protocol” that did not gain much popularity. For that reason, we went to IPv6.
If you can recall, the IPv4 address is a string of 32 bits represented by 4 octets in dotted-decimal format. The IPv6 address, however, is comprised of 128 bits and is represented by 8 groups of 16 bits each. IPv6 addresses are also represented in hexadecimal format (i.e., 16 bits separated by colons), for example: 2001:43aa:0000:0000:11b4:0031:0000:c110 is an IPv6 address. Hexadecimal characters are in the range of 0 to 9 and A to F. The A to F characters represent 10, 11, 12, 13, 14, and 15, respectively.
A little note to future CompTIA Security+ and Network+ test takers: The test will likely show you a list of IPv6 addresses and it will ask you which one is not configured correctly. Look out for addresses that contain a “g” or greater. Always remember that hexadecimal characters don’t go past the letter “F.”
Considering the total number of 16 (0-F) possible characters, each one of them can be represented as a group of 4 bits. Here’s what that looks like:
Simplifying IPv6 Addresses
Simplifying IPv6 Addresses are crazy long and it’s not easy to remember such long addresses. Fortunately, there is a system that allows us to shorten these addresses to a lesser length.
- One or more successive 16-bit groups that consist of all 0s can be omitted and represented by two colons (::). But, you can only do that once.
- If a 16-bit group begins with one or more 0s, the leading 0s can be omitted.
Therefore, if we want to shorten 2001:43aa:0000:0000:11b4:0031:0000:c110, we can use the rules above to get 2001:43aa::11b4:31:0:c110
But, There’s More…
Seems too short, right? There’s actually a lot more to IPv6 addresses; however, my purpose for this post was just to show you that there is another version of IP addresses out there.
Gibson, D. (2017). CompTIA SECURITY+ Get Certified Get Ahead SY0401 Study Guide. Virginia Beach, VA: YCDA, LLC