IPv6 Subnetting

We know that IP version 6 addresses will replace IP version 4 addresses because IP version 4 address space is running out. We use CIDR, VLSM, and NAT to save as much IPv4 address space as possible. The CIDR, VLSM, and NAT are not available in IPv6 addresses. IPv6 subnetting requires a different approach than IPv4 subnetting. Because there are too many addresses, the reason for IPv6 subnetting is different.

The IP version 4 addresses are 32-bit, while the IP version 6 addresses are 128-bit, which allows more hosts. The IP version 6 allows about 340,282,366,920,938,463,463,374,607,431,768,211,456, or 340 undecillion addresses, almost equal to each particle of sand on the Earth. The addresses are too large for humans to seize.

The IPv4 subnet limits the broadcast domains, increasing the network’s efficiency and speed. We also required subnetting for better management of IP addresses. The Variable Length Subnet Mask (VLSM) and Fixed Length Subnet Mask help to maintain IPv4 address space. IPv6 subnetting is not concerned with maintaining address space. The /64 is the smallest recommended subnet prefix in IPv6 addresses.

If you have a few devices on your subnet or your network, you must use a /64 prefix address with 264 IP addresses. The critical thing about IPv6 is that it does not use network ID and broadcast addresses. So, an address where the host bits are all 0s or all 1s is still valid. There are two types of assignable IPv6 addresses:

  1. link-local
  2. Global Unicast Addresses

Each IP version 6-enabled device can create a unique link-local address based on the MAC address of that device Using the EUI process.

The IPv6 Global Unicast Addresses

The IP version 6 global unicast address generally consists of a /48 global routing prefix, a 16-bit subnet ID, and a 64-bit interface ID. We already discussed the IPv6 Global Unicast addresses. You can see that the subnet ID is 16 bit, which is more than enough subnets. IPv6 subnetting is about building an addressing hierarchy based on the number of sub-networks needed.

IPv6 Subnetting Using Subnet ID

The 16-bit subnet ID of the IPv6 global unicast address is used to create more subnets. The subnet ID provides enough subnets and hosts support for any organization.  The 16-bit section can create 65536/64 subnets without borrowing any bit from the interface ID section of the address. Each subnet supports 18,000,000,000,000,000,000 host IPv6 addresses for each subnet. IPv6 subnetting is easier than IPv4 addresses because there is no binary conversion in IPv6 subnetting. It just required counting in hexadecimals.

Example of Subnetting IPv6 Addresses

Suppose an IP version 6 address 2001:1D11:220A::/48 is assigned to an organization with a 16-bit subnet ID. The network administrators can subnet the IP version 6 address just counting /16-bit subnet ID in hexadecimal. This would allow the administrator to create a 65,536 /64 subnet. The table below illustrates the subnetting procedure of the IPv6 address.

WP Table Builder

IPv6 Subnet Allocation

An IP version 6 network needs a subnet for each LAN and for the WAN link. We cannot further subnet the IP version 6 WAN link network like IP version 4 addresses. Even if this may “waste” more addresses, that is not a concern when using IP version 6.

IPv6 Subnetting

As shown in the figure above, there are 6 subnetworks which allotted six subnets, with the subnet IDs 0000 through 0004 assigned to LANs and a subnet with ID 0005 assigned to WAN links. Every /64 subnet will give more addresses than these Local Area Networks (LANs) require, including Wide Area Networks (WANs). As shown in the Figure, each Local Area Network (LAN) segment and the Wide Area Network (WAN) link are assigned a /64 subnet.