Multipath Routing CS 522 F2003 Beaux Sharifi Agenda • • • • • Description of Multipath Routing Necessity of Multipath Routing 3 Major Components Necessary for Multipath Routing Example Multipath Routing Model Simulation Results What is Multipath Routing? • Multipath Routing is the spreading of traffic from a source node to a destination node over multiple paths through the network. Figure 1. Multipath Routing Model Diagram. Importance of Multipath Routing • The Internet is a significant part of the Global communication infrastructure. • The use of the Internet is growing at an incredible rate: – Jan 1999: ~ 43 million hosts – Jan 2003: ~ 171 million hosts (source: Internet Domain Survey) • QoS, throughput, and delay are difficult problems with current singlepath routing architecture. • From queuing theory, we know that through increased sharing, overall utilization of the entire network is improved. • Multipath routing provides much better overall network performance by allowing better sharing of the available network resources. 3 Major Components • A Multipath Calculation algorithm to compute multiple paths. • A Multipath Forwarding algorithm to insure that packets travel on their specified paths. • An End-Host Protocol that effectively uses the determined multiple paths. Path Algorithms • Generate paths based on a the desired characteristics of the path. – i.e. Maximized throughput or minimized delay • Generate Multi-Option paths and/or Multi-Service paths. • Path requirements depend on the end-user application. – i.e. Telnet vs. FTP • Two characteristics of a quality path: – Path Quantity – Path Independence Path Algorithms (cont.) • Some path algorithms that don’t work: – Shortest K Paths, Link Disjoint Paths, Maximum Flow • Two path algorithms that do work: – Maximize Throughput: Capacity Removal – Minimize Latency: Discount Shortest Path • Both algorithms based on Dijkstra’s Shortest Path algorithm. • Both algorithms produce shortest paths with minimal overlap by incrementally adding “cost” to each of the previously found paths. Path Forwarding • Path Forwarding Problem: how to specify a packets path and then forward packets along that path. • Each router has potentially multiple routes to a destination node. • The destination address is no longer sufficient. • A Path Identifier is now required for every packet. • Design Requirements for Path Forwarding: – Minimize Packet Overhead – Minimize router CPU overhead of forwarding packets – Minimize additional router memory End-Host Protocol • Performance gains are only realized if end-hosts use the multiple paths effectively. • Paths can be used concurrently or one at a time. • The appropriate use of multiple paths is application specific. – Instant Messenger (multi-service) – Urgent Message (multi-option) Example Multipath Routing Model • Developed by Johnny Chen of Rice University in 1999. • Consists of two different routing algorithms based on extensions of the traditional routing algorithms: – MPDV (MultiPath Distance Vector) – MPLS (MultiPath Link State) • Both routing algorithms seek to optimize throughput by using a Capacity Removal based algorithm. • Chen develops efficient path forwarding algorithms while minimizing packet and router overhead. • Uses a fixed-length packet path ID to provide minimal packet overhead and allow efficient indexing into router forwarding tables. Example Multipath Routing Model (cont.) • Contains a new transport layer called MPTCP (Multipath TCP). • MPTCP is based on single-path TCP and provides a reliable bit stream service. • MPTCP operates by opening multiple TCP connections on different paths and then multiplexing data between them. • The receiving MPTCP layer collects data from each of the connections and then restores the original message stream. • MPTCP provides flow and congestion control. • MPTCP provides increased network performance without any changes to user-applications. Simulation Results • Chen compares both MPDV and MPLS using a packet-level network simulator “xsim” from the University of Arizona. • Simulated network is similar to the Internet topology with 100 nodes and 195 links across multiple clusters. • Performance is measured in throughput, latency, and message drop-off probability. • Throughput is measured using MPTCP. • Latency and drop-off probability is measured using multipath ping. Throughput Results Figure 2. Foreground MPTCP Performance using MPDV and MPLS. Latency and Message-Drop Results Figure 3. Latency and Message Drop Percentages with MP-ping and SP-ping. Summary • MPDV and MPLS demonstrate that multipath routing provides higher performance than their single-path counterparts. • Performance results are consistent across different network topologies and network utilization levels. • The cost incurred by implementing a multipath routing algorithm doesn’t outweigh the added performance benefits. References • Chen, Johnny. New Approaches to Routing for Large-Scale Data Networks. Rice University, Houston, Texas: PhD Thesis, June 1999. • Nua Internet How Many Online. Nua.com 11 Dec. 2003 <http://www.nua.ie/surveys/how_many_online/> • Tanenbaum, Andrew S. Computer Networks, Fourth Edition. Upper Saddle River, New Jersey: Prentice Hall PTR, 2003. Questions?