An IPv6 address is not just a longer version of an IPv4 address; its structure fundamentally dictates communication patterns across networks in ways that are often misunderstood.
Let’s see what this actually looks like in practice. Imagine you have a server at 2001:db8:abcd:1::1 that needs to send a packet.
If that packet is destined for ff02::1, it’s going to every IPv6-enabled device on the local link. This is multicast.
If the packet is destined for 2001:db8:abcd:1::1 (itself), it’s unicast.
If the packet is destined for 2001:db8:abcd:1::2, it’s also unicast, but to a specific other device.
Now, imagine 2001:db8:abcd:1::3 is an anycast address. If you send a packet to 2001:db8:abcd:1::3, the router will forward it to the closest device configured with that address. This is the core of anycast.
The system you’re interacting with is the internet protocol suite, specifically IP version 6. The problem it solves is addressing and routing on a global scale, but with a vastly expanded address space compared to IPv4 and a more structured approach to different communication needs.
Unicast: This is the one-to-one communication you’re most familiar with. A single source sends a packet to a single destination. In IPv6, unicast addresses are globally unique (if they are global unicast addresses) or unique within a specific scope (like link-local).
- Global Unicast Addresses: These are routable on the internet. They typically start with
2or3(e.g.,2001:db8::1). - Link-Local Addresses: These are only valid on the local network segment (link). They always start with
fe80::(e.g.,fe80::a1b2:c3d4:e5f6:7890). These are crucial for local discovery and management. If you see an interface with an address likefe80::1%eth0, that%eth0tells you it’s a link-local address scoped to theeth0interface. - Unique Local Addresses (ULAs): These are for private networks and are not routable on the internet. They start with
fc00::orfd00::(e.g.,fd00::1000:abcd:ef01:2345).
Multicast: This is a one-to-many communication. A single source sends a packet to a group of destinations that have all joined that specific multicast group.
- Multicast Addresses: These always start with
ff00::. The second octet determines the scope and lifetime of the multicast group.ff02::is for the link-local scope (only on the current network segment).ff02::1is the "all nodes" address on the link, andff02::2is the "all routers" address.ff05::is for the site-local scope (within an organization’s network).ff08::is for the organization-local scope.ff0e::is for the global scope.
- How it works: Devices that want to receive traffic for a specific multicast address join that group. Routers then ensure that multicast traffic is only forwarded to links where members of that group exist.
Anycast: This is a one-to-nearest communication. A single source sends a packet to a group of interfaces, but the packet is delivered to only one of those interfaces – the one that the routing system determines is "closest" based on routing metrics.
- Anycast Addresses: These are not a separate address type with a specific prefix. Any unicast address can be designated as an anycast address. The network infrastructure (routers) is configured to recognize that multiple interfaces share the same anycast address.
- How it works: When a router receives a packet for an anycast address, it consults its routing table to find the next hop that leads to the "closest" interface configured with that address. This is commonly used for providing redundant and highly available services, like DNS root servers. If you query a DNS root server, your packet is routed to the nearest one.
The most surprising thing about anycast is that it doesn’t require a special address prefix; it’s a routing concept applied to unicast addresses. When you configure multiple servers with the exact same IP address and advertise that address via BGP, the network automatically handles the "nearest" routing.
The next concept you’ll likely encounter is IPv6 Neighbor Discovery Protocol (NDP), which uses ICMPv6 to perform functions like address resolution (the IPv6 equivalent of ARP) and router discovery, and relies heavily on multicast addresses.