Skip to content

IPv6 - Special Addresses

IPv6 features a more structured address plan than IPv4, with several address ranges and specific addresses reserved for special purposes. Understanding these is key to working with IPv6 networks. Addresses are typically written in hexadecimal, colon-separated, with leading zeros often omitted and consecutive zero blocks compressed using ’::’.

  • Unspecified Address (::/128): Represented as 0:0:0:0:0:0:0:0 before compression, or ::/128. Used by a host as a source address during initialization (e.g., when it doesn’t yet know its own IP address, like in a DHCP request). It must not be used as a destination address or by routers.
  • Loopback Address (::1/128): Represented as 0:0:0:0:0:0:0:1 before compression, or ::1/128. Used by a host to send packets to itself, for testing and local services. Equivalent to IPv4’s 127.0.0.1.
  • Default Route (::/0): Represents the route for all IPv6 destinations not explicitly listed in a routing table. Similar to 0.0.0.0/0 in IPv4. Routers use this to forward packets to a next-hop gateway when no more specific route is known.

Link-local addresses are automatically configured on every IPv6-enabled interface. They are used for communication between devices on the same local network segment (link) only, such as for Neighbor Discovery Protocol (NDP) functions. Routers do not forward packets with link-local source or destination addresses beyond the local link. They typically start with FE80:: followed by an interface identifier (often derived from the MAC address using EUI-64 format, or generated randomly for privacy). For example: FE80::0200:5EFF:FE00:53A7.

Unique Local Addresses (currently FD00::/8 for locally assigned global IDs) are intended for private networking, similar to IPv4’s RFC 1918 addresses (e.g., 10.0.0.0/8, 192.168.0.0/16). They are globally unique in practice (due to a random component) but are not routable on the public internet. ULAs are useful for site-internal communication without requiring a globally allocated prefix or clashing with other networks if sites are merged.

These are the publicly routable IPv6 addresses, assigned by ISPs and regional internet registries (RIRs). The vast majority of internet traffic uses GUAs. An example is 2001:0DB8:85A3:0000:0000:8A2E:0370:7334, where 2001:0DB8::/32 is a prefix often used for documentation examples.

IPv6 makes extensive use of multicast. Multicast addresses always begin with FF. The second octet defines the flags and scope of the multicast address. For example, FF02:: indicates a link-local scope.

  • FF02::1 (All Nodes Address): All IPv6-enabled devices on a local link join this multicast group. Used to reach all nodes on the segment, for example, by routers for certain advertisements.
  • FF02::2 (All Routers Address): All IPv6 routers on a local link join this group. Used by hosts to communicate with any available router on the segment, for example, during Router Solicitation in SLAAC.
  • FF02::5 (OSPFv3 AllSPFRouters): Used by OSPFv3 routing protocol to send messages to all OSPF routers on a link.
  • FF02::6 (OSPFv3 AllDRouters): Used by OSPFv3 routing protocol to send messages to Designated Routers (DR) and Backup Designated Routers (BDR) on a link.
  • FF02::9 (RIPng Routers): Used by RIPng routing protocol for communication between RIPng routers.
  • FF02::1:FFXX:XXXX (Solicited-Node Multicast Address): This is a special type of multicast address used by the Neighbor Discovery Protocol (NDP) to resolve an IPv6 address to its link-layer (MAC) address. For each unicast or anycast address configured on an interface, the node joins a corresponding solicited-node multicast group. This is more efficient than ARP’s broadcast in IPv4. The XX:XXXX part is taken from the last 24 bits of the IPv6 unicast/anycast address.

Hosts use Stateless Address Autoconfiguration (SLAAC), often employing EUI-64 to derive the interface ID part of their link-local and potentially global addresses from their MAC address. To address privacy concerns with EUI-64 (as it exposes the MAC address), privacy extensions (RFC 4941) are commonly used to generate temporary, randomized interface identifiers for outgoing connections.

For a comprehensive list of special and reserved IPv6 addresses, consult official IANA registries and RFCs like RFC 4291 (IP Version 6 Addressing Architecture) and RFC 5156 (Special-Use IPv6 Addresses).