When I was first getting into IP subnetting, I learned that subnetting was the process of taking an existing network and breaking it up into smaller networks. When learning subnetting, there were usually 2 questions asked. I saw these 2 questions in books, worksheets, even interviews.
1) How many hosts do you need in your network?
2) How many networks do you need in your internetwork?
While at Cisco Live, I had the opportunity to attend a very enlightening IPv6 Planning course. After the course, a fellow attendee wanted to see a real life application of an IPv6 plan. So, I decided to oblige. I had been working on an IPv6 plan for my organization and wanted to get some ideas. In IPv6 you can throw out one of the above questions. There is so much address space, it’s not about the number of hosts anymore -- it’s all about the number of networks.
In IPv6, there are 128 bits. The first 64 bits identify the network and the last 64 bits identify the host. Lets take a look at an IPv6 address. I have fully extended this address so we can see all of the bits, or shall I say, nibbles. Each digit represents 4 bits.
The Network portion is in blue and the host portion is in red. In IPv6, a /64 is recommended not only for management ease but because stateless auto configuration requires it. If you want a network smaller than a /64 (yes it is technically possible), you better use DHCPv6. However, keeping /64s is the recommended best practice.
So, if it's not best practice to break up a /64 to get more networks (subnets), what is a network admin to do? Use the last nibbles of the network portion of the address!
Lets look at our address again. The blue portion is the network. The Purple portion contains the subnet bits, and the red portion is the host portion.
Here is an example of a plan for a large Enterprise office.
fc00:1948:0420:0000:0000:0000:0000:0001 Main Data network
fc00:1948:0420:0001:0000:0000:0000:0001 Voice Network
fc00:1948:0420:0002:0000:0000:0000:0001 Internal Wireless Network
fc00:1948:0420:0003:0000:0000:0000:0001 Video Network
fc00:1948:0420:0004:0000:0000:0000:0001 Management Network
fc00:1948:0420:0005:0000:0000:0000:0001 BYOD Network
fc00:1948:0420:0006:0000:0000:0000:0001 HR Dept. Network
fc00:1948:0420:0007:0000:0000:0000:0001 Accounting Dept. Network
fc00:1948:0420:0008:0000:0000:0000:0001 IT Dept. Network
fc00:1948:0420:0009:0000:0000:0000:0001 Guest Wireless Network
fc00:1948:0420:000a:0000:0000:0000:0001 Spare Network
fc00:1948:0420:000b:0000:0000:0000:0001 Spare Network
fc00:1948:0420:000c:0000:0000:0000:0001 Spare Network
fc00:1948:0420:000d:0000:0000:0000:0001 Spare Network
fc00:1948:0420:000e:0000:0000:0000:0001 Spare Network
fc00:1948:0420:000f:0000:0000:0000:0001 Spare Network
Best practices suggest to subnet at the nibble boundary instead of the bit boundary that we are used to in IPv4. Because each digit in an IPv6 address is a nibble, you would want to plan accordingly. If a /64 is our baseline, the next nibble would be a /60, which gives you 16 networks! Can you subnet outside of the nibble boundary? Logically thinking, you could say /63 is two /64 networks, /62 is four /64 networks, and /63 is eight /64 networks. Technologically, you could do it that way, and this kind of thinking is still being debated. But to make it easy on yourself, nibble boundary subnetting is recommended.
Let's look at a comparable plan in IPv4. In this example I will use a /24 subnet mask as our “default” mask
192.168.0.0 Main Data Network
192.168.1.0 Voice Network
192.168.2.0 Internal Wireless Network
192.168.3.0 Video Network
192.168.4.0 Management Network
192.168.5.0 BYOD Network
192.168.6.0 HR Dept. Network
192.168.7.0 Accounting Dept. Network
192.168.8.0 IT Dept. Network
192.168.9.0 Guest Wireless Network
192.168.10.0 Spare Network
192.168.11.0 Spare Network
192.168.12.0 Spare Network
192.168.13.0 Spare Network
192.168.14.0 Spare Network
192.168.15.0 Spare Network
Do you see the pattern? The basic concepts of IP subnetting are still the same. Aggregation still plays a huge role. The hardest part is dismissing the need to plan for the number of hosts in each network. After all, worrying about hosts has become a habit that is well over a decade old for me! Forget about the number of hosts -- you will have more than you’ll ever need. It's all about the number of networks!