https://tools.ietf.org/html/rfc4193
A unique local address (ULA) is an IPv6 address in the block
fc00::/7
, defined in RFC 4193. It is the approximate IPv6 counterpart of the IPv4 private address.
Unique local addresses are available for use in private networks, e.g.
inside a single site or organization or spanning a limited number of
sites or organizations. They are not routable in the global IPv6
Internet.The address block
fc00::/7
is divided into two /8 groups:- The block
has not been defined yet. It has been proposed to be managed by an allocation authority, but this has not gained acceptance in the IETF.[1][2][3] This block is also used by the cjdns mesh network.fc00::/8
- The block
is defined for /48 prefixes, formed by setting the 40 least-significant bits of the prefix to a randomly generated bit string. This results in the formatfd00::/8
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.
Format
The Local IPv6 addresses are created using a pseudo-randomly allocated global ID. They have the following format: | 7 bits |1| 40 bits | 16 bits | 64 bits | +--------+-+------------+-----------+----------------------------+ | Prefix |L| Global ID | Subnet ID | Interface ID | +--------+-+------------+-----------+----------------------------+ Where: Prefix FC00::/7 prefix to identify Local IPv6 unicast addresses. L Set to 1 if the prefix is locally assigned. Set to 0 may be defined in the future. See Section 3.2 for additional information. Global ID 40-bit global identifier used to create a globally unique prefix. See Section 3.2 for additional information. Subnet ID 16-bit Subnet ID is an identifier of a subnet within the site. Interface ID 64-bit Interface ID as defined in [ADDARCH].
Example
As an example, a routing prefix in thefd00::/8
range would be constructed by generating a random 40-bit hexadecimal string, taken to be e48dba82e1
in this example. This 40-bit string is appended to the fd00::/8
prefix. 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
.Properties
Prefixes in thefd00::/8
range have similar properties 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 (under ip6.arpa) for
ULAs cannot be delegated in the global DNS.fd00::/8
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
extremely small if the RFC 4193 selection algorithm was used.More information: https://tools.ietf.org/html/rfc4193