What types of IPv6 addresses are there, and what are their prefixes?
Show the answer
Say this first
Three kinds: unicast, multicast and anycast. There is no broadcast. Unicast splits into global unicast
(2000::/3, routable on the internet), link-local (fe80::/10, one link only, every interface has one),
and unique local (fc00::/7, in practice fd00::/8, private). Multicast is ff00::/8. Anycast has no
prefix of its own: it is a unicast address configured on several nodes. Then the specials: ::1 loopback
and :: unspecified.
Go deeper
The main table
| Type | Prefix | Scope | Used for |
|---|---|---|---|
| Global unicast (GUA) | 2000::/3 | internet | normal addressing |
| Link-local (LLA) | fe80::/10 (used as fe80::/64) | one link | NDP, routing protocol neighbors, next hops |
| Unique local (ULA) | fc00::/7, fd00::/8 in use | organization | private addressing, not routed on the internet |
| Multicast | ff00::/8 | by scope field | one to many, replaces broadcast |
| Anycast | from unicast space | any | nearest of several nodes |
| Loopback | ::1/128 | the node | same as 127.0.0.1 |
| Unspecified | ::/128 | none | source before an address exists (DAD), "any" in sockets |
Special ranges worth knowing
| Prefix | Meaning |
|---|---|
2001:db8::/32 | documentation (RFC 3849) |
::ffff:0:0/96 | IPv4-mapped, used inside dual-stack socket APIs |
64:ff9b::/96 | NAT64 well-known prefix (RFC 6052) |
2002::/16 | 6to4, deprecated |
2001::/32 | Teredo |
fec0::/10 | site-local, deprecated by RFC 3879 |
Multiple addresses are normal
A typical laptop has a link-local, a stable global address, one or more temporary global addresses, and it has joined several multicast groups. Seeing five addresses on one interface is not a fault.
They will ask next
Why was site-local deprecated?
"Site" was never defined well enough to build routers and policies around it, and the addresses were ambiguous between organizations. ULA replaced it with a random 40-bit global ID that makes collisions unlikely.
Are ULAs routed differently from global addresses?
No. Routers treat them like any other unicast prefix. You just never advertise them to the internet and filter them at the edge.
Traps
- Saying IPv6 has broadcast. It does not;
ff02::1(all nodes) is the closest thing. - Treating ULA as the IPv6 RFC 1918 that must be NATed. That is not how IPv6 is meant to be run.