IPv6 Unique Local Addresses (fc00::/7)

Understand IPv6 Unique Local Addresses (ULA) in the fc00::/7 range. The IPv6 equivalent of RFC 1918 private addresses, used for internal networks without global routing.

IPv6 Unicast

Detailed Explanation

IPv6 Unique Local Addresses: fc00::/7

Unique Local Addresses (ULA) are the IPv6 equivalent of IPv4 private addresses (10.x, 172.16.x, 192.168.x). They are routable within an organization but not on the public internet.

Range

Property Value
Full range fc00:: – fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
Prefix fc00::/7
Currently used fd00::/8 (locally assigned)
Reserved fc00::/8 (not yet defined)

Address Structure

| 7 bits  | 1 | 40 bits     | 16 bits | 64 bits      |
| fc00::/7| L | Global ID   | Subnet  | Interface ID |
|         |   | (random)    | ID      |              |
  • L bit = 1 (fd00::/8): Locally assigned — this is what you should use
  • L bit = 0 (fc00::/8): Reserved for future use

Generating a ULA Prefix

The Global ID should be randomly generated to minimize collision risk:

fd + 40 random bits + ::/48

Example: fd12:3456:789a::/48

ULA vs IPv4 Private Addresses

Feature IPv4 Private IPv6 ULA
Ranges 3 ranges (10, 172.16, 192.168) 1 range (fd00::/8)
Collision risk High (everyone uses same ranges) Very low (random Global ID)
NAT required Yes (for internet access) No (use both ULA + global)
Unique Not globally unique Probabilistically unique

Best Practice

Use ULA alongside global unicast addresses. Each interface gets both:

  • A global address for internet communication
  • A ULA address for internal services that should never be exposed

Use Case

An organization assigns fd12:3456:789a::/48 as their ULA prefix for internal services, ensuring lab servers communicate locally even if the ISP-provided global prefix changes.

Try It — IP Address Analyzer

Open full tool