IPv6 – Finding Subnet Ranges

internetipip addressipv6subnet

I need to find a single subnet range to cover 10,000 IP addresses (hosts), given the IPv6 Address 2405:1300:c5c1:322::/108 (for example)

I am aware of how to do subnet in IPv4 but cannot grasp the concept of subnetting in IPv6. Any help or resources would much appreciated.

Best Answer

Basically, with IPv6, most subnets will just be /64. Using subnets of other sizes, with a couple of exceptions, will break features of IPv6. See RFC 5375, IPv6 Unicast Address Assignment Considerations, especially Section 3. Subnet Prefix Considerations:

Using a subnet prefix length other than a /64 will break many features of IPv6, including Neighbor Discovery (ND), Secure Neighbor Discovery (SEND) [RFC3971], privacy extensions [RFC4941], parts of Mobile IPv6 [RFC4866], Protocol Independent Multicast - Sparse Mode (PIM-SM) with Embedded-RP [RFC3956], and Site Multihoming by IPv6 Intermediation (SHIM6) [SHIM6], among others. A number of other features currently in development, or being proposed, also rely on /64 subnet prefixes.

The exceptions to this include loopback addresses (/128) and point-to-point links (/127).

There are other RFCs which discuss this, including RFC 7421, Analysis of the 64-bit Boundary in IPv6 Addressing, particularly Section 4. Effects of Varying the Interface Identifier Length:

This section of the document analyzes the impact and effects of varying the length of an IPv6 unicast IID by reducing it to less than 64 bits.

4.1. Interaction with IPv6 Specifications

The precise 64-bit length of the IID is widely mentioned in numerous RFCs describing various aspects of IPv6. It is not straightforward to distinguish cases where this has normative impact or affects interoperability. This section aims to identify specifications that contain an explicit reference to the 64-bit length. Regardless of implementation issues, the RFCs themselves would all need to be updated if the 64-bit rule was changed, even if the updates were small, which would involve considerable time and effort.



In any case, if you want to use other subnet sizes, the subnet concept is exactly the same for IPv4 and IPv6. The only real difference is obvious: IPv4 addresses are 32 bits, and IPv6 addresses are 128 bits. The recommendation for IPv6 is that you use nibble boundaries, but that is not a requirement. If you need a subnet with 10,000 hosts, then you figure out the next larger power of 2 which can hold that many hosts (14, in this case, which gives you 16,384 hosts). Subtract 14 bits from 128, and you get /114. One other difference between IPv4 and IPv6 is that you do not need to subtract two from the number of hosts in the subnet since there is no broadcast in IPv6, you can use the all-zeroes and all-ones addresses.

Related Topic