3

IPv6 Neighbor Advertisement messages have a flag called Override, see RFC4861. It toggles, whether the receiver of the message should remove other link-layer addresses for the same IPv6 target address from its cache. If the Override flag is not set, the receiver will continue to use the link-layer address of the first matching Neighbor Advertisement it received. To avoid congestion, such Neighbor Advertisements should be delayed by a random amount of time, with a fixed upper bound. This makes link-scope anycast addresses possible.

It looks to me like a mechanism for active-passive redundancy, but with no control (due to the random delay) over which link-layer address becomes the active destination, which makes it seem more like load-balancing. It reminds me of VRRP, but with less deterministic/controllable behavior.

My questions is: For what does it make sense to use such link-scope anycast addresses?

1

VRRP, and other FHRPs, really should be deterministic, but there are other services that have no need to be so deterministic. For services that must be deterministic, then protocols can be created to provide that, but building something into the network protocol for services that do not have that need simplifies things because we do not need add-on protocols for each of those services.

IPv6 was designed with small IoT devices in mind. For example, PCs can be configured with multiple DNS, NTP, etc. servers, and the PCs will request resolution from all the configured DNS servers, using the first response. A small, memory and code constrained IoT device may only be able to have a single DNS server configured, so you may want multiple DNS servers all configured with the DNS anycast address for redundancy.

One could argue that much of this could be done with multicast, and IPv6 does do a lot with multicast, but you really do not want to try to retrofit some services for multicast. Having both multicast and anycast provides service designers with flexibility.

Also, remember that anycast is forward looking for services that do not yet exist. It is a simple thing to add this feature to IPv6 from the start, and, even if it is not used, it does not cause any problems.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.