A unique local address (ULA) is an Internet Protocol version 6 (IPv6) address in the address range fc00::/7. [1] These addresses are non-globally reachable [2] (routable only within the scope of private networks, but not the global IPv6 Internet). Because they are not globally reachable, ULAs are somewhat analogous to IPv4 private network addressing. However, there are also significant differences, as each user of ULAs has a unique address range, where as IPv4 private addressing is common to many users. 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.
In December 1995, the IPv6 address block fec0::/10 was reserved for site-local addresses, [3] 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.
In September 2004, the Internet Engineering Task Force (IETF) deprecated the definition of this address range, [4] and postulated solutions to its problems. The special behaviour for this type of addresses, as required at that time, [5] was lifted in 2006 and the block returned to regular global unicast. [6]
In October 2005, the IETF reserved the address block fc00::/7 for use in private IPv6 networks and defined the associated term unique local addresses. [1]
Unique local addresses use prefix fc00::/7. The first bit following the prefix indicates, if set, that the address is locally assigned. This splits the address block in two equally sized halves, fc00::/8 and fd00::/8.
The block with L = 0, fc00::/8, is currently not defined. [1] It has been proposed that an allocation authority manage it, but this has not gained acceptance in the IETF. [7] [8] [9]
The block with L = 1, fd00::/8 follows the following format.
RFC 4193 block | Prefix/L | Global ID (random) | Subnet ID | Number of addresses in subnet |
---|---|---|---|---|
8 bits | 40 bits | 16 bits | 64 bits | |
fd00::/8 | fd | xx:xxxx:xxxx | yyyy | 18446744073709551616 |
It is divided into /48 prefixes, formed by setting the forty bits following the prefix fd00/8 to a randomly generated bit string. This results in the format fdxx:xxxx:xxxx::/48 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 0x123456789a. The string is appended to the prefix fd00::/8, which forms the 48-bit routing prefix fd12:3456:789a::/48. With this prefix, 65536 subnets of size /64 are available for the private network: fd12:3456:789a::/64 to fd12:3456:789a:ffff::/64. For example Subnet ID 0x1 would be the subnet fd12:3456:789a:1::/64.
Prefix/L | Global ID (random) | Subnet ID | Interface ID | Address | Subnet |
---|---|---|---|---|---|
fd | xx:xxxx:xxxx | yyyy | zzzz:zzzz:zzzz:zzzz | fdxx:xxxx:xxxx:yyyy:zzzz:zzzz:zzzz:zzzz | fdxx:xxxx:xxxx:yyyy::/64 |
fd | 12:3456:789a | 0001 | 0000:0000:0000:0001 | fd12:3456:789a:1::1 | fd12:3456:789a:1::/64 |
Prefixes in the range fc00::/7 have some characteristics in common with 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 mathematically guaranteed to be globally unique, but the probability of a collision is nevertheless extremely small. Reverse Domain Name System (DNS) entries (in ip6.arpa) for fd00::/8 ULAs cannot be delegated in the global DNS.
As fc00::/7 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 very small if the RFC 4193 selection algorithm was used.
The ULA block is useful in the context of service providers and content providers, as it provides isolation of the infrastructure and hence avoids exposure to the Internet.
One such example is Amazon Web Services, which uses ULAs within its virtual private cloud networking. In particular it uses the block fd00:ec2::/32 for local services, such as time sync services or DNS resolvers. [10]
SixXS attempted to maintain a voluntary registration database for fd00::/8 ULA prefixes to reduce the risk of different organisations using identical prefixes. [11] When the SixXS services were discontinued on 6 June 2017, the database became read-only.
On 6 December 2020, the Swiss-based company 'ungleich' announced that it would revive the IPv6 ULA registry based on the original SixXS database, citing user demands for a ULA registry. [12]
For the range fc00::/8, different design decisions have been proposed and submitted to the IETF, [7] [9] trading the risk of 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. [7] [8] [9]
The Dynamic Host Configuration Protocol (DHCP) is a network management protocol used on Internet Protocol (IP) networks for automatically assigning IP addresses and other communication parameters to devices connected to the network using a client–server architecture.
An Internet Protocol address is a numerical label such as 192.0.2.1 that is assigned to a device connected to a computer network that uses the Internet Protocol for communication. IP addresses serve two main functions: network interface identification, and location addressing.
Internet Protocol version 4 (IPv4) is the first version of the Internet Protocol (IP) as a standalone specification. It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. IPv4 was the first version deployed for production on SATNET in 1982 and on the ARPANET in January 1983. It is still used to route most Internet traffic today, even with the ongoing deployment of Internet Protocol version 6 (IPv6), its successor.
Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. IPv6 was developed by the Internet Engineering Task Force (IETF) to deal with the long-anticipated problem of IPv4 address exhaustion, and was intended to replace IPv4. In December 1998, IPv6 became a Draft Standard for the IETF, which subsequently ratified it as an Internet Standard on 14 July 2017.
Classless Inter-Domain Routing is a method for allocating IP addresses for IP routing. The Internet Engineering Task Force introduced CIDR in 1993 to replace the previous classful network addressing architecture on the Internet. Its goal was to slow the growth of routing tables on routers across the Internet, and to help slow the rapid exhaustion of IPv4 addresses.
A multicast address is a logical identifier for a group of hosts in a computer network that are available to process datagrams or frames intended to be multicast for a designated network service. Multicast addressing can be used in the link layer, such as Ethernet multicast, and at the internet layer for Internet Protocol Version 4 (IPv4) or Version 6 (IPv6) multicast.
A subnetwork, or subnet, is a logical subdivision of an IP network. The practice of dividing a network into two or more networks is called subnetting.
A classful network is an obsolete network addressing architecture used in the Internet from 1981 until the introduction of Classless Inter-Domain Routing (CIDR) in 1993. The method divides the IP address space for Internet Protocol version 4 (IPv4) into five address classes based on the leading four address bits. Classes A, B, and C provide unicast addresses for networks of three different network sizes. Class D is for multicast networking and the class E address range is reserved for future or experimental purposes.
Bogon filtering is the practice of blocking packets known as bogons, which are ones sent to a computer network claiming to originate from invalid or bogus IP addresses, known as bogon addresses.
Anycast is a network addressing and routing methodology in which a single IP address is shared by devices in multiple locations. Routers direct packets addressed to this destination to the location nearest the sender, using their normal decision-making algorithms, typically the lowest number of BGP network hops. Anycast routing is widely used by content delivery networks such as web and name servers, to bring their content closer to end users.
A broadcast address is a network address used to transmit to all devices connected to a multiple-access communications network. A message sent to a broadcast address may be received by all network-attached hosts.
Multihoming is the practice of connecting a host or a computer network to more than one network. This can be done in order to increase reliability or performance.
In Internet networking, a private network is a computer network that uses a private address space of IP addresses. These addresses are commonly used for local area networks (LANs) in residential, office, and enterprise environments. Both the IPv4 and the IPv6 specifications define private IP address ranges.
The Neighbor Discovery Protocol (NDP), or simply Neighbor Discovery (ND), is a protocol of the Internet protocol suite used with Internet Protocol Version 6 (IPv6). It operates at the internet layer of the Internet model, and is responsible for gathering various information required for network communication, including the configuration of local connections and the domain name servers and gateways.
Anything In Anything (AYIYA) is a computer networking protocol for managing IP tunneling protocols in use between separated Internet Protocol networks. It is most often used to provide IPv6 transit over an IPv4 network link when network address translation masquerades a private network with a single IP address that may change frequently because of DHCP provisioning by Internet service providers.
In the Internet addressing architecture, the Internet Engineering Task Force (IETF) and the Internet Assigned Numbers Authority (IANA) have reserved various Internet Protocol (IP) addresses for special purposes.
In computer networking, a link-local address is a network address that is valid only for communications on a local link, i.e. within a subnetwork that a host is connected to. Link-local addresses are typically assigned automatically through a process known as link-local address autoconfiguration, also known as auto-IP, automatic private IP addressing, and stateless address autoconfiguration. While most link-local addresses are unicast, this is not necessarily the case; e.g. IPv6 addresses beginning with ff02:, and IPv4 addresses beginning with 224.0.0. are multicast addresses that are link-local.
An IPv6 transition mechanism is a technology that facilitates the transitioning of the Internet from the Internet Protocol version 4 (IPv4) infrastructure in use since 1983 to the successor addressing and routing system of Internet Protocol Version 6 (IPv6). As IPv4 and IPv6 networks are not directly interoperable, transition technologies are designed to permit hosts on either network type to communicate with any other host.
An Internet Protocol version 6 address is a numeric label that is used to identify and locate a network interface of a computer or a network node participating in a computer network using IPv6. IP addresses are included in the packet header to indicate the source and the destination of each packet. The IP address of the destination is used to make decisions about routing IP packets to other networks.
In order to ensure proper working of carrier-grade NAT (CGN), and, by doing so, alleviating the demand for the last remaining IPv4 addresses, a /10 size IPv4 address block was assigned by Internet Assigned Numbers Authority (IANA) to be used as shared address space. This block of addresses is specifically meant to be used by Internet service providers that implement carrier-grade NAT, to connect their customer-premises equipment (CPE) to their core routers.
[N]ew implementations must treat this prefix as Global Unicast.