Routing Algorithms for Anycast Messages Dong Xuan Weijia Jia Department of Computer Science City University of Hong Kong Kowloon, Hong Kong Phone: +852 2788 9701 Email: wjia@cs.cityu.edu.hk Wei Zhao Department of Computer Science Texas A & M University College Station, TX77843-3112 Phone: 409-845-5098 Email: zhao@cs.tamu.edu Abstract In this paper, we propose and analyze three routing algorithms for anycast packets: i) source-destination based routing with weighted random selection (SD/WRS), ii) destination based routing with weighted random selection (D/WRS), and iii) the shortest shortest path first (SSPF) algorithms. The SSPF algorithm is a simple extension to the traditional SPF algorithm for routing unicast packets. The SD/WRS and D/WRS algorithms explicitly take into account characteristics of anycast message traffic and its recipient group. As a result, our simulation study shows that both the SD/WRS and D/WRS algorithms perform much better than SSPF in terms of average end-to-end packet delay. In particular, SD/WRS performs very close to a dynamic optimal algorithm in most cases. Our algorithms are simple, efficient, and compatible with the most of existing routing technologies. We also formally prove the loop free and correctness properties for our algorithms. 1. Introduction In this paper, we address routing problems for anycast messages in packet switching networks. An anycast message is the one that should be delivered to one member in a group of designated recipients [PMM93]. Traditional unicast message is a special case of anycast message in that for an unicast message, the recipient group size is one. Using anycast communication services may considerably simplify some applications. For example, it is much easier for a client to find an appropriate server when there are multiple servers for one kind of service in a network. In particular, without anycast service, a domain name resolver (client) has to be configured with the IP addresses of all the associated Domain Name Service (DNS) servers. However, with anycast service, a resolver will only need to send a query with a well-known DNS anycast address whenever the resolver wants the services from a domain name server. As another example of anycast service, multiple mirrored Web sites can share a single anycast address, and users could simply send a request with the anycast address in order to obtain information (e.g., weather and stock quotes). Because more and more applications demand anycast services, in the latest version of IP specification, Ipv6, anycast has been defined as a standard service [DH95]. Several studies have been done on communication with anycast messages since the notion was introduced in [PMM93]. Generally speaking, the problems pertaining to anycast can be divided in two classes: management methods at application layer for using anycast services, and procedures and protocols at network layer for routing and addressing anycast messages. In [HD95], it was determined that the anycast addresses are allocated from the unicast address space with any of the defined unicast address format. In [BAZSF97], the implication of an anycasting service supported at the application layer was explored. The internet draft [B96] addressed the issue relevant to notifying a client the address of a server which is initially accessed via an anycast address. Little work has been done on routing anycast messages while extensive studies have been carried out for routing unicast and multicast messages [D88, E86, KJ83, SS80]. Routing in a network is concerned with determining a path for a message to travel from its source node to its destination node. There are two classes of routing approaches: single path routing and multiple path routing. With single path routing, the path of a given pair of source and destination hosts is unique. That is, the path for messages from the source to the destination is time invariant (unless, of course, the network topology changes). Single path routing is simple and easy to implement, and has been widely used in the internet. For example, the common routing protocol, RIP (Routing Information Protocol) uses the shortest path first (SPF) algorithm to select a single path that has the minimum value of an objective function. The objective function of a given path is usually defined by a numeric sum of the individual link parameters (e.g., number of hops, delay, bandwidth, etc.). A problem associated with single path routing is that it may overload the selected path and hence cause traffic congestion [KZ89]. The multiple path routing approach addresses this problem. Generally speaking, a multiple path routing algorithm will split traffic into several different paths. Many analyses have shown that the multiple path routing algorithms can increase network throughput and decrease message delay [JG93, JL92].