IPv6 Address Types
We begin this section with a brief look at the IPv6 address space and how the different types of addresses are allotted within this space. Next, we examine the various addresses within three IPv6 address types: unicast, multicast, and anycast.
IPv6 address types are defined in RFC 4291, IP Version 6 Addressing Architecture. In this section, we examine the several types of unicast addresses, three types of multicast addresses, and the anycast address. We discuss some of these addresses in more detail than others. Global unicast addresses, link-local addresses, and multicast addresses are examined more closely in Chapters 5, 6, and 7.
IPv6 Address Space
IPv4, with its 32-bit address space, provides for 4.29 billion (4,294,967,296) addresses. IPv6, with its 128-bit address space, provides for 340 undecillion addresses, or 340 trillion trillion trillion addresses. That’s 340,282,366,920,938,463,463,374,607,431,768,211,456 addresses—a lot of addresses!
Many analogies have been made to help comprehend 340 undecillion (not all of which are completely accurate):
“3,911,873,538,269,506,102 addresses per square meter of the surface of the planet Earth”1
The number of grains of sand on Earth
10 nonillion addresses assigned to every person on Earth
As a disclaimer, I didn’t do the math to calculate the number of square meters on the surface of Earth, and I haven’t had a chance to count all the grains of sand on Earth either. And an argument can be made that this would be purely theoretical because of how addresses are allocated. Regardless, I think we can all agree that IPv6 provides an extremely large address space.
Figure 4-4 shows a chart of the powers of 10 to give a better idea of the tremendous increase in the IPv6 address space.
Figure 4-4 Powers of 10: Comparing IPv4 and IPv6 Address Space
As mentioned in Chapter 1, “Introduction to IPv6,” this means that we can now design IPv6 addressing schemas based on management and security plans, without the concern for public address depletion that we face with IPv4. (This will become even more evident in Chapter 5, when we discuss the global unicast address and subnetting.)
Table 4-5 shows the Internet Assigned Numbers Authority’s (IANA’s) allocation of the 128-bit IPv6 address space. Notice the allocations for global unicast, unique local unicast, link-local unicast, and multicast addresses. It may be a little difficult to visualize this using the table, so Figure 4-5 shows this same allocation in a pie chart to make it a little easier. Using the first 3 bits, the chart divides the IPv6 pie into eight slices (that is, 3 bits gives us eight possibilities). There are portions within the 000 and 111 slices used to indicate very small allocations (the chart shows them larger than the actual allocations) from this part of the address space.
Table 4-5 IANA’s Allocation of IPv6 Address Space*
Leading Bits | Address | Range of First Hextet | Allocation | Fraction of Space | |
000x | 0000 1fff |
1/8 | |||
0000 0000 | 0000::/8 | 0000 00ff |
Unspecified, loopback, embedded |
1/256 | |
0000 0001 through 0001 xxxx |
0000::/3 | 0100 1fff |
Reserved by IETF | Remaining 1/8 | |
001x | 2000::/3 | 2000 3fff |
Global unicast | 1/8 | |
010x | 4000::/3 | 4000 5fff |
Reserved by IETF | 1/8 | |
011x | 6000::/3 | 6000 7fff |
Reserved by IETF | 1/8 | |
100x | 8000::/3 | 8000 9fff |
Reserved by IETF | 1/8 | |
101x | a000::/3 | a000 bfff |
Reserved by IETF | 1/8 | |
110x | c000::/3 | c000 dfff |
Reserved by IETF | 1/8 | |
111x | 1/8 | ||||
1110 xxxx | e000::/4 | e000 efff |
Reserved by IETF | 1/16 | |
1111 0xxx | f000::/5 | f000 f7ff |
Reserved by IETF | 1/32 | |
1111 10xx | f800::/6 | f800 fbff |
Reserved by IETF | 1/64 | |
1111 110x | fc00::/7 | fc00 fdff |
Unique local unicast | 1/128 | |
1111 1110 0 | fe00::/9 | fe00 fe74 |
Reserved by IETF | 1/512 | |
1111 1110 10 | fe80::/10 | fe80 febf |
Link-local unicast | 1/1024 | |
1111 1110 11 | fec0::/10 | fec0 feff |
Reserved by IETF; previously sitelocal (deprecated) |
1/1024 | |
1111 1111 | ff00::/8 | ff00 ffff |
Multicast | 1/256 | |
* In this table, the “Range of First Hextet” column does not show the complete range of the address space. For example, the actual range of the global unicast address space would be 2000:: through 3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff. |
Figure 4-5 IANA’s Allocation of IPv6 Address Space in 1/8 Sections
In both Table 4-5 and Figure 4-5, the IPv6 address space is divided into eighths, using the leading 3 bits (000, 001, 010, 011, 100, 101, 110, and 111). This information might be a little confusing right now, but it will become more obvious as you examine each of the IPv6 address types.