Unique local address
A unique local address (ULA) is an Internet Protocol version 6 (IPv6) address in the address range fc00::/7. Its purpose in IPv6 is analogous to IPv4 private network addressing. Unique local addresses may be used freely, without centralized registration, inside a single site or organization or spanning a limited number of sites or organizations. They are routable only within the scope of such private networks, but not in the global IPv6 Internet.
In 1995, the IPv6 address block fec0::/10 was reserved for site-local addresses, that could be used within a "site" for private IPv6 networks. However, insufficient definition of the term site led to confusion over the governing routing rules.
As a result, the IETF reserved the address block fc00::/7 in October 2005 for use in private IPv6 networks and defined the associated term unique local addresses.
The address block fc00::/7 is divided into two parts, fc00::/8 and fd00::/8.
The block fd00::/8 is defined for /48 prefixes, formed by setting the forty least-significant bits of the prefix to a randomly generated bit string. This results in the format fdxx:xxxx:xxxx:: for a prefix in this range. RFC 4193 offers a suggestion for generating the random identifier to obtain a minimum-quality result if the user does not have access to a good source of random numbers.
A routing prefix in the range fd00::/8 may be constructed by generating a random 40-bit hexadecimal string, taken for this example to be 0xe48dba82e1. The string is appended to the prefix fd00::/8. This forms the 48-bit routing prefix fde4:8dba:82e1::/48. With this prefix, 65536 subnets of size /64 are available for the private network: fde4:8dba:82e1::/64 to fde4:8dba:82e1:ffff::/64.
Prefixes in the range fd00::/8 have similar characteristics as those of the IPv4 private address ranges: They are not allocated by an address registry and may be used in networks by anyone without outside involvement. They are not guaranteed to be globally unique. Reverse Domain Name System (DNS) entries (in ip6.arpa) for fd00::/8 ULAs cannot be delegated in the global DNS.
As fd00::/8 ULAs are not meant to be routed outside their administrative domain (site or organization), administrators of interconnecting networks normally do not need to worry about the uniqueness of ULA prefixes. However, if networks require routing ULAs between each other in the event of a merger, for example, the risk of address collision is small if the RFC 4193 selection algorithm was used.
Attempts of registration and allocation
SixXS attempted to maintain a voluntary registration database for ULA prefixes to reduce the risk of duplication. When the SixXS services were discontinued on 6 June 2017, the database became read-only.
For the range fc00::/8, different design decisions have been proposed to the IETF, trading the non-uniqueness for the requirement that the range be managed by a central allocation authority. However, such attempts at standardizing this range have not resulted in a Request for Comments.
- R. Hinden; B. Haberman (October 2005). Unique Local IPv6 Unicast Addresses. IETF. doi:10.17487/RFC4193. RFC 4193.
- R. Hinden; S.Deering (December 1995). IP Version 6 Addressing Architecture. IETF. doi:10.17487/RFC1884. RFC 1884.
- C. Huitema; B. Carpenter (September 2004). Deprecating Site Local Addresses. IETF. doi:10.17487/RFC3879. RFC 3879.
- Internet Draft "Centrally Assigned Unique Local IPv6 Unicast Addresses". IETF. 2004–2007.
- Internet Draft "An Analysis of Centrally Assigned Unique Local Addresses". IETF. 2007.
- Internet Draft "Centrally Assigned IPv6 Unicast Unique Local Address Prefixes". IETF. 2009–2010.
- SIXXS voluntary database
- Stockebrand, Benedikt (2006). IPv6 in Practice. ISBN 978-3-540-24524-7.
- "Public ULA registration database". SixXS. (readonly since SixXS sunset, 6 June 2017)
- "The shell script used by KAME and SixXS for generating a ULA".
- "ULA draft proposal" (PDF). ARIN. 2004. Archived from the original (PDF) on 2008-12-05.
- Internet Draft "Considerations For Using Unique Local Addresses". IETF. 2017.