IPv6 Link-Local Addresses (fe80::/10)
Learn about IPv6 link-local addresses in the fe80::/10 range. Understand their mandatory role in IPv6, neighbor discovery, and how they differ from IPv4 link-local.
Detailed Explanation
IPv6 Link-Local: fe80::/10
fe80::/10 addresses are mandatory on every IPv6-enabled interface. Unlike IPv4 link-local (169.254.x.x, which indicates DHCP failure), IPv6 link-local addresses are a normal and required part of IPv6 networking.
Key Characteristics
| Property | Value |
|---|---|
| Range | fe80:: – febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff |
| Prefix | fe80::/10 |
| Scope | Link (single network segment) |
| Routable | No (never forwarded by routers) |
| Auto-configured | Yes (EUI-64 or random) |
How Link-Local Addresses Are Formed
fe80:0000:0000:0000:[interface identifier]
│ │
10 bits prefix 64 bits from MAC (EUI-64) or random
Example with MAC address 00:1A:2B:3C:4D:5E:
- Insert
ff:fein the middle:00:1A:2B:FF:FE:3C:4D:5E - Flip the 7th bit:
02:1A:2B:FF:FE:3C:4D:5E - Convert to IPv6:
fe80::021a:2bff:fe3c:4d5e
Why Link-Local Is Essential
IPv6 relies on link-local addresses for:
- Neighbor Discovery Protocol (NDP) — replaces ARP
- Router Solicitation/Advertisement — how hosts find routers
- DHCPv6 — clients use link-local to reach DHCP servers
- Next-hop routing — routers use link-local as next-hop addresses
Zone ID
Since link-local addresses are interface-specific, you must specify the interface when using them:
ping6 fe80::1%eth0
ssh fe80::1%en0
The % followed by the interface name is called the zone ID or scope ID.
Use Case
A network engineer uses the link-local address fe80::1%eth0 to SSH into a switch during initial setup before any global IPv6 addresses or routing have been configured.