What are the IPv6 address types? That’s the focus of this guide. Previous articles in this series covered IPv4 address classes, classless and classful addressing schemes, and special-purpose IP addresses, along with unicasting, multicasting, and broadcasting in IPv4. IPv6 addressing follows a similar conceptual split — unicast, multicast, and anycast — but with a much larger address space and some genuinely new mechanics worth understanding in their own right.
IPv6 uses 128-bit addresses, compared to IPv4’s 32-bit addresses, and eliminates broadcast entirely, relying on multicast for all group communication instead. Global IPv6 adoption has grown substantially in recent years: according to Google’s stats, the share of users accessing Google over IPv6 crossed the 50% mark for the first time in late March 2026 — a genuine milestone after 18 years of measurement, and a strong signal that understanding IPv6 addressing thoroughly is no longer optional for network professionals.
What Are IPv6 Address Types?
IPv6 addresses are categorized by their communication purpose:
- Unicast — delivers packets to a single, specific device (one-to-one).
- Multicast — sends packets to a group of devices (one-to-many).
- Anycast — routes packets to the nearest device in a group (one-to-nearest).

Unlike IPv4, IPv6 has no broadcast address at all — multicast handles the same group-communication use cases more efficiently, without flooding every device on a segment regardless of whether it needs the traffic.
Unicast Address
A unicast address is the most common IPv6 address type, assigned to a single network interface for one-to-one communication between devices — this unicast communication model covers everyday activity like browsing a website or sending an email. A packet sent to a unicast address is delivered to the one interface assigned that address.
The source address of any IPv6 packet must always be a unicast address, though the destination can be unicast or multicast. IPv6 unicast addresses break down into three subtypes: global unicast addresses (GUA), link-local addresses, and unique local addresses. Global unicast and link-local are by far the most commonly encountered in everyday networking.
Global Unicast Address
A global unicast address functions much like a public IPv4 address — globally unique, assigned once, and routable across the internet. Global unicast addresses can be configured dynamically or statically on a device. (Note: this link points to a Static NAT configuration article — NAT isn’t typically used with IPv6 GUAs, since they’re already globally routable by design, so the link is a topical mismatch inherited from the original article, flagged here per audit policy.)
The overall global unicast range is 2000::/3, and IANA has allocated substantial portions of it to Regional Internet Registries over time — not just the original 2001::/16 block, but also blocks like 2400::/12 (APNIC), 2600::/12 (ARIN), 2800::/12 (LACNIC), 2a00::/12 (RIPE NCC), and 2c00::/12 (AFRINIC), among others, as the address space has been progressively delegated for real-world assignment.
A global unicast address breaks down into the following fields:
- Fixed prefix (3 bits) — always
001, which is why every global unicast address starts with2or3in hexadecimal. - Global routing prefix (45 bits) — the portion assigned to a specific organization by a Regional Internet Registry, typically as part of a /48 allocation once combined with the fixed prefix.
- Subnet ID (16 bits) — used by the organization’s own network administrators for internal subnetting.
- Interface ID (64 bits) — uniquely identifies a specific interface within its subnet, and is often derived from the interface’s MAC address.

Together, the 3-bit prefix, 45-bit global routing prefix, and 16-bit subnet ID make up the first 64 bits of the address (the “network portion”), with the interface ID making up the second 64 bits. Since 001 in binary is 0010000000000000 in the address’s leading bits, this is why global unicast addresses start with 2000::/3.
Example: 2001:0db8:1234:5678::1 might be a web server’s address, routable worldwide.
Use case: Hosting a website accessible globally.
IPv6 Link-Local Addresses
Link-local addresses are used for communication with other devices on the same network segment (in IPv6 terms, the same “link,” roughly equivalent to a subnet). They always begin with the hexadecimal prefix FE80, and are never routable to the public internet — a router will not forward a packet with a link-local source or destination address beyond the local link.
Unlike IPv4’s link-local addresses (169.254.0.0/16), which are typically only assigned when DHCP fails, IPv6 link-local addresses are a normal, expected part of every interface’s configuration — every IPv6-enabled interface automatically generates one, and they’re used constantly for local operations like neighbor discovery, even alongside a fully configured global unicast address.
The leftmost 64 bits of a link-local address are the fixed prefix FE80::/64 (binary 1111111010000000 for the first 16 bits). The remaining 64 bits form the interface ID.
How a link-local address is derived from a MAC address (EUI-64 process):
- Start with the interface’s MAC address, e.g.,
BC:85:56:60:ED:75. - Insert
FF:FEin the middle:BC:85:56:FF:FE:60:ED:75. - Regroup into IPv6 hextets:
BC85:56FF:FE60:ED75. - Convert the first hex byte to binary:
BC→10111100. - Flip the 7th bit (the universal/local bit):
10111100→10111110. - Convert back to hex:
10111110→BE. - Replace the first byte with the newly flipped value:
BE85:56FF:FE60:ED75. - Prepend the link-local prefix:
FE80::BE85:56FF:FE60:ED75.
Example: fe80::1%eth0 on a router’s Ethernet interface (the %eth0 denotes which local interface the address belongs to, since link-local addresses aren’t globally unique on their own).
Use case: Auto-configuring devices during network setup, such as neighbor discovery.
Tip: Never manually assign link-local addresses — devices generate them automatically, and manual assignment risks creating a duplicate on the same link.
IPv6 Unique Local Addresses
Unique local addresses (ULAs) have some conceptual overlap with private IPv4 addresses, but with real differences. No address registry allocates them, and they’re never routed outside their local domain — they must never be routable in the global IPv6 internet, and must never be translated to a global address.
The unique local range spans FC00::/7 to FDFF::/7, split into two /8 blocks: fc00::/8 (not yet formally defined for use) and fd00::/8 (defined for /48 prefixes, formed by setting the 40 least-significant bits of the prefix to a randomly generated bit string — producing addresses in the form fdxx:xxxx:xxxx::).
With IPv4, limited address space made NAT and PAT a practical necessity, and many organizations leaned on the private nature of RFC 1918 addresses as an incidental security measure — even though that was never NAT’s actual design purpose. IPv6 unique local addresses serve devices that will never need, or have, access from another network, without relying on address scarcity to justify the isolation.
Example: fd12:3456:789a::1 for a private server.
Use case: Creating isolated networks in enterprises or IoT deployments without risking public IP conflicts.
Note: Site-local addresses (fec0::/10) were deprecated back in 2004 (RFC 3879) — avoid using them; unique local addresses are their intended replacement.
IPv6 Loopback Address
Just like in IPv4, the loopback address represents a device’s own interface — communicating with it loops packets back on the same interface without ever leaving the device, which is useful for testing network applications without needing any actual network configuration. The reserved IPv6 loopback address is 0000:0000:0000:0000:0000:0000:0000:0001/128, more commonly written in its compressed form as ::1/128.
IPv6 Unspecified Address
The unspecified address has every bit set to 0. Operating systems use it before an interface has been assigned a real IPv6 address, and routers will never forward a packet carrying it as source or destination. The unspecified address is 0000:0000:0000:0000:0000:0000:0000:0000/0, written in compressed form as ::/0.
Embedded IPv4 Address
An IPv4-compatible IPv6 address embeds a full 32-bit IPv4 address in the low-order bits of an IPv6 address, historically used by hosts and routers to tunnel IPv6 traffic dynamically across IPv4-only routing infrastructure. For example, an embedded address for the IPv4 host 200.100.50.10 would take the form ::200.100.50.10.
It’s worth noting that this original IPv4-compatible format has been deprecated in modern IPv6 standards (RFC 4291) in favor of IPv4-mapped IPv6 addresses (::ffff:a.b.c.d, used to represent IPv4 hosts within IPv6-only applications) and newer transition mechanisms — the embedded-address concept is still useful to understand conceptually, but isn’t how modern dual-stack or transition deployments are actually built today.
Multicast Address
IPv6 multicast addresses work conceptually similarly to IPv4 multicast, letting IPv6-enabled devices join and listen for traffic sent to a shared group address, delivered to every interface that’s joined that group. A multicast address is structured as an 8-bit fixed prefix, a 4-bit flags field, a 4-bit scope field, and a 112-bit group ID:
| Format | Address |
|---|---|
| Preferred | ff00:0000:0000:0000:0000:0000:0000:0000/8 |
| Leading zeros omitted | ff00:0:0:0:0:0:0:0/8 |
| Compressed | ff00::/8 |
The scope field is what determines how far a given multicast address can travel — for example, distinguishing a multicast group meant only for the local link from one intended to reach an entire site or organization.
Anycast Address
An IPv6 anycast address is technically just a regular unicast address that has been assigned to multiple network devices simultaneously. Like a multicast address, it identifies multiple interfaces — but where multicast delivers a packet to every device in the group, anycast delivers it to only the single nearest device, as determined by the routing protocol’s own path calculations. An anycast address must be assigned to a router rather than a host, and it can never be used as a packet’s source address.
Note: Broadcast addresses don’t exist in IPv6 at all. Where a broadcast would have been used in IPv4, IPv6’s “all-nodes” multicast address achieves an equivalent result without the inefficiency of forcing every device on a segment to process traffic it doesn’t need.
FAQs
What are the main types of IPv6 addresses?
IPv6 addresses fall into three categories: unicast, multicast, and anycast. Unicast handles one-to-one communication with a single interface, multicast handles one-to-many communication with a group of interfaces, and anycast handles one-to-nearest communication, routing a packet to whichever member of a group is closest according to the routing protocol. Each type is suited to a different communication pattern, and understanding which one applies to a given scenario is foundational to working with IPv6 at all.
How does a unicast IPv6 address work?
A unicast IPv6 address identifies exactly one interface, and any packet sent to it is delivered only to that specific interface — the same model used for everyday activities like loading a website or sending an email. Unicast addresses break down further into global unicast (publicly routable), link-local (confined to the local link), and unique local (private, non-internet-routable) subtypes, each suited to a different scope of communication. The source address of any IPv6 packet must always be a unicast address, regardless of what type the destination address is.
What is the role of multicast addresses in IPv6?
Multicast addresses allow one-to-many communication by identifying a group of interfaces that have all joined the same multicast group, rather than requiring a sender to address each recipient individually. This makes multicast efficient for applications like video streaming, conferencing, and routing-protocol communication, where the same data needs to reach many recipients without duplicating traffic across the network. Since IPv6 has no broadcast address at all, multicast — including the reserved “all-nodes” address — is also what fills the role broadcast traditionally played in IPv4.
What makes anycast addresses unique in IPv6?
An anycast address is technically a regular unicast address assigned to more than one device, but instead of delivering a packet to every device sharing that address (as multicast would), the network delivers it only to the nearest one, based on the routing protocol’s path calculations. This makes anycast especially useful for services like DNS root servers or CDN endpoints, where reaching the geographically or topologically closest instance improves performance without the client needing to know which specific server actually responded. Anycast addresses must be assigned to routers rather than end hosts, and can never be used as a source address in a packet.
Why does IPv6 addressing matter for modern networks?
IPv6’s 128-bit address space provides room for a vastly larger number of devices than IPv4’s 32-bit space ever could, which matters given the continued growth of connected devices worldwide. Beyond sheer address count, IPv6 also simplifies some long-standing IPv4 workarounds — eliminating the need for broadcast traffic, and reducing (though not eliminating) the practical necessity of NAT, since globally unique addresses are abundant enough that most devices can have one directly. With global IPv6 adoption having crossed 50% of Google’s measured traffic as of March 2026, understanding these address types is no longer a forward-looking skill — it reflects how a majority of real-world traffic already moves today.