An fc00::/7 IPv6 address is a Unique Local Address (ULA). This type of IPv6 address is designed for private addressing within a network and is not routable on the global IPv6 Internet.
Understanding Unique Local Addresses (ULAs)
Unique Local Addresses (ULAs) provide a mechanism for IPv6 networks to communicate internally without needing global IPv6 addresses. Think of them like private IPv4 addresses (e.g., 192.168.x.x) but for IPv6. They offer several advantages:
- No Registration Required: Unlike global IPv6 addresses, you don't need to register ULAs with any authority. You can generate them locally.
- Internal Communication: They are perfect for communication between devices within a private network.
- Reduced Dependence on Global IPv6: Networks using ULAs can function even without a global IPv6 connection.
The fc00::/7 Prefix
The fc00::/7
prefix represents a block of IPv6 addresses. The /7
indicates that the first 7 bits of the address are fixed. This means that all ULAs fall within the range fc00::
to fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
.
The prefix is further divided into two sub-ranges based on the eighth bit:
-
fc00::/8 (Deprecated): Originally intended to be assigned by a central registry, this range is now deprecated and should not be used for new deployments.
-
fd00::/8 (Recommended): This is the recommended prefix for generating ULAs. Within the
fd00::/8
range, the subsequent 40 bits are used to generate a pseudo-random global ID, ensuring uniqueness across different networks.
ULA Structure (fd00::/8)
Here's a breakdown of the fd00::/8
ULA structure:
Field | Bits | Description |
---|---|---|
FD | 8 | Fixed prefix fd (binary 11111101) |
L | 1 | "L" bit. Always set to 1 in the fd00::/8 range to indicate a locally assigned ULA. |
Global ID | 40 | A pseudo-random number. It should be generated randomly to avoid collisions with other ULAs. Tools are available to help with this generation. |
Subnet ID | 16 | Used to identify subnets within the organization's network. Assigned by the network administrator. |
Interface ID | 64 | The interface identifier (similar to the host portion in IPv4 addresses). Typically derived from the device's MAC address or randomly generated. |
Example ULA
A typical ULA might look like this: fd12:3456:789a::1/64
.
In this example:
fd
signifies it is within thefd00::/8
ULA range.12:3456:789a
is the randomly generated Global ID.- The
::1
represents the interface identifier (in a simplified notation). /64
indicates the subnet prefix length.
Key Takeaways
fc00::/7
defines the IPv6 Unique Local Address (ULA) space.fd00::/8
is the recommended prefix for generating ULAs.- ULAs are designed for private network addressing and are not globally routable.
- The Global ID within the ULA should be generated randomly to ensure uniqueness.