Introduction to IPv6

ipv6

Internet Protocol version 6 (IPv6) is the next generation of the Internet Protocol that was designed to be the succeesor to the current Internet Protocol verion  4 (IPv4).  It was designed by the Internet Engineering Task Force (IETF) to deal with the exhaustion of IPv4 addresses.

An IPv6 address has 128 bits (2128 = a number too large for human comprehension) compared to an IPv4 address which has 32 bits (about 4.3 billion  unique addresses (232 = 4,294,967,296).  IPv6 address is too long; it is quite difficult to handle considering the fact that we are having  problem communicating IPv4 address to other people.

IPv4 has the simple form of four octets or groups of decimal  numbers seperated by periods: 1.2.3.4.  Now try and imaging if we keep that same format for IPv6 address; we’d have: 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16 –  it would be way to long and too difficult to remember.  So our friends at the IETF decided to shorten it by breaking the IPv6 address into eight  16-bit  groups and switched to Hexadecimal numbering scheme with each group separated by a colon.  So a  typical IPv6 address now looks like this:

2000:F53A:0000:0000:0F14:0000:0000:0053.

Even with that, it’s still way too long so they decided shorten it further by removing the leading zero’s.  The aforementioned address could be represented  as: 2000:F53A:0:0:F14:0:0:53.  As you can see here, all the leading zero’s are removed and if any group of number has four 0’s, it’s replaced by a single 0.   If that isn’t confusing enough, IETF decided that they want to shorten IPv6 address further by replacing two or more consecutive groups of 0000’s (or 0:0 for  the short form) with a “::” leaving just the double colons between the groups.  So the same IPv6 address above can be represented as 2000:F53A::F14:0:0:53.   If you haven’t recognized it yet, we replaced “0000:0000:” with “:” right after F53A leaving “::” between F53A and F14.

Now you might question why the second consecutive groups of 0000’s didn’t get replaced; that’s because the our friends also said that you can only replace one  consecutive groups of zero’s and it’s gotta be the first occurence in the event that the two groups are of equal length.  The reason they do that is to  guarantee that we can reproduce the fully expanded address correctly.

To demonstrate that point, let’s the the same address above and modify it a little bit: 2000:0000:0000:0000:0F14:0000:0000:0053.  Now if we remove the  consecutive groups of zero’s, we’d have: 2000::F14::53.  Without the rule above, we can’t correctly reproduce the original address.  Let’s break it down:
By looking at 2000::F14::53 we know that we have three groups of and need five more to form a complete IPv6 address.  But do we put two groups of 0000’s  or three groups of 0000’s at the first occurrence of the “::”?  So to remove this ambiguity, the rule states that we can only have a single “::” in  any IPv6 address.

To summarize, IPv6 is the next generation of IP address; it is 128 bit long and resulting a really large address space – we won’t be running out of address for quite some time to come.  IPv6 address can be written in various formats with leading zero’s can be removed from each octet.

If you want to experiment with various ways to represent IPv6 format or to subnet it, check out this site.

Using Subnet Calculator in Pinkie

Subnet calculator is a must have tool for a network professional. Pinkie’s Subnet Calculator is unique in a way that it captured both IPv4 & IPv6 information in the same user interface.

IPv6’s adoption is slow partly because it’s complex, confusing and not something that one can remember easily compared to IPv4 address. Pinkie’s SubnetCalc is meant to help with IPv6 adoption by exposing IPv6 to you plus it gives you more information about IPv6 in hope that you can broaden your knowledge.

Below are some of the enhancements that were built into Pinkie:

  • Working With Subnet Mask: If you prefer to work with Subnet Mask, the dropdown box give you the option to choose subnet mask which also displays the CIDR notation.
  • Working With Prefix Length: If you prefer to work with the prefix length, the textbox named Prefix Length allows you to enter prefix length directly. This is how you can subnet an IPv6 address.
  • Related IPv6 Info: When you are working with IPv4 address, Pinkie will give you all the details like Network ID, Broadcast ID, Wildcard Mask, Block Size… and it also gives you the extra details about related IPv6 info – useful information to make the transition over to IPv6 easier.
  • Related IPv4 Info: Like wise, when you are working with IPv6 address, Pinkie will show you the detailed IPv4 information when applicable. This is done automatically. No user interaction is required.
  • Show Various IPv6 Notations: The checkboxes in the Display Options group box allows you to see IPv6 in multiple forms. Check or uncheck them to see the changes; maybe then you’ll know why IPv6 is sort of confusing at first glance.
  • IP Address Examples: The dropdown box at the bottom of the SubnetCalc tab can show you different IP address examples from IPv4 to IPv6. If you select an IP address example and click on the Tell Me More link, Pinkie will take you to the web where you can learn more about that particular type of address.

There are so many variant of IP Subnet Calculator. I try my best to bring what I think is important into Pinkie’s SubnetCalc. If you have a particular enhancement for it, feel free to send in your suggestion.