IPv6 Address Types: Link-Local, Global, Unique Local

The six IPv6 address types: global unicast, link-local, ULA, multicast, anycast, and special. Prefixes, scope, when to use which, and design implications.

IPv6 has more address types than IPv4. Where IPv4 has unicast, multicast, and broadcast (gone in IPv6), IPv6 has global unicast, link-local, unique local, multicast, anycast, and a few special addresses. Each has a specific scope and purpose, and getting the types right is foundational to IPv6 design.

This article walks through each address type, when to use which, and the operational implications. If you are designing IPv6 addressing or trying to figure out why show ipv6 interface shows so many addresses on every interface, this is the reference.

The Six Address Types

TypePrefixScopeRoutable?
Global Unicast2000::/3Globally routableYes (internet)
Unique Local (ULA)FC00::/7 (FD00::/8 in practice)Site-localYes (within site)
Link-LocalFE80::/10Link-onlyNo (never crosses a router)
MulticastFF00::/8Group communicationYes (depending on scope)
AnycastSame range as global unicastGlobally routableYes; multiple hosts share the address
Special::/128, ::1/128, etc.VariousVarious

Global Unicast

Global unicast addresses are the IPv6 equivalent of IPv4 public addresses. They are globally routable and globally unique. The currently allocated range is 2000::/3 (any address starting with 2 or 3 in the first hex digit).

The structure of an enterprise global unicast address:

+- 48 bits global prefix -+- 16 bits subnet -+- 64 bits interface ID -+
| 2001:db8:1234:          | abcd:            | xxxx:xxxx:xxxx:xxxx     |
+-------------------------+------------------+-------------------------+

The 48-bit prefix is what your ISP allocates to you. The 16-bit subnet field gives you 65,536 subnets within that prefix, plenty for any enterprise. The 64-bit interface ID identifies the host on the subnet.

Examples:

AddressType
2001:db8:abcd:1::1Global unicast (in the documentation/example range)
2607:f8b0:4006:80f::200eGlobal unicast (Google)
2a00:1450:4001::1Global unicast (Google EU)

2001:db8::/32 is reserved for documentation; never use this on real production networks.

Link-local addresses are the workhorse of IPv6 internal protocols. Every IPv6 interface has one, automatically assigned, and it is required for the interface to function. The prefix is FE80::/10 (in practice always FE80::/64 because the next 54 bits must be zero).

Properties:

  • Always present on every IPv6 interface (required by the protocol)
  • Never crosses a router (link-scoped)
  • Used for Neighbor Discovery, Router Solicitation/Advertisement, OSPFv3 adjacencies, EIGRP for IPv6 sessions, VRRPv3 advertisements
  • Format: FE80:: followed by 64 bits of interface ID (often EUI-64 derived from MAC)
  • Same link-local can theoretically appear on multiple interfaces of the same router (you scope it with %interface-id syntax: fe80::1%Gi0/0/0)

Verify with:

Router# show ipv6 interface GigabitEthernet0/0/0
GigabitEthernet0/0/0 is up, line protocol is up
  IPv6 is enabled, link-local address is FE80::21A:2BFF:FE3C:4D5E
  Global unicast address(es):
    2001:DB8:1::1, subnet is 2001:DB8:1::/64

Most routing protocols (OSPFv3, EIGRP for IPv6) form adjacencies over link-local addresses, not global unicast. The benefit: if you renumber the global prefix, the IGP keeps running uninterrupted.

Unique Local Addresses (ULAs)

ULAs are the IPv6 equivalent of IPv4 RFC 1918 private addresses. RFC 4193 defines the format. The prefix is FC00::/7, but in practice you only use FD00::/8 (the L bit is set to 1 to indicate locally-assigned).

The ULA structure includes a 40-bit Global ID that is meant to be pseudo-random:

+- FD -+- 40-bit Global ID --+- 16-bit subnet -+- 64-bit interface ID -+
| FD   | xxxxxxxxxxxxxxxxxx  | abcd            | xxxx:xxxx:xxxx:xxxx    |
+------+---------------------+-----------------+------------------------+

You generate a random Global ID once for your organization (using SHA-1 of the time and MAC, or just using a random generator) and use it across all your sites. The randomness reduces collision risk if two ULA-using networks ever merge.

Use ULAs for:

  • Internal management traffic that should never leak to the internet
  • Communication between hosts that don't need internet reachability
  • Lab environments where global addresses don't make sense
  • IPv6 addressing for networks that have private IPv4 addressing today

Modern IPv6 best practice often skips ULAs entirely - use global unicast everywhere with proper firewalling, since you have abundant addresses. ULAs are a tool for specific use cases, not the default.

Multicast

IPv6 has no broadcast. Functions that used to use broadcast (ARP, etc.) now use multicast. The prefix is FF00::/8.

The multicast address format includes scope bits:

+- FF -+- Flags (4) -+- Scope (4) -+- Group ID (112) -+
| FF   | flgs        | scope       | group identifier  |
+------+-------------+-------------+-------------------+

Common multicast scopes:

ScopeMeaningExample
1Interface-local (loopback)FF01::1
2Link-localFF02::1 (all nodes)
4Admin-localSite-defined
5Site-localFF05::101 (NTP servers)
8Organization-localLarger than site
EGlobalFF0E:: (internet-scope)

Well-known multicast addresses you see constantly:

AddressUse
FF02::1All nodes on link
FF02::2All routers on link
FF02::5OSPFv3 routers (replaces 224.0.0.5)
FF02::6OSPFv3 designated routers (replaces 224.0.0.6)
FF02::AEIGRP for IPv6
FF02::12VRRPv3
FF02::1:FFXX:XXXXSolicited-node multicast (used by NDP)

The solicited-node multicast is interesting: each unicast address has a corresponding multicast address derived from the bottom 24 bits. NDP uses this to direct Neighbor Solicitations only to hosts whose interface ID matches, dramatically reducing broadcast-style flooding.

Anycast

Anycast is "one address, multiple hosts." Multiple hosts advertise the same address; the network delivers to whichever is topologically closest. It is technically just a unicast address shared by multiple hosts; nothing in the address format indicates anycast (it is up to the routing layer).

Common uses: DNS root servers (root anycast), CDN edge servers, internal services like NTP across multiple data centers. The "subnet anycast" address (interface ID all zeros within a subnet) is reserved by RFC 4291.

Special Addresses

AddressUse
::/128Unspecified (used during DAD; no address yet)
::1/128Loopback
::FFFF:0:0/96IPv4-mapped (used by dual-stack sockets)
2001:db8::/32Documentation prefix; never use in production
2002::/166to4 tunneling (largely obsolete)
3FFE::/16Old 6bone experimental; deprecated

Every Interface Has Multiple Addresses

An IPv6-enabled interface typically has:

  1. A link-local address (FE80::xxxx)
  2. One or more global unicast addresses (2xxx:xxxx::xxxx)
  3. Optionally a ULA (FDxx:xxxx::xxxx)
  4. Multicast group memberships (FF02::1 always; FF02::5 if OSPFv3; etc.)
  5. Solicited-node multicast for each unicast address

This is normal IPv6 behavior. Cisco's show ipv6 interface displays them all.

Design Implications

RequirementAddress type to use
Internet-facing serviceGlobal unicast
Internal client / internal server trafficGlobal unicast (with firewall) or ULA
Routing protocol next-hopLink-local (used automatically by OSPFv3, etc.)
Documentation / examplesDocumentation prefix 2001:db8::/32
Lab environmentsULA or documentation prefix
Multi-site enterprise without internet needULA
Loopback interface::1/128 globally; per-router /128 from your global allocation

Summary

IPv6 has six main address types: global unicast, link-local, ULA, multicast, anycast, and special addresses. Every interface gets at least a link-local automatically; you assign global unicast for internet reachability and ULAs for site-internal traffic. Multicast is built into the protocol and used pervasively (NDP, RAs, OSPFv3, etc.).

Master the prefixes (2000::/3 for global, FE80::/10 for link-local, FC00::/7 for ULA, FF00::/8 for multicast) and the rest of IPv6 addressing follows. Bookmark this article alongside the IPv6 cluster pillar.

Read next

© 2025 Ping Labz. All rights reserved.