An IPv6 unicast address is used to identify a single interface in a node. An IPv6 Unicast address identifies only one node in networks and unicast addresses are used for one to one communication. IPv6 Aggregate Global Unicast Addresses are similar to IPv4 public addresses. Aggregate Global Unicast Addresses are globally routable addresses on IPv6 Internet. RFC 3587 defines the usable range of IPv6 global unicast addresses. RFC 3587 states that out of the 128 bits in IPv6 addresses, left most three bits are must be fixed as 001. Remaining 45 bits are reserved for global routing prefix. 16 bits after that can be used for subnetting and the 64 remaning bits are the host bits.
The first fixed three bits (001) and the 45 bit global routing prefix (45+3 = 48 bits) together can be assigned to an organization as their IPv6 prefix. Since the leftmost three bits are reserved as "001" for Global unicast IPv6 addresses, the range of Global Unicast Addresses available now are from 2000 to 3FFF, as shown below.
|Values for left most part
Global Unicast Addresses
|In Binaries||In Hexadecimals|
Global Unicast Addresses prefixes: The prefix is the part of the IPv6 address that indicates the network. Prefixes for IPv6 routes and subnet identifiers are similar to Classless Inter-Domain Routing (CIDR) notation for IPv4. For the IPv4 network 172.16.0.0 255.255.0.0, we can consider 172.16/16 as the prefix.
Consider an IPv6 example. 21DA:D3::/48 (the first three fixed bits 001 and remaining 45 bits, 45+3 = 48 bits) is a route prefix and 21DA:D3:0:2F3B::/64 is a subnet prefix. Here the fourth part of the IPv6 address "2F3B" is the subnet part.
Which means that, currently first 48 bits of an IPv6 address are used to identify the network globally. The next 16 bits are used for subnetting (which makes 48+16=64 bits, network part) and the remaining 64 bits are used for identifying the hosts (host part).
All addresses that are not the unspecified, loopback, link-local, or multicast addresses are unicast and anycast addresses. Currently IANA has assigned only 2000::/3 addresses (IPv6 addresses starting from 2000 to 3FFFF)to the global pool. Check the below IANA link to get more information about IANA IPv6 address allocation.
To explain it in more clear way, 128 bit IPv6 global unicast addresses has two 64-bit parts. Leftmost 64-bit address defines globally unique prefix. In the leftmost 64 bits, first 48 bits are assigned by ISP to the organization and the remaining 16 bits can be used by the organization for subnetting. By using 16 bits for subnetting, we will get 65536 subnets (2^16). The remaining 64 bits on the right side of 128 bit IPv6 address is used to identify the hosts in the subnet.