Unique-Local IPv6 Addresses

Composition

         +--------+-+------------+-----------+----------------------------+
         | 7 bits |1|  40 bits   |  16 bits  |          64 bits           |
         +--------+-+------------+-----------+----------------------------+
         | Prefix |L| Global ID  | Subnet ID |        Interface ID        |
         +--------+-+------------+-----------+----------------------------+
         
Prefix fc::/7
Local (L) 1
Global ID Uniquely identifies your network
Subnet ID 0 - ffff use freely for your own IPv6 subnetting
Interface ID Your host address.

F.A.Q.

What's a unique local address?

IPv6 unique local addresses are similar to the IPv4 private address classes with one big difference: THE ARE UNIQUE.

IPv4 private addresses

Class A 10.0.0.0/8
Class B 172.16.0.0/12
Class C 192.168.0.0/16

IPv6 unique local addresses

fd00::/48 - fd00:ffff:ffff::/48

What's the use?

Local network addresses are used to make specific services only available for people and computers within your private network.

For example if your company runs an intranet website containing confidential information about products, sales, customers or what so ever. This information might be vital for your employees to do their jobs, but you definitely don't want to make this website available publicly.

Why do they need to be unique?

Sometimes you want to join two or more private networks. A common example is when you connect your PC from your home network to your office network using a VPN. When both networks use the same private address range (e.g. 192.168.1.0/24) you only reach the office network during your VPN session as a result of a routing problem.

Are they really globally unique?

The global id part of unique local addresses is a randomly generated 40-bit integer. So there's a small possibility that two networks on this planet use the same unique local address. But there's a very little likelihood that this is ever going to happen. PROBABILITY: 1:1099511627776 or ~0.000000000001

Isn't there an easy way?

If you want to use a unique local network for your personal use or for testing only, no one bars you from using fd00::/48, fd00:abba::/48 or fd00:1234::/48. But keep in mind there's are reason they have been made unique in the first place. And there's actually no good reason not to use a randomly generated address. How about that one on top of this page?

What is the subnet id?

After the global id you have 16 bits for your subnetting. Use them at will.

If you don't have any subnetting plans right now, just start with 0000 (luckily you don't have to write that).

Where can I get more information?

RFC 4193