IPv6 address

A packet sent to an anycast address is delivered to just one of the member interfaces, typically the nearest host, according to the routing protocol's definition of distance.

The 64-bit interface identifier is automatically established randomly, obtained from a DHCPv6 server, or assigned manually.

(Historically, it was automatically generated from the interface's MAC address using the modified EUI-64 format, but this method is now not recommended for privacy reasons.

A link-local address is also based on the interface identifier, but uses a different format for the network prefix.

In addition, the scope field is used to identify special multicast addresses, like solicited node.

A network is denoted by the first address in the block (ending in all zeroes), a slash (/), and a decimal value equal to the size in bits of the prefix.

The size of a block of addresses is specified by writing a slash (/) followed by a number in decimal whose value is the length of the network prefix in bits.

Colon (:) characters in IPv6 addresses may conflict with the established syntax of resource identifiers, such as URIs and URLs.

The link-local address could be expressed by or The former (using an interface name) is customary on most Unix-like operating systems (e.g., BSD, Linux, macOS).

[c] BSD-based operating systems (including macOS) also support an alternative, non-standard syntax, where a numeric zone index is encoded in the second 16-bit word of the address.

[d] When used in uniform resource identifiers (URI), the use of the percent sign causes a syntax conflict, therefore it must be escaped via percent-encoding,[13] e.g.: In Microsoft Windows operating systems, IPv4 addresses are valid location identifiers in Uniform Naming Convention (UNC) path names.

For this reason, Microsoft implemented a transcription algorithm to represent an IPv6 address in the form of a domain name that can be used in UNC paths.

The IANA has maintained the official list of allocations of the IPv6 address space since December 1995.

[18] The RIRs assign smaller blocks to local Internet registries that distribute them to users.

Provider-independent address space is assigned directly to the end user by the RIRs from the special range 2001:678::/29 and allows customers to make provider changes without renumbering their networks.

Internet exchange points (IXPs) are assigned special addresses from the ranges 2001:7f8::/32, 2001:504::/30, and 2001:7fa::/32[25] for communication with their connected ISPs.

[29] They represent less than 2% of the entire address space: Applications may listen on one or more specific interfaces for incoming connections, which are shown in listings of active internet connections by a specific IP address (and a port number, separated by a colon).

When the unspecified address is shown it means that an application is listening for incoming connections on all available interfaces.

IANA has reserved a so-called Sub-TLA ID address block for special assignments[28][41] of 2001::/23 (split into the range of 64 network prefixes 2001:0000::/29 through 2001:01f8::/29).

A host is required to join a solicited-node multicast group for each of its configured unicast or anycast addresses.

It does so independently and without any prior configuration by stateless address autoconfiguration (SLAAC),[46] using a component of the Neighbor Discovery Protocol.

The globally unique and static MAC addresses used by stateless address autoconfiguration to create interface identifiers offer an opportunity to track user equipment across time and IPv6 network prefix changes.

The first uses a public key and a random modifier; the latter being incremented repeatedly until a specific amount of zero bits of the resulting hash is acquired.

The least significant 64 bits of the second hash result is appended to the 64-bit network prefix to form a 128-bit address.

The hash functions can also be used to verify if a specific IPv6 address satisfies the requirement of being a valid CGA.

The use of the modified EUI-64 format has serious implications for security and privacy concerns,[53] because the underlying hardware address (most typically the MAC address) is exposed beyond the local network, permitting the tracking of user activities and correlation of user accounts to other information.

The default table has the following content: The default configuration places preference on IPv6 usage, and selects destination addresses within the smallest possible scope, so that link-local communication is preferred over globally routed paths when otherwise equally suitable.

Addresses are matched to prefixes based on the longest-matching most-significant bit sequence.

To minimize the time to establish a connection when multiple addresses are available for communication, the Happy Eyeballs algorithm was devised.

[55] For reverse lookup the IETF reserved the domain ip6.arpa, where the name space is hierarchically divided by the 1-digit hexadecimal representation of nibble units (4 bits) of the IPv6 address.

Decomposition of an IPv6 address into its binary form