Congestion-triggered Multipath Routing based on Shortest Path Information Soonyong Sohn and Brian L. Mark Dept. of Electrical and Computer Engineering George Mason University Fairfax, Virginia 22030 Email: {ssohn, bmark}@gmu.edu John T. Brassil Hewlett-Packard Laboratories 5 Vaughn Drive, Suite 301 Princeton Junction, New Jersey 08540 Email: jack.brassil@hp.com Abstract— We present a multipath routing scheme that is designed to increase throughput and alleviate congestion in networks employing shortest path routing. The multipath rout- ing scheme consists of an algorithm to determine a set of multiple disjoint or partially disjoint paths and a mechanism for distributing traffic over a multipath route to reduce the traffic load on a congested link. The algorithm for finding multipath routes is based on shortest path routing and does not require pre-establishment of paths or support for source routing. The mechanism for multipath traffic distribution is triggered at a node when the average load on an outgoing link exceeds a threshold. Our simulation results demonstrate that the proposed congestion-triggered multipath routing scheme can effectively improve network performance by exploiting routing redundancies inherent in the network topology. I. I NTRODUCTION Most computer networks currently employ routing protocols based on shortest path routing algorithms which determine a single path of minimum cost or length among all paths between a given pair of nodes. Representative shortest path routing protocols in the Internet include RIP [1], OSPF [2], and BGP [3]. In these routing protocols, the path length is typically taken as the hop count, i.e., the link cost is taken to be unity by default. Another link metric that is often used in conjunction with shortest path routing algorithms is link latency. Under shortest path routing, all packets associated with a given source-destination pair generally traverse a single path of shortest length, even though other paths may be available. Consequently, shortest path routing can lead to network congestion and underutilized links. In multipath routing, packets belonging to a source-destination pair may be transmitted over multiple paths. Some of the potential benefits of multipath routing include load balancing [4], higher network throughput [4], [5], reduction of routing oscillation, the alleviation of congestion [6], [7], and improved packet delivery reliability [8]. In spite of the considerable attention that multipath routing has received in the research literature, it is rarely implemented in practical networks, most notably the Internet. Deployment of multipath routing involves two major challenges: (1) finding a suitable set of paths to form a multipath route; (2) dis- tributing traffic over a multipath route. Finding a multipath route can be considerably more challenging than finding a shortest path. Moreover, multipath routing may require signif- icant changes to the network routing infrastructure. Given a multipath route, the policy for traffic distribution is critical to end-to-end throughput performance. In fact, it is well-known that multipath routing can lead to worse performance than the conventional shortest path routing. The main contributions of this paper are two-fold: (1) a simple algorithm to determine multipath routes, which can be implemented on top of a shortest path routing algorithms without major changes to the network infrastrcture; (2) a mechanism to distribute traffic over a multipath route based on link utilization measurements. The proposed algorithm for finding multiple paths between a source and destination node involves examinining and classifying the set of shortest paths to the destination from the neighbors of the source node. Ideally, the set of paths in a multipath route should be link disjoint to maximize routing diversity, but partially disjoint paths may be sufficient for the purposes of congestion avoidance. Multipath routing is triggered at a node when the average utilization of an outgoing link exceeds a certain threshold. Traffic is then distributed over a multipath route to reduce the load on this particular link. The remainder of this paper is organized as follows. Sec- tion III develops an algorithm for finding multiple paths between a given pair of nodes, based on shortest path routing information. Section IV discusses a mechanism for congestion- triggered multipath traffic distribution. Section V presents simulation results showing the performance of the congestion- triggered multipath routing scheme in light vs. heavy traffic scenarios. Finally, Section VI concludes the paper. II. BACKGROUND AND RELATED WORK A. Basic concepts from graph theory A network can be represented by a directed graph G = (V,E) with node set V and link or edge set E. The number of nodes and links in the network are denoted by |V | and |E|, respectively. A link in E between nodes i and j is denoted as an ordered pair (i, j ), where i is referred to as the tail of the link and j is the head of the link. Link (i, j ) has an associated positive cost or length D(i, j ).