IPv6 subnetting and IPv4 subnetting are very different so you may need a tool to assist you

Have you learned to think and dream in hex yet? That is what you are going to have to look forward to as we transition to using IPv6. Because we will be working in hexadecimal numbers we may need a little assistance converting hex to something more visual when creating our IPv6 addressing plans. That is why IPv6 subnet calculators may be useful. However, there are few subnet calculators that can handle IPv6 addresses. Here is a list of the IPv6-capable subnet calculators I have been able to discover.

With the combination of CIDR and the global depletion of IPv4 addresses we have all learned to do IPv4 subnetting in our sleep. We divide and chop up our IPv4 blocks into smaller and smaller subnets. We all know how to deftly use /28s and /29s to squeeze every little IP address out of our public address space. The use of /30 IPv4 subnets are a fact of life on a point-to-point WAN. Even if you are using private (RFC 1918) addresses we are still having to perform extreme CIDR contortions.

I am willing to admit that in 1990 I addressed my first IPv4 network using 123.45.67.0/16. At the time I had no concept of what IPv4 addresses were used for or how they were subnetted. We all have to start somewhere, right? I learned to do IP subnetting in the mid-1990s when many IPv4 networks were being widely deployed. We used Microsoft Excel spreadsheets to create our IPv4 addressing plans. Don't laugh. We may be tempted to return to those familiar techniques with the adoption of IPv6.

I must first clarify one thing. For IPv4 we were allocated a prefix and then performed subnetting to divide up the address block into multiple subnets for hosts on different networks. The hosts would use the least-significant bits in the IP address to assign their host number. With IPv4 we used CIDR notation but with IPv6 the prefix can use a diverse set of prefix lengths. IPv6 addresses do not follow any type of "class" structure like IPv4 addresses did (Class A, B, C) so all IPv6 networks basically use a Variable Length Subnet Mask (VLSM). Typically the word prefix is used to describe the larger aggregated address block and a subnet is a smaller fraction of that larger block.

In IPv6, generally speaking, the first 64 bits are the prefix and the last 64 bits are the host portion. The following IETF RFCs provide guidance on choosing prefix lengths for different types of links. The IETF has created an RFC "IP Version 6 Addressing Architecture" (RFC 4291) to help organizations understand how to perform IPv6 addressing. This RFC obsoletes the previous RFC 3513, "IP Version 6 Addressing Architecture". Another IETF RFC "IPv6 Unicast Address Assignment Considerations" (RFC 5375) gives additional guidance on IPv6 addressing. Because of the method that IPv6 uses ICMPv6 to perform neighbor discovery (NDP) it is advisable to use a /64 prefix for all IPv6 networks that contain hosts.

However, many people like me feel that this is particularly wasteful. Similar to how a /30 subnet is used on an IPv4 network for a point-to-point link, a /126 prefix can be configured for an IPv6 network point-to-point link. A /126 prefix length can be configured for a back-to-back link between two routers where no hosts will share the link. One of the first IETF RFCs to discuss the use of /127 prefix lengths was "Use of /127 Prefix Length Between Routers Considered Harmful" (RFC 3627). However a new IETF draft "Using 127-bit IPv6 Prefixes on Inter-Router Links" draft-kohno-ipv6-prefixlen-p2p-03.txt identifies the reasons why an organization may want to use /127 prefix lengths for back-to-back router-to-router point-to-point links.

It is possible to configure a device with a full "host-mask" and use a /128 prefix length. This convention would create a single IPv6 address prefix. This type of prefix length would be suitable for a single address such as a loopback interface or an IPv6-capable host. We use /32 prefix lengths in IPv4 to do similar things like Route Health Injection (RHI) or anycast.

Another idea was put forth at the NANOG48 conference earlier this year. The "IPv6 Link Numbering Panel" discussed the use of /112 prefixes. I like the concept but it sure is not compatible with the auto-configuration techniques implemented in many host operating systems.

With the advent of IPv6 we are all starting out with that same level of "noobosity". Without extensive IPv6 addressing operational experience we are likely to make many mistakes with our addressing plans. Luckily, IPv6 gives us enough addresses that we can "do-over" many times until we get it right. When you are moving to IPv6 you will need to handle the subnetting of your large block of IPv6 addresses. Even if you have been allocated a /48 you will need to divide up that prefix into smaller prefixes. When we first learned how to subnet IPv4 it was helpful to check ourselves using an IP address subnet calculator. One of the things you may want to look for as you embark on learning IPv6 is an IPv6-capable prefix calculator. However, there are few out there. Here are a few that I have come across.

The Cacti developer pepj2 created an IPv4 & IPv6 subnet calculator. There is a web-based version that looks very similar to the one pepj2 developed. The SubnetOnline.com site has quite a few other useful IPv4 and IPv6 tools.

There are also a handful of web-based IPv6-capable prefix calculators. Some of these are very useful and work well with IPv6 prefixes and subnets.

Bitcricket is mostly an IPv4 subnet tool but has a few IPv6 features. The IPv6 tab shows many of the standard IPv6 address types and shows what address your system currently has and what block it is part of. The IPv4 features are useful for when you are using transition techniques that embed the 32-bit IPv4 address into the 128-bit IPv6 address such as 6to4, ISATAP, or Teredo.

I was kind of hoping that I would find a good subnet calculator at Solarwinds.com. Solarwinds makes available a bunch of complimentary and cost-effective tools for managing IP networks. Solarwinds does offer a free subnet calculator, but unfortunately, it is IPv4-only.

As you are planning your deployment of IPv6 you may also find that it is beneficial to invest in an IPv6-capable IP Address Management (IPAM) solution. There are many on the market and choosing the right one for your organization may prove complicated. Some of the IPAM solutions also have embedded IPv6 prefix calculators.