The contents of this legacy page are no longer maintained nor supported, and are made available only for historical purposes.

IPv6 Address Space Assignments to RIRs

A simple examination of the top-level IPv6 address space assignments made by IANA to Regional Internet Registries (RIRs).


The following plots show the top-level global unicast allocations made by IANA to Regional Internet Registries (RIRs), as recorded on the IANA address assignments page. These allocations do not necessarily correspond to end-site assignments nor to actual use (we would need to analyze whois data and BGP tables for that).


We exclude certain special-purpose allocations from our plots--namely, the allocations for 6Bone (3FFE::/16 serving the IPv6 deployment testbed) and 6to4 (2002::/16 for connection of IPv6 domains via IPv4 clouds). The 6Bone space contains non-permanent allocations made in support of "an IPv6 testbed network to enable various IPv6 testing as well as to assist in the transitioning of IPv6 into the Internet" (RFC 3701, "6bone (IPv6 Testing Address Allocation) Phaseout"). We exclude the 6Bone space because of its experimental nature. The 6to4 space, in contrast, can be used for production IPv6 networks on a more or less permanent basis (until native IPv6 connectivity becomes more widespread). Anyone with a globally routable IPv4 address can immediately use a prefix of the 6to4 space set aside for that IPv4 address without the involvement of IANA or the RIRs. Because use of the 6to4 space is not managed by the RIRs, and because 6to4 prefixes are not announced in IPv6 routing tables, tracking usage of the 6to4 space is challenging. Therefore, even though the 6to4 space is not an experimental allocation, we exclude it from our plots because of the analysis difficulties.

We exclude two additional special-use blocks from our analysis. The first, 2001:0C00::/23, is designated for assignment to critical infrastructure and for experimental allocations. This block also contains the non-routable documentation block 2001:0DB8::/32 (RFC 3849). The second, 2001:0000::/23, is designated for testing and experimental use by IANA (RFC 2928).

To provide numbers that can be compared with those of Geoff Huston's IPv6 Report (our numbers correspond to the RIR-Managed numbers in the report), we plot allocation sizes in terms of /32 units (also known as /32 equivalents). For example, a /22 is equivalent to 2^(32-22) = 1,024 /32's. However, because of reserved bits in the 2000::/3 space, this simplistic method does not, strictly speaking, correctly compute the actual amount of usable space (that is, space assignable to end sites) in each allocation block. RFC 2374, "An IPv6 Aggregatable Global Unicast Address Format", states that 8 bits are reserved and must be set to zero between the TLA and NLA ID's (this does not apply to the sub-TLA space, 2001::/16). Hence, generally speaking, the allocation sizes shown in the plots below overestimate the amount of usable space by about a factor of 2 (75,264 total /32's according to the simple method of counting vs. 36,352 /32's when reserved bits are set to zero).


Figure 1. Breakdown by RIR of the global unicast allocations (stacked plot). Although IPv6 allocations have occurred sporadically over the past 6 years, an overwhelming majority (92.5%) of the allocations, in terms of address space coverage, have been made in a surge in the recent 15 months (from May 2004 to the end of the studied period). This suggests a possibly increasing interest in IPv6 in recent times.

Figure 2. Breakdown by RIR of the global unicast allocations. RIPE and APNIC hold the majority (91.2%) of the allocations, with RIPE holding 48.3% of the total 75,264 /32's and APNIC holding 42.9%. ARIN holds 8.2%, and LACNIC holds less than 1% in a single /23 allocation, which is equivalent to 512 /32's, allocated on Nov 1, 2002.


Appendix: Analysis Scripts

We used the following scripts to generate these plots:

Execute these scripts as follows:

$ wget
$ ./ ipv6-unicast-address-assignments | ./plot-ianav6 >assignments.dat
$ ./ ipv6-unicast-address-assignments | ./plot-ianav6 -s >assignments-stacked.dat

To plot these data files, start Xmgrace, choose the menu item Data -> Import -> ASCII..., and then select assignments.dat or assignments-stacked.dat. It may be convenient to re-use the following Xmgrace project files, which contain our exact plot settings as well as the data for 2005-08-08: ianav6.agr and ianav6-stacked.agr.