> ## Content Index
> Fetch the complete content index at: https://www.pinglabz.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# IPv6 Address Examples: Every Type, Worked Through
- URL: https://www.pinglabz.com/ipv6-address-examples/
- Published: 2026-07-17T13:00:00.000Z
- Updated: 2026-08-24T05:22:17.000Z
- Description: A worked example of every IPv6 address type you will actually meet, broken down field by field. Learn to read the first hextet and instantly know if you are looking at link-local, global unicast, multicast, or unique-local.
- Author: Jaime
- Tags: IPv6, Fundamentals, #Import 2026-08-01 19:54

IPv6 addresses look intimidating until you have seen enough real ones to recognize the patterns. The first hextet usually tells you everything: what kind of address it is and what it is for. This post is a worked reference - one concrete example of every IPv6 address type you will actually encounter, with the address broken down field by field, so the patterns stick.

For the cluster overview, see the [IPv6 complete guide](https://www.pinglabz.com/ipv6/).

## The format, briefly

An IPv6 address is 128 bits, written as eight groups of four hex digits (hextets) separated by colons. Two compression rules make them shorter:

- **Drop leading zeros** in any hextet: `0db8` becomes `db8`, `0000` becomes `0`.
- **Replace one run of all-zero hextets with `::`** \- but only once per address, otherwise it would be ambiguous.

So `2001:0db8:0000:0000:0000:0000:0000:0001` compresses to `2001:db8::1`. Every example below is shown compressed.

## Global unicast - the public, routable address

A global unicast address (GUA) is the IPv6 equivalent of a public IPv4 address: globally unique, internet-routable. Current GUAs are assigned out of **2000::/3**, which in practice means an address starting with 2 or 3.

Worked example: `2001:db8:acad:10::5`

Global routing prefix

Bits/48

Value here2001:db8:acad

Meaning

Assigned to the organization by an ISP/RIR

Subnet ID

Bits16

Value here0010

Meaning

Which subnet inside the org - here subnet 10

Interface ID

Bits/64

Value here::5

Meaning

The host portion - identifies the device

The almost-universal split is a /64 for every subnet: 64 bits of network, 64 bits of interface ID. Note `2001:db8::/32` is the documentation range (reserved for examples like this one), so you will see it constantly in guides and never in the wild.

## Link-local - exists on every interface, never routed

Every IPv6-enabled interface automatically has a link-local address. It is valid only on its own link, is never routed off that link, and is what neighbor discovery and routing-protocol hellos use. Link-local addresses come from **fe80::/10**, so they start with `fe80`.

Worked example: `fe80::1ff:fe23:4567:890a`

The `fe80` prefix is the giveaway. The interface ID is often EUI-64 derived (you can spot the tell-tale `fffe` inserted in the middle) or randomized. Because link-local addresses are not unique beyond the link, you often must specify which interface you mean - `ping fe80::1%GigabitEthernet0/0`.

## Unique local - private addressing

Unique local addresses (ULAs) are the IPv6 counterpart to RFC 1918 private IPv4 space. They are routable inside an organization but not on the global internet. ULAs come from **fc00::/7**, and in practice you see **fd00::/8** because the locally-assigned bit is set.

Worked example: `fd12:3456:789a:1::20`

Prefix

Valuefd

MeaningULA, locally assigned

Global ID

Value12:3456:789a

Meaning

A 40-bit pseudo-random value - generate it, do not pick a tidy one

Subnet ID

Value0001

MeaningSubnet 1

Interface ID

Value::20

MeaningThe host

## Multicast - one-to-many

IPv6 has no broadcast. Its job is done by multicast, and every multicast address starts with **ff00::/8** \- the leading `ff` is the marker. The character after `ff` encodes flags and scope (1 = node, 2 = link, 5 = site).

ff02::1

NameAll-nodes

Used by

Every IPv6 host on the link

ff02::2

NameAll-routers

Used by

Every IPv6 router on the link

ff02::5

NameAll OSPFv3 routers

Used byOSPFv3

ff02::1:ff00:0/104

NameSolicited-node

Used by

Neighbor discovery (the IPv6 replacement for ARP)

The solicited-node multicast address is worth knowing: a host joins the group `ff02::1:ff` plus the last 24 bits of its unicast address, so neighbor discovery can target it without flooding the whole link the way ARP does.

## The two special single addresses

Loopback

Address::1

Meaning

The host itself - the IPv6 equivalent of 127.0.0.1

Unspecified

Address::

Meaning

"No address yet" - a source address before one is assigned

Both are mostly zeros, which is why they compress so dramatically. `::1` is 127 zero bits and a one; `::` is all 128 bits zero.

## A compression worked example

Compression trips people up most, so one full example end to end. Take the address `2001:0db8:0000:0000:0000:00a3:0000:8a2e`.

- **Drop leading zeros** in each hextet: `2001:db8:0:0:0:a3:0:8a2e`.
- **Collapse the longest run of zero hextets** with `::`. The longest run is the three zeros in the middle, so: `2001:db8::a3:0:8a2e`.

Note what you cannot do: the single `0` hextet after `a3` stays as `0`, because `::` has already been used and an address may contain it only once. If two zero runs are equal length, collapse the first. Getting this right matters because `2001:db8::a3:0:8a2e` and the fully-expanded form are the same address - tools accept both, and you will see both in the wild.

## Anycast, briefly

One type that has no special prefix: **anycast**. An anycast address is an ordinary unicast address (usually a global unicast) deliberately assigned to more than one device. A packet sent to it is delivered to the *nearest* instance by routing metric. There is no flag in the address that marks it as anycast - it looks like any other unicast address, and only the configuration on multiple devices makes it anycast. It is used for things like distributing a DNS resolver across many sites behind one address.

## Reading the first hextet at a glance

2 or 3 (2000::/3)

Global unicast - routable

fe80 (fe80::/10)

Link-local - this link only

fd (fd00::/8)

Unique local - private

ff (ff00::/8)

Multicast

::1 / ::

Loopback / unspecified

## Common gotchas

Using `::` twice in one address

Only one `::` is allowed - two would be ambiguous about how many zero hextets each represents.

Expecting a broadcast address

IPv6 has none. `ff02::1` (all-nodes multicast) is the closest equivalent.

Pinging a link-local without an interface

Link-local addresses are not link-unique. Append the zone ID: `fe80::1%Gi0/0`.

Subnetting smaller than /64

SLAAC and EUI-64 assume a /64\. Going smaller breaks host autoconfiguration.

Hand-picking a tidy ULA global ID

The global ID is meant to be pseudo-random so two ULA networks rarely collide when merged.

## Key takeaways

Every IPv6 address type has a recognizable opening. Global unicast starts with 2 or 3 and is the public, routable address, split as routing prefix, subnet ID, and a /64 interface ID. Link-local starts with `fe80`, exists automatically on every interface, and never leaves its link. Unique local starts with `fd` and is private addressing. Multicast starts with `ff` and replaces broadcast, with `ff02::1` and `ff02::2` as the everyday all-nodes and all-routers groups. `::1` is loopback and `::` is unspecified. Learn to read the first hextet and an IPv6 address tells you what it is before you read the rest.

For the IPv6 cluster, see the [IPv6 pillar](https://www.pinglabz.com/ipv6/).