The most obvious distinguishing feature of IPv6 is its use of much larger addresses. The size of an address in IPv6 is 128 bits, a bit-string that is four times longer than the 32-bit IPv4 address. A 32-bit address space allows for 232, or 4,294,967,296, possible addresses. A 128-bit address space allows for 2128, or 340,282,366,920,938,463,463,374,607,431,768,211,456 (or 3.4 x 1038), possible addresses.
In the late 1970s, when the IPv4 address space was designed, it was unimaginable that it could ever be exhausted. However, due to changes in technology and an allocation practice that did not anticipate the recent explosion of hosts on the Internet, the IPv4 address space was consumed to the point that by 1992, it was clear a replacement would be necessary.
With IPv6, it is even harder to conceive that the IPv6 address space will ever be consumed. To help put this number in perspective, a 128-bit address space provides 665,570,793,348,866,943,898,599 (6.65 x 1023) addresses for every square meter of the Earth's surface.
It is important to remember that the decision to make the IPv6 address 128 bits in length was not so that every square meter of the Earth could have 6.65 x 1023 addresses. Rather, the relatively large size of the IPv6 address is designed to be divided into hierarchical routing domains that reflect the topology of the modern-day Internet. The use of 128 bits allows for multiple levels of hierarchy and flexibility in designing hierarchical addressing and routing that is currently lacking on the IPv4-based Internet.
Addresses Per Square Meter of the Earth
The number of 6.65 x 1023 addresses for every square meter of the Earth's surface is derived from the fact that the surface of the Earth is approximately 197,399,019 square miles and there are 2.59 x 106 square meters per square mile. So, the Earth's surface is 197,399,019 x 2.59 x 106, or 511,263,971,197,990 square meters.
Therefore, there are 340,282,366,920,938,463,463,374,607,431,768, 211,456 / 511,263,971,197,990, or 665,570,793,348,866,943,898,599 (or 6.65 x 1023) addresses for each square meter of the Earth's surface.
It is easy to get lost in the vastness of the IPv6 address space. As we will discover, the unthinkably large 128-bit IPv6 address that is assigned to an interface on a typical IPv6 host is composed of a 64-bit subnet identifier and a 64-bit interface identifier (a 50-50 split between subnet space and interface space). The 64 bits of subnet identifier leave enough addressing room to satisfy the addressing requirements of three levels of Internet service providers (ISPs) between your organization and the backbone of the Internet and the addressing needs of your organization. The 64 bits of interface identifier accommodate the mapping of current and future link-layer media access control (MAC) addresses.
Similar to the way in which the IPv4 address space was divided into unicast addresses (using Internet address classes) and multicast addresses, the IPv6 address space is divided on the basis of the value of high-order bits. The high-order bits and their fixed values are known as a Format Prefix (FP).
Table 3-1 lists the allocation of the IPv6 address space by FPs as defined in RFC 2373.
Table 3-1. Current Allocation of the IPv6 Address Space
Allocation | Format Prefix (FP) | Fraction of the Address Space |
---|---|---|
Reserved | 0000 0000 | 1/256 |
Unassigned | 0000 0001 | 1/256 |
Reserved for Network Service Access Point (NSAP) allocation | 0000 001 | 1/128 |
Unassigned | 0000 010 | 1/128 |
Unassigned | 0000 011 | 1/128 |
Unassigned | 0000 1 | 1/32 |
Unassigned | 0001 | 1/16 |
Aggregatable global unicast addresses | 001 | 1/8 |
Unassigned | 010 | 1/8 |
Unassigned | 011 | 1/8 |
Unassigned | 100 | 1/8 |
Unassigned | 101 | 1/8 |
Unassigned | 110 | 1/8 |
Unassigned | 1110 | 1/16 |
Unassigned | 1111 0 | 1/32 |
Unassigned | 1111 10 | 1/64 |
Unassigned | 1111 110 | 1/128 |
Unassigned | 1111 1110 0 | 1/512 |
Link-local unicast addresses | 1111 1110 10 | 1/1024 |
Site-local unicast addresses | 1111 1110 11 | 1/1024 |
Multicast addresses | 1111 1111 | 1/256 |
The current set of unicast addresses that can be used with IPv6 nodes consists of aggregatable global unicast addresses, link-local unicast addresses, and site-local unicast addresses. These addresses represent only 12.7 percent of the entire IPv6 address space.