IPv4/IPv6 Anycast

Originally I intended to introduce you to anycast in Chapter 14, "Multicast Architectures." However, I am introducing it here instead because I consider its most important purpose is to add redundancy and load balancing to connectionless client/server services and improve availability and possibly latency.

Anycast is a communication model (network service) for IPv4 and IPv6. As originally described in RFC 1546, "Host Anycast Service," the purpose of anycast is to assign an identical anycast address to a group of geographically distributed nodes. IP datagrams approach the nearest destination node in the set of available destination nodes, based on the unicast routing measure of distance transparent to the clients. The network (routing system) decides where to guide the client request. An IPv4 anycast address is distinguishable from a unicast address because they are allocated from a special reserved range. This is different in IPv6.

The real-world applications of anycast I am aware of are limited to DNS root server concepts and Protocol Independent Multicast (PIM) rendezvous points, stateless protocols in general. For further details about anycast and the problems of protocols that maintain state, visit the excellent Carnegie Mellon resources at http://www.net.cmu.edu/pres/anycast/.