IPv6 Addressing – Types & Structure
1. Why IPv6? The Case for a New Addressing Scheme
IPv4 uses 32-bit addresses, providing approximately 4.3 billion unique addresses. With the explosion of internet-connected devices — smartphones, IoT sensors, smart appliances, vehicles — the IPv4 address space was effectively exhausted by the early 2010s. Techniques such as NAT (Network Address Translation) extended IPv4's life but introduced complexity, broke end-to-end connectivity, and created difficulties for certain protocols and applications.
IPv6 uses 128-bit addresses, providing 2128 ≈ 3.4 × 1038 unique addresses — enough to assign billions of addresses to every person on Earth. Beyond sheer quantity, IPv6 also simplifies addressing, eliminates the need for NAT in most scenarios, and introduces features such as stateless address autoconfiguration (SLAAC), mandatory IPsec support in the original design, and built-in multicast that replaces IPv4 broadcast.
| Feature | IPv4 | IPv6 |
|---|---|---|
| Address length | 32 bits | 128 bits |
| Address count | ~4.3 billion | ~3.4 × 1038 |
| Notation | Dotted decimal (192.168.1.1). See IPv4 Address Structure. | Colon-hexadecimal (2001:db8::1) |
| Broadcast | Yes (255.255.255.255 and subnet broadcast) | No — replaced by multicast and anycast |
| NAT required | Typically yes (due to address exhaustion) | No — every device can have a globally unique address |
| Address configuration | Manual, DHCP | Manual, DHCPv6, or SLAAC (stateless autoconfiguration) |
| Header size | 20–60 bytes (variable — options allowed) | 40 bytes fixed (extension headers used for options) |
| Fragmentation | Routers and hosts | Hosts only — routers do not fragment IPv6 packets |
Related pages: IPv6 Overview | Link-Local vs Global Unicast | IPv6 Neighbor Discovery | SLAAC | IPv4 Address Structure | IP Address Classes | NAT & PAT | IPv6 Basic Configuration Lab | DHCPv6 & SLAAC Lab
2. IPv6 Address Structure
An IPv6 address is 128 bits long, written as eight groups of four hexadecimal digits separated by colons. Each group represents 16 bits (one hextet, also called a quartet or 16-bit block).
Hexadecimal Refresher
3. IPv6 Address Abbreviation Rules
Full 128-bit IPv6 addresses are long and tedious to write. Two abbreviation rules are defined in RFC 5952 to shorten them.
Rule 1 — Omit Leading Zeros Within Each Hextet
Rule 2 — Replace One Consecutive Group of All-Zero Hextets with ::
Expanding an Abbreviated Address
4. IPv6 Prefix Notation
Like IPv4 CIDR notation (see Subnetting & VLSM), IPv6 uses a prefix length expressed as a slash followed by the number of bits in the network portion. There are no subnet masks in IPv6 — the prefix length is always used.
| Prefix | Prefix Length | Use |
|---|---|---|
::/0 |
/0 | Default route — matches all IPv6 addresses. See Static Routing Configuration. |
::1/128 |
/128 | Loopback address. Test with ping ::1. |
2001:DB8::/32 |
/32 | Documentation / example addresses (RFC 3849) — not routable |
2001::/32 |
/32 | Teredo tunnelling (IPv6 over IPv4 UDP) |
FC00::/7 |
/7 | Unique local addresses (FC00::/8 and FD00::/8) |
FE80::/10 |
/10 | Link-local unicast addresses. See Link-Local vs Global Unicast. |
FF00::/8 |
/8 | Multicast addresses |
2000::/3 |
/3 | Global unicast addresses (all addresses starting with 001 in binary) |
5. Global Unicast Addresses (GUA)
Global Unicast Addresses (GUAs) are the IPv6 equivalent of public
IPv4 addresses — they are globally routable on the Internet. Every GUA
is unique across the entire Internet. Currently assigned GUAs begin with
binary 001, which means they fall in the range
2000::/3 through 3FFF::/3.
In practice, most GUAs in use today start with 2001:.
See IPv6 Basic Configuration Lab
for hands-on configuration.
| Component | Bits | Description |
|---|---|---|
| Global Routing Prefix | 48 | Assigned by ISP or Regional Internet Registry (RIR) — identifies the organisation's site globally |
| Subnet ID | 16 | Chosen by the organisation's network administrator — used to create up to 65,536 internal subnets within the site. See Subnetting & VLSM. |
| Interface ID | 64 | Identifies the specific interface within the subnet — manually assigned or auto-generated via EUI-64 or SLAAC |
2001:DB8::/32
(RFC 3849) is reserved for use in documentation, examples, and
textbooks — it is never routed on the real Internet. You will see it
extensively in CCNA materials, including this page.
6. Link-Local Addresses
Link-local addresses are mandatory on every IPv6-enabled interface. They are automatically generated when IPv6 is enabled and are only valid on the local link — they are never routed beyond the directly connected network segment. Every IPv6 router and host has at least one link-local address per interface, even if no global unicast address is configured.
Key Characteristics of Link-Local Addresses
| Characteristic | Detail |
|---|---|
| Prefix | FE80::/10 — all link-local addresses begin with
FE80 through FEBF (though FE80::/64 is by far the most common) |
| Scope | Local link only — a router will never forward a packet with a link-local source or destination address |
| Mandatory | Every IPv6-enabled interface must have a link-local address —
it is generated automatically when ipv6 enable or
ipv6 address is configured |
| Uses | Neighbor Discovery Protocol (NDP), Router Advertisements (RA), routing protocol next-hops (OSPFv3, EIGRPv6 use link-local as next-hop), default gateway for SLAAC hosts |
| Uniqueness | Must be unique only on the local link — the same link-local address can appear on interfaces in different networks |
| Manual assignment | Can be manually set for simplicity:
ipv6 address FE80::1 link-local |
Configuring a link-local address on a Cisco router interface:
Router(config)# interface gigabitEthernet 0/0
Router(config-if)# ipv6 address FE80::1 link-local
! Or enable IPv6 and let the router auto-generate a link-local from MAC:
Router(config-if)# ipv6 enable
! Verify:
Router# show ipv6 interface gigabitEthernet 0/0
GigabitEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::1
See: Link-Local vs Global Unicast |
IPv6 Neighbor Discovery |
show ipv6 interface
7. Unique Local Addresses (ULA)
Unique Local Addresses (ULAs) are the IPv6 equivalent of IPv4 private addresses (RFC 1918 — 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 — see IPv4 Address Structure). They are routable within a private network or organisation but are not routable on the global Internet.
| Feature | Unique Local (ULA) | IPv4 Private (RFC 1918) |
|---|---|---|
| Prefix | FC00::/7 (FD00::/8 in practice) | 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 |
| Internet routable | No | No |
| Globally unique | Very likely (due to random 40-bit Global ID) | No — same private ranges used everywhere |
| NAT required for Internet | Typically yes (if Internet access needed) | Yes |
| Use case | Private internal networks, merged organisations, always-available internal addressing | Private internal networks |
8. Multicast Addresses
IPv6 has no broadcast. The functions that IPv4 handled with broadcast (ARP, router discovery, DHCP discovery) are performed in IPv6 using multicast. A multicast packet is sent once and delivered to all members of the multicast group — but only to those members, not to everyone on the network.
Well-Known IPv6 Multicast Groups
| Address | Scope | Group | IPv4 Equivalent |
|---|---|---|---|
FF02::1 |
Link-local | All nodes — every IPv6 device on the link | 255.255.255.255 (limited broadcast) |
FF02::2 |
Link-local | All routers — every IPv6 router on the link. Used by SLAAC Router Solicitation. | 224.0.0.2 (all routers) |
FF02::5 |
Link-local | All OSPFv3 routers | 224.0.0.5 |
FF02::6 |
Link-local | All OSPFv3 DR/BDR routers | 224.0.0.6 |
FF02::9 |
Link-local | All RIPng routers | 224.0.0.9 |
FF02::A |
Link-local | All EIGRPv6 routers | 224.0.0.10 |
FF02::1:2 |
Link-local | All DHCPv6 relay agents and servers. See DHCPv6 & SLAAC Lab. | N/A |
FF05::1:3 |
Site-local | All DHCPv6 servers | N/A |
FF02::1:FF00:0/104 |
Link-local | Solicited-node multicast (see Section 9) | N/A |
Multicast MAC Address Mapping
9. Solicited-Node Multicast Address
The solicited-node multicast address is a special link-local multicast address automatically derived from a unicast or anycast address. It is used by the Neighbor Discovery Protocol (NDP) to resolve IPv6 addresses to MAC addresses — replacing the IPv4 ARP broadcast mechanism with a more efficient targeted multicast.
10. EUI-64 Interface ID Generation
EUI-64 (Extended Unique Identifier — 64-bit) is a method for automatically generating the 64-bit Interface ID portion of an IPv6 address from a device's 48-bit MAC address. It is used by both SLAAC (stateless address autoconfiguration) and the router's automatic link-local address generation.
EUI-64 Process — Step by Step
The Universal/Local (U/L) Bit
Configuring EUI-64 on a Cisco Router Interface
! Assign an IPv6 address using EUI-64 for the Interface ID:
Router(config)# interface gigabitEthernet 0/0
Router(config-if)# ipv6 address 2001:DB8:ACAD:1::/64 eui-64
! The router generates the Interface ID automatically from the interface MAC.
! Verify the resulting full address:
Router# show ipv6 interface gigabitEthernet 0/0
GigabitEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::0211:22FF:FE33:4455
Global unicast address(es):
2001:DB8:ACAD:1:211:22FF:FE33:4455, subnet is 2001:DB8:ACAD:1::/64 [EUI]
See: SLAAC – Stateless Address Autoconfiguration |
show ipv6 interface |
IPv6 Basic Configuration Lab
11. Anycast Addresses
An anycast address is assigned to multiple interfaces (typically on multiple devices). A packet sent to an anycast address is delivered to the topologically nearest interface that holds that address — as determined by the routing protocol. Anycast provides a form of geographic or topological load distribution and redundancy without requiring the sender to know which specific device responds.
| Feature | Unicast | Multicast | Anycast |
|---|---|---|---|
| Assigned to | One interface | A group of interfaces | Multiple interfaces (typically different devices) |
| Delivered to | That single interface | All group members | The nearest member (by routing metric) |
| Address range | Depends on type (GUA, ULA, etc.) | FF00::/8 | From global unicast or ULA space — no special prefix |
| IPv6 broadcast equivalent? | No | Yes (FF02::1) | No |
anycast keyword:
ipv6 address 2001:DB8::CAFE:1/128 anycast. Without the
keyword, Cisco treats it as a regular unicast address.
12. Loopback and Unspecified Addresses
12.1 Loopback Address — ::1/128
The IPv6 loopback address is ::1 (expanded:
0000:0000:0000:0000:0000:0000:0000:0001). It is the
equivalent of IPv4's 127.0.0.1. A packet sent to
::1 is processed locally by the protocol stack and
never leaves the device. It is used to test whether the TCP/IP stack
on a device is functioning correctly.
Loopback address: ::1/128 (single host /128 prefix) Full form: 0000:0000:0000:0000:0000:0000:0000:0001 Test IPv6 stack on a host: C:\> ping ::1 Pinging ::1 with 32 bytes of data: Reply from ::1: time<1ms Reply from ::1: time<1ms On a Cisco router: Router# ping ipv6 ::1
Use ping ::1 to verify the local IPv6 stack is operational —
the IPv6 equivalent of ping 127.0.0.1.
12.2 Unspecified Address — ::/128
The unspecified address is :: (all 128 bits zero,
written as ::). It is the equivalent of IPv4's
0.0.0.0. It is used as the source address in packets
sent by a device that has not yet been assigned an IPv6 address —
for example, during the DAD (Duplicate Address Detection) process
when a device is checking whether its tentative address is already
in use on the link.
12.3 Default Route — ::/0
The IPv6 default route is ::/0 — a prefix length of zero
matches all IPv6 addresses, exactly as 0.0.0.0/0 does in IPv4.
See Static Routing Configuration
for configuration examples.
Configure IPv6 default route on a Cisco router: Router(config)# ipv6 route ::/0 <next-hop-address> Router(config)# ipv6 route ::/0 gigabitEthernet 0/1 ! exit interface method Verify: Router# show ipv6 route S ::/0 [1/0] via 2001:DB8:1::1, GigabitEthernet0/1
13. IPv6 Address Types — Complete Reference
| Type | Prefix / Address | Scope | Description |
|---|---|---|---|
| Global Unicast (GUA) | 2000::/3 |
Global | Globally routable — equivalent to public IPv4. Starts with 2 or 3 in hex. |
| Link-Local | FE80::/10 |
Link only | Auto-generated on every IPv6 interface; never routed; used for NDP, routing next-hops. See Link-Local vs Global Unicast. |
| Unique Local (ULA) | FC00::/7 (FD00::/8 used) |
Site / org | Private addressing — not Internet-routable; equivalent to RFC 1918. NAT required for Internet access. |
| Multicast | FF00::/8 |
Varies (scope field) | One-to-many delivery; replaces IPv4 broadcast; well-known groups (FF02::1, FF02::2, OSPFv3 FF02::5/FF02::6, etc.) |
| Anycast | From unicast space | Global / site | Assigned to multiple interfaces; delivered to nearest; used for DNS, CDN, redundancy |
| Loopback | ::1/128 |
Local host | Equivalent to 127.0.0.1; tests local IPv6 stack with ping ::1; never leaves the device |
| Unspecified | ::/128 |
N/A | Equivalent to 0.0.0.0; used as source during DAD and initial DHCPv6; never a destination |
| Solicited-Node Multicast | FF02::1:FF00:0/104 |
Link-local | Auto-generated from unicast address; used by NDP to replace ARP broadcasts |
| Default Route | ::/0 |
Global | Matches all IPv6 destinations; equivalent to 0.0.0.0/0 in IPv4. See Static Routing Configuration. |
| Documentation | 2001:DB8::/32 |
N/A (not routed) | Reserved for examples and documentation (RFC 3849); never assigned or routed |
14. IPv6 Addressing Quiz
Related Topics & Step-by-Step Tutorials
Continue your IPv6 studies:
- IPv6 – Addressing, Features, Configuration, and Tran… — IPv6 overview — why IPv6, address space, header
- IPv6 Addressing – Types & Structure — IPv6 address types and notation
- IPv6 Link-Local vs Global Unicast — link-local vs global unicast addresses
- IPv6 Neighbor Discovery Protocol (NDP) — NDP — replacing ARP, router discovery, SLAAC
- SLAAC – Stateless Address Autoconfiguration — SLAAC — stateless address auto-configuration
- IPv6 Basic Configuration (Step-by-Step)
- IPv6 DHCPv6 — Stateful & Stateless (SLAAC) (Step-by-Step)
- IPv6 Routing (Step-by-Step)
- IPv6 Security — RA Guard & DHCPv6 Guard (Step-by-Step)