Most businesses and networks today use IPv4 as their network addressing standard. With the exception of some DoD and government agencies few people have adopted IPv6. But what is so different about IPv6 versus IPv4? In this post we compare the differences between IPv6 and IPv4 and review some of the basics of what makes up an IPv6 address.
IPv4 is the current addressing standard on the Internet today. An IPv4 (or IP version 4) address is made of of four parts or octets, each containing 8 bits (hence the name octet). Each octet can represent a binary number from 0 through 255. So with this in mind there can be 4,294,967,296 possible ip addresses.
The table below shows a break down of a common IPv4 address into binary broken down by octet:
An IPv4 address is 32 bits long. Compare this to an IPv6 address which has 128 bits. It’s huge in comparison!
The way an IPv6 address is written is different also. An IPv6 address has eight 16-bit sections, written in hexidecimal. Here is an example of an IPv6 address:
Writing IPv6 addresses can be a bit daunting as they are 4 times as long as what we are used to. Luckily IPv6 does come with some shortcuts in the annotation. We can write the above address like this:
Anytime you have sections of contiguous zero bits, these can be shorten to double colons. So anytime you see a set of two colons in a row you know everything in between is zero bits. NOTE: only one set of zeros can be replaced by double colons in an IPv6 address.
Making IPv6 Less Scary.
Another way an IPv6 address can be written is by taking the last 32 bits of the address and writting them as an IPv4 address. This makes IPv6 a lot less intimidating when you look at it this way. Here’s an example:
Other Difference Between IPv4 and IPv6
There are more differences between the two addressing standards. With IPv4, the “CLASS” of an address can be figured out by the first octet. For example:
CLASS A (0.0.0.0 through 188.8.131.52)
CLASS B (184.108.40.206 through 220.127.116.11)
CLASS C (192.0.0.0 through 18.104.22.168)
CLASS D (multicast 22.214.171.124 through 126.96.36.199)
CLASS E (experimental 240.0.0.0 through 255.255.255.255)
Also, in IPv4 there are special addresses:
Loopbacks (127.0.0.0 through 127.0.0.255
RFC 1918 private addresses (10.x.x.x, 172.16-31.255.255, 192.168.x.x)
DHCP services not available (169.254.x.x)
Compare this to IPv6.
With IPv6 the first several bits describe an IP address “TYPE”. (remember we are talking about the first couple of “bits” in the address) For example:
010 - Unicast addresses for service provider allocation (4000::0 through 5FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF)
100 - Geographic IP addresses (8000::0 through 9FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF)
1111 1110 10 - link local addresses (FE80::0 through FEBF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF)
1111 1110 11 - site local addresses (FEC0::0 through FEFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF)
1111 1111 - multicast addresses (FF00::0 through FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF)
Also, just like in IPv4, IPv6 has some special addresses:
0::0 - unspecified
0::188.8.131.52 through 0::255.255.255.255 - IPv4 addresses
0::0001 - loopbacks
One final thing to note is that with IPv6 addresses, there are no broadcast addresses. Instead IPv6 uses multicast (or more accurately an “all hosts multicast address”).
There are many more things that are different between IPv4 and IPv6. The more you learn about IPv6 the less intimidating it becomes. There are plenty of books and RFC’s about IPv6. Check it out and start becoming familiar with IPv6 now. The sooner you know it the better off you’ll be in the long run.