Why IPv6 Addressing Is Structurally Different from IPv4
In IPv4, a router facing an address it does not recognize has one fallback: broadcast. Send the packet to every device on the local segment and hope the right one answers. Broadcast works in small networks. At scale, it generates constant background noise — every device on the subnet must wake its CPU to process every broadcast packet, evaluate whether the packet is relevant, and discard it if not. On a busy /24 with 200 active hosts, broadcast traffic creates thousands of unnecessary interruptions per minute.
IPv6 was designed with this problem in mind. The broadcast address type was eliminated entirely. In its place, IPv6 defines three addressing types — unicast, anycast, and multicast — that are precise, targeted, and efficient. Understanding the difference between these three types is foundational knowledge for anyone managing IPv6 networks or trying to understand why IPv6 behaves differently from IPv4.
Unicast: One Source, One Destination
A unicast address identifies a single network interface on a single device. A packet sent to a unicast address is delivered to exactly that one interface and nowhere else. This is the addressing type used for virtually all normal internet traffic: your browser connecting to a web server, an SSH session, an API call, a DNS query response.
IPv6 defines several categories of unicast address:
- Global Unicast Addresses (GUA): Currently allocated from the
2000::/3range (addresses starting with 2 or 3 in the first hex group). These are globally routable, analogous to public IPv4 addresses. When you see an IPv6 address like2001:db8::1, that is a global unicast address. - Link-Local Addresses: Always in the
fe80::/10range. Automatically generated on every IPv6-capable interface. Used exclusively for communication between devices on the same physical link — neighbor discovery, router solicitation, and on-link routing. Link-local addresses are never forwarded by routers beyond the local segment. - Unique Local Addresses (ULA): The
fc00::/7range (in practice, addresses starting withfd). The IPv6 equivalent of RFC 1918 private space. Routable within an organization but not globally routed on the public internet. Used for internal addressing that should not be reachable from outside the organization. - Loopback: The single address
::1. The IPv6 equivalent of 127.0.0.1. Used to send packets to the same device for testing the local networking stack.
A device can — and routinely does — have multiple unicast addresses on a single interface simultaneously: a link-local address, a stable global unicast address, and one or more temporary global unicast addresses generated by Privacy Extensions. The OS selects the appropriate source address based on the destination using the rules in RFC 6724.
Multicast: One Source, Many Destinations
A multicast address identifies a group of interfaces that have expressed interest in receiving packets for that group. A packet sent to a multicast address is delivered to every interface that has joined the group — and only those interfaces. Devices not in the group receive nothing, not even the packet header.
IPv6 multicast addresses are in the ff00::/8 range. The structure after the initial ff byte includes flag bits and a scope field that controls how far the packet can be forwarded:
ff01::— Interface-local scope (only the originating interface)ff02::— Link-local scope (only the local link, not forwarded by routers)ff05::— Site-local scope (within the organization)ff0e::— Global scope (internet-wide routing)
Multicast replaces all of the broadcast use cases from IPv4 and several functions that previously required separate protocols. Key multicast groups include:
ff02::1— All nodes on the local link (replaces the IPv4 all-hosts broadcast255.255.255.255)ff02::2— All routers on the local link (used by Router Solicitation messages)ff02::1:ff00:0/104— Solicited-node multicast (used by Neighbor Discovery to find specific devices, replacing ARP broadcasts)
The solicited-node multicast address is particularly elegant. Rather than broadcasting an ARP request to all 200 devices on a subnet to find one device's MAC address, IPv6 sends a Neighbor Solicitation to a specific solicited-node multicast group that is constructed from the target address's lower 24 bits. Only devices whose addresses share those lower 24 bits receive the packet — typically just one or two devices. This reduces ARP-equivalent traffic by orders of magnitude on large subnets.
Anycast: One Source, Nearest Destination
Anycast is the most operationally interesting of the three types and the one with no direct IPv4 equivalent (though IPv4 anycast is implemented in practice using BGP, without protocol-level designation). An anycast address is assigned to multiple interfaces — typically on multiple servers in multiple geographic locations — and configured so that routing infrastructure directs each packet to the topologically nearest instance of that address.
From the sender's perspective, an anycast address looks identical to a unicast address. The packet is sent to one destination and arrives at one destination. What is different is that the destination is determined by the routing topology rather than by the address itself — the packet always ends up at whatever server advertising that address is closest in routing terms.
Anycast has three major use cases in deployed infrastructure:
- DNS root servers: There are 13 logical root name servers (named a through m), but each one is deployed on hundreds of physical servers worldwide using anycast. Your DNS resolver queries
198.41.0.4(the address for a.root-servers.net in IPv4) and reaches the physically nearest instance automatically. - Content Delivery Networks: CDN operators assign the same IP address block to edge servers on multiple continents. Client traffic naturally reaches the nearest edge node without requiring the client to know which server to contact.
- DDoS protection: Anycast routing distributes attack traffic across all instances of the anycast address simultaneously, preventing any single datacenter from being overwhelmed by a volumetric attack concentrated on one IP.
IPv6 Addressing Types Comparison
| Type | Address Range | Delivery Model | Routed Beyond Local Link | Primary Use Case |
|---|---|---|---|---|
| Global Unicast | 2000::/3 | One to one | Yes (globally) | Internet traffic, servers, clients |
| Link-Local Unicast | fe80::/10 | One to one | No | Neighbor discovery, on-link routing |
| Unique Local | fc00::/7 (fd::/8 in practice) | One to one | Within organization only | Internal private addressing |
| Loopback | ::1/128 | Self only | No | Local stack testing |
| Multicast | ff00::/8 | One to group members | Scope-dependent | Neighbor discovery, routing protocols, streaming |
| Anycast | From global unicast range | One to nearest | Yes | DNS, CDN, DDoS mitigation |
| IPv4 Broadcast (removed) | x.x.x.255 | One to all on subnet | No | ARP, DHCP (replaced in IPv6) |
How Neighbor Discovery Uses Multicast
The Neighbor Discovery Protocol (NDP) is the IPv6 replacement for ARP. In IPv4, resolving a MAC address for a known IP requires sending a broadcast that every device on the subnet must process. NDP uses solicited-node multicast instead. Every IPv6-capable interface automatically joins the solicited-node multicast group corresponding to its address — this group is ff02::1:ff followed by the lower 24 bits of the interface's IPv6 address.
When a device needs to resolve an IPv6 address to a MAC address, it sends a Neighbor Solicitation to the target's solicited-node multicast group. Only devices sharing those lower 24 bits of their address receive the packet. On a large subnet, this means a 200-device ARP broadcast in IPv4 becomes a targeted solicited-node multicast reaching at most a handful of devices — often just one. The CPU and power savings at scale are significant.
Common Misconceptions
IPv6 anycast is the same as load balancing
Anycast and load balancing are different mechanisms. Anycast routes packets to the nearest instance based on routing topology — clients in Europe reach a European server; clients in Asia reach an Asian server. Load balancing distributes requests among multiple servers in the same location based on capacity or round-robin algorithms. They are complementary: a CDN typically uses anycast to route users to the nearest datacenter and then uses load balancing within that datacenter to distribute requests among servers.
Multicast requires special hardware to work
Basic link-local multicast (ff02::/16 scope) works on any Ethernet switch without special configuration — switches flood link-local multicast to all ports just as they would handle unknown addresses. For site-scoped or global multicast that must traverse routers, the network needs to run a multicast routing protocol (like PIM) and the routers need to support it. This is where additional configuration is required, but it is a software/configuration matter on modern equipment, not a hardware limitation.
All IPv6 addresses starting with 2 are global unicast
Currently yes — all global unicast addresses are allocated from 2000::/3, which includes addresses starting with bits 001 (covering the hex range 2000:: through 3fff::). But this is an allocation policy, not a protocol rule. The IPv6 protocol design reserves 2000::/3 for global unicast. As allocation policies evolve, additional ranges could be assigned for global unicast in the future.
Loopback in IPv6 works exactly like IPv4
The function is identical — packets sent to ::1 loop back within the local stack without ever touching the network interface. The difference is there is only one IPv6 loopback address (::1/128), whereas IPv4 reserves the entire 127.0.0.0/8 block (over 16 million addresses) for loopback. IPv6 allocates a single address for this purpose, which is more efficient.
Pro Tips
- When debugging IPv6 multicast, use
ip maddr showon Linux to see which multicast groups each interface has joined — the solicited-node groups and all-nodes group should always be present on active interfaces. - To test anycast routing in your CDN or DNS infrastructure, use
traceroute6from multiple geographic locations and verify that each traces a different path to the same anycast IP address. - When configuring internal IPv6 addressing with ULA, generate a random /48 prefix using the RFC 4193 algorithm rather than arbitrarily choosing one — this prevents conflicts if your internal networks ever need to interconnect or merge.
- Link-local addresses (
fe80::/10) include a zone ID when used in application contexts on multi-interface hosts. The notationfe80::1%eth0specifies the interface (eth0) — without the zone ID, the OS does not know which interface to use for a link-local address. - For routing protocol adjacencies (OSPFv3, RIPng, BGP with IPv6 peers), use link-local addresses as the next-hop. This keeps routing protocol packets on the local link regardless of prefix renumbering, making the routing configuration more stable across address changes.
- Multicast Listener Discovery (MLD) snooping on managed switches reduces multicast traffic to only the ports that have joined specific groups. Enable MLD snooping on switches carrying IPv6 traffic to prevent multicast flooding to all ports, which can be significant on segments with many IPv6 devices.
The three IPv6 addressing types represent a deliberate redesign of how networks communicate — moving from noisy, all-inclusive broadcast to precise, efficient delivery mechanisms. Every network engineer working with IPv6 needs a solid understanding of when each type applies. Check which IPv6 addressing types your device currently uses.