Subnetting IPv6 Addresses

As I say in my previous IPv6 lessons that IPv6 addresses are going to replace IPv4 addresses?  The reason is that IPv4 address space is running out. So, the 32-bit IPv4 addresses are not enough to link every device which wants connectivity to the Internet. The IPv6 is 128 bit address which allows approximately, 340,282,366,920,938,463,463,374,607,431,768,211,456, or 340 undecillion addresses, almost equivalent to each particle of sand on the Earth. Basically, the addresses are too large for the human being to seize.

Presently CIDR, VLSM, and NAT are being used to save IPv4 address space as much as possible. These tools are not available in IPv6 addresses. The subnetting of IPv6 requires a different approach than IPv4 subnetting. The main reason is that with IPv6 there are so many addresses, so the reason for subnetting is totally different.

IPv4 subnetting limiting the broadcast domains and it is also required for managing IP addresses shortage. The VLSM and subnet mask helps to keep IPv4 addresses. The IPv6 subnetting is not concerned with keeping address space. The /64 is the smallest recommended subnet in IPv6. This means that even if you have few devices on your subnet you must use /64 that has 264 IP addresses. The important thing that IPv6 does not use network and broadcast addresses. 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 IPv6 enabled device can create a unique link-local address based on the MAC address of that device. The method of link-local address already describes in the previous article. The method changes the MAC address to 64-bits from 48-bits.

The IPv6 Global Unicast Addresses

The IPv6 global unicast address normally consists of a /48 global routing prefix, a 16-bit subnet ID, and a 64-bit interface ID. The figure illustrates the global unicast address.

The subnet ID includes more than enough subnets. IPv6 subnetting is about building an addressing hierarchy based on the number of sub-networks needed.

Subnetting IPv6 addresses Using Subnet ID

The 16-bit subnet ID section of IPv6 global unicast address can be used to create internal 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 support 18,000,000,000,000,000,000 or 18 quintillion host IPv6 address per subnet. Subnetting of IPv6 subnetting is much easier than IPv4 because there is no binary conversion required. It is just required counting in hexadecimal.

Example of Subnetting IPv6 Addresses

Suppose there are IPv6 address 2001:AD10:110B::/48 has been assigned to an organization with 16-bit subnet ID. The network administrator can subnet the IP address just counting /16 bit in hexadecimal upward. This would allow the administrator to create 65,536 /64 subnets. The table below illustrates the subnetting procedure of IPv6 address.



























IPv6 Subnet Allocation

Any IPv6 based network required subnets for each LAN as well as for the WAN link. Unlike IPv4, the


 IPv6 WAN link subnet will not be subnetted further. Although this may “waste” addresses, that is not a concern when using IPv6.

subnetting ipv6 addresses

As shown in Figure 1, there is 5 subnetwork which allotted first five subnets, with the subnet IDs 0000 through 0004 and for four WAN links which allotted subnet from IDs 0005 through to 0008. for this example. Each /64 subnet will provide more addresses than will ever be needed. As shown in the Figure, each LAN segment and the WAN link is assigned a /64 subnet.  Similar to configuring IPv4, the Figure 2 displays that every router interfaces have been configured to be on a different IPv6 subnet.