Sunday, 10 January 2016

IPv6 Unique Local Addressing RFC4193

  IPv6 Unique Local Addressing

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 fc00::/8 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.
  • The block fd00::/8 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 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.
-==

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 the fd00::/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 the fd00::/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 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 extremely small if the RFC 4193 selection algorithm was used.

More information: https://tools.ietf.org/html/rfc4193