We know that IPv6 addresses are going to replace IPv4 addresses because IPv4 address space is running out of space. The IPv4 addresses are 32-bit while the IPv6 addresses are 128 bit which allows more hosts. The IPv6 allow 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 the human being to seize.
Presently we are using CIDR, VLSM, and NAT to save IPv4 address space as much as possible. The CIDR, VLS as well as NAT are not available in IPv6 addresses. The IPv6 subnetting requires a different approach than IPv4 subnetting. Because there are too many addresses, therefore the reason for IPv6 subnetting is totally different.
IPv4 subnet limits the broadcast domains which increase the efficiency and speed of the network. We also required subnetting for better management of IP addresses. The Variable Length Subnet Mask (VLSM) and Fixed Length Subnet Mask helps to keep IPv4 address space. The IPv6 subnetting is not concerned with keeping address space. The /64 is the smallest recommended subnet prefix in IPv6 addresses.
This means if you have a few devices on your subnet or your network you must use /64 prefix address that has 264 IP addresses. The important 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:
- Global Unicast Addresses
Each IPv6 enabled device can create a unique link-local address based on the MAC address of that device Using EUI process.
The IPv6 Global Unicast Addresses
The IPv6 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 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 support 18,000,000,000,000,000,000 host IPv6 address for each subnet. IPv6 subnetting are easier than IPv4 addresses because there is no binary conversion in IPv6 subnetting. It has just required counting in hexadecimal.
Example of Subnetting IPv6 Addresses
Suppose there is IPv6 address 2001:1D11:220A::/48 has assigned to an organization with 16-bit subnet ID. The network administrators can subnet the IPv6 address just counting /16-bit subnet ID in hexadecimal. This would allow the administrator to create 65,536 /64 subnet. The table below illustrates the subnetting procedure of IPv6 address.
IPv6 Subnet Allocation
An IPv6 network needed subnet for each LAN as well as for the WAN link. We cannot subnet the IPv6 WAN link network further like IPv4 addresses. Even if this may “waste” more addresses, that is not a concern when using IPv6.
As shown in the figure above, there are 6 subnetworks which allotted six subnets, with the subnet IDs 0000 through 0004 are assigned to LANs and for a subnet with ID 0005 assigned to WAN links. Every /64 subnet will give more addresses than the requirement of these Local Area Networks (LANs) including Wide Area Network (WAN). As shown in the Figure, each Local Area Network (LAN) segment and the Wide Area Network (WAN) link assigned a /64 subnet.