140 likes | 291 Views
On Multi-Path Routing. Aditya Akella 03/25/02. What is Multi-Path Routing?. Dynamically route traffic Multiple paths to a destination Path taken dependant on the relative load on candidate paths at flow-arrival time Help flows circumvent congested links
E N D
On Multi-Path Routing Aditya Akella 03/25/02
What is Multi-Path Routing? • Dynamically route traffic • Multiple paths to a destination • Path taken dependant on the relative load on candidate paths at flow-arrival time • Help flows circumvent congested links • Load balancing, improved response time
Static routing • For example, OSPF • After route update, pick path P with least cost • All flows between the same source and destination will follow P until the next update picks a different path P’ • Best candidate path information is stale for the update period
Multi-path routing vs. Static routing • Best candidate path of a flow is a function of the network state when the flow arrives • Avoids staleness, in some sense • Keeping accurate network state at every instant of time very tough • Multi-path routing uses estimated network state • Update estimated state at regular intervals
Past work and state-of-the-art Plenty of related work (but, will mainly discuss Shaikh and Rexford’s work) • Perform load-sensitive routing of long-lived IP flows • Statically route short lived flows • Applicable to backbone networks of ISPs • First hop router of a flow computes the path for the flow based on knowledge of the entire network (the backbone) • Link State routing • Intra-AS solution
A different take on the problem • Multi-Path routing of IP flows • Existing solutions designed to work within the core of an AS • Intra-AS • Aimed at achieving optimum provisioning of resources within an AS • But the core is relatively under-utilized • Multi-path routing might only help make under-utilization unifrom across an ISP • Greater congestion probably occurs at the edges of an AS • Queueing drops at Peering points • Edge of the network where stub networks attach • Might help more to do multi-path at inter-AS level
So… ? • Existing solutions should be extended to work at a coarser level • Both Intra-AS and Inter-AS • How about designing a solution that works at the Inter-AS level? • Focus of this work… • Can work in combination with an Intra-AS solution
In this talk… Explore the utility of employing multi-path routing at AS-Level • What issues hinder the usefulness? • How can they be analyzed? I will not present an actual mechanism…
How useful can this be? (1) BGP • Potential multiple paths are hidden by BGP • Policy • E.g., Peer will not provide transit service • Path Vector as opposed link state • Only path length information • Need path cost information • Neighbor relations do not reveal number of paths • Neighbors could peer at many places
BGP contd. • How useful is Multi-Path Routing? • How much potential for Multi-Path Routing exists, with BGP in its current form? • How much potential can we add and how? • Some factors just cannot be helped (some policies) • What other factors can we get around?
How useful can this be? (2) The Costs • The cost function • What is it, exactly? • How can it be computed in a distributed manner? • At what frequency to compute, update routes? • Etc…
How useful can this be? (3) Selfish Routing • What if everybody employed Multi-Path Routing? • Each flow is now a selfish agent • Each flow tries to maximize its observed performance • What would be the marginal utility per flow when all flows are selfish? • Nash Equilibrium • Cannot be better than the optimal case -- When flows route packets in such a manner as to optimize a common global metric – social equilibrium • Game-Theoretic Analysis
Game Theory • Will not bore you with the details. Here is an outline • We have a game-theoretic model for multi-path routing • Have a way of showing how bad Nash equilibrium is compared to social equilibrium • Have a link pricing mechanism that can be employed to bridge the gap between Nash and social equilibria • Key idea: cheat by propagating link costs different from the true costs • Greedy flows will try to minimize cost • Design cost in such a way that greedy flows actually end up minimizing average cost (social optimum)
That’s about it! Questions/Comments?