Multipath and Explicit Rate Congestion Control on Data Networks

MULTIPATH AND EXPLICIT RATE CONGESTION CONTROL ON DATA NETWORKS Soonyong Sohn, PhD George Mason University, 2010 Dissertation Director: Dr. Brian L. Mark Computer networks based on the TCP/IP (Transmission Control Protocol/Internet Protocol) employ TCP congestion control and shortest path routing. However, TCP congestion control can result in under-utilization of link capacity, low session throughput, and unfairness in its throughput performance over impaired links. Conventional shortest path routing can lead to network congestion and under-utilized links due to uneven distribution of traffic in the network. To address these problems, this thesis proposes multipath congestion control algorithms for data networks, which combine multipath routing with network congestion control. First, an efficient multipath route discovery algorithm is proposed to find multiple paths in the underlying network infrastructure. The multipath route discovery algorithm can find multipath routes with varying degrees of disjointedness. Second, we develop multipath traffic distribution algorithm to alleviate network congestion by exploiting multipath routes. The proposed “congestion-triggered multipath protocol” requires relatively minor upgrades to the existing Internet architecture. Recently, there have been proposals to introduce explicit rate signaling into the Internet. Explicit rate signaling has the potential to substantially improve network performance, but requires routers that can support signaling on a per-flow basis. Along these lines, we propose an adaptive dynamic rate controller that computes the rate for flows in response to network status (e.g., network congestion, link underutilization) in order to minimize network congestion and fully utilize the link capacity. We evaluate its performance in conjunction with a rate-based transport protocol. Chapter 1: Introduction The Internet was originally designed to provide a single level of service (i.e., best-effort) in which the network does not provide any performance guarantees on data delivery or on the Quality-of-Service (QoS) level. Most computer networks are designed to provide best-effort service and employ 1. shortest path routing protocols that provide a shortest path between source and destination pairs, and 2. end-to-end congestion control mechanisms that react to congestion by adapting the sender transmission rate based on indirect network congestion indications, e.g., packet loss [2]. The route between source and destination is typically determined by means of shortest path routing protocols such as Routing Information Protocol (RIP) [3], Open Shortest Path First (OSPF) [4], and Border Gateway Protocol (BGP) [5]. 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 capacity. 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 due to excessive traffic routed on a single path, even though other paths may be under-utilized. Multipath routing has been proposed as a means to alleviate the limitations of shortest path routing algorithm. In multipath routing, packets belonging to a given sourcedestination pair may be transmitted over multiple paths. Some of the potential benefits of 1 multipath routing include load balancing [6], higher network throughput [6,7], reduction of routing oscillation, the alleviation of congestion [8,9], and improved packet delivery reliability [10]. In prior work dating to the 1950’s, the K shortest paths problem has been studied in a number of papers (e.g., [11–20]). The K shortest paths problem is to determine the K shortest paths (i.e., the shortest path, the second shortest path, . . ., the K-th shortest path) between the given pair of nodes. However, K shortest paths problem may not be ideally suited to controlling congestion over multiple paths. Equal-Cost MultiPath (ECMP) [4] and Optimized Multipath (OMP) [21] are protocols that have been proposed to implement multipath routing in the current Internet. ECMP finds equal cost multipath routes (i.e., multiple paths with equal number of hops or equal metric) and distributes traffic equally over a multipath route. OMP is an improved version of ECMP, which allows unequal traffic distribution (i.e., distribution in inverse proportion to the utilizations of the constituent paths). The paths in the multipath route need not be of equal length. The set of paths in a multipath route includes the shortest path, obtained from the shortest path routing protocol, plus alternative paths derived from shortest paths from each of the neighbors of the source node to the destination node. Transmission Control Protocol (TCP) [22] has been a dominant protocol for end-to-end congestion control in Internet (see [23]). The current implementation of TCP congestion control uses a strategy called Additive Increase Multiplicative Decrease (AIMD) [24]. The basic idea is that when a packet is acknowledged, the window size is increased by one, but when a packet is lost, the window is reduced to half of its previous size. However, TCP has often been found to be inefficient over links with large delays and/or high packet loss rates [25–28]. TCP throughput is inversely proportional to round trip time (RTT), which may lead to efficiency and fairness problems. Among multiple connections with different RTTs sharing a link, connections with shorter RTT will obtain more bandwidth resources. Due to these problems in TCP, some applications use User Datagram Protocol (UDP) [29] rather than TCP and are unresponsive to congestion indicators. However, excessive use of unresponsive applications can lead to congestion collapse of the computer network [30,31]. 2 To solve the problems of TCP, protocols based on explicit congestion control have been proposed, such as eXplicit Control Protocol (XCP) [25, 26], Rate Control Protocol (RCP) [27], and TCP-Explicit Rate (TCP-ER) [28]. In these protocols, congestion control is based on the feedback of an explicit sending rate determined by the network elements (e.g., routers or switches) along the path from source to destination. Rather than increase the window size by one during each RTT, the sender transmits data at an explicit rate signaled by the network. If congestion occurs in the network, the network feeds back an adjusted explicit rate to the sender in order to alleviate the congestion. 1.1 Problem Statement ECMP and OMP provide multipath routing to solve the problem of shortest path routing. However, ECMP is not guaranteed to determine a multipath route for each sourcedestination pair because only equal cost paths are considered for a multipath route. Also, packets are forwarded in equal proportion, on a packet-by-packet basis, over the paths in the multipath route, without considering network congestion. As a result, packets may arrive out-of-order within a flow at the destination which leads to degraded TCP performance. In OMP, the characteristics (i.e., disjointedness/partially disjointedness) of the multipath route are not taken into account. OMP is triggered by path utilization information so multiple nodes sharing common subpaths may simultaneously begin distributing traffic over multipath routes sharing common links. Although congestion may be avoided over the original path, other paths may become congested as an unwanted side effect of the OMP traffic distribution policy. This could lead to the triggering of OMP at further nodes, which may eventually result in network instability. In both ECMP and OMP, each path in a multipath route may have a different propagation delay. Providing a longer delay path to a TCP flow in a multipath route could result in degraded TCP performance. Explicit rate control protocols such as XCP [25, 26], and RCP [27] have been proposed to solve the problems of TCP. The sending rate is determined by the network and fed back to the sender as an explicit rate. Then, the sender transmits data at the given explicit rate. 3 However, these protocols may underestimate or fail to take into account the effect of the feedback propagation delay between the network and sender. This may lead to congestion collapse due to the use of outdated rate information. Dynamic rate controllers proposed in [32–35] take into account this propagation delay in the explicit rate computation. These controllers are designed based on queue dynamics so that their mechanisms are optimized for relatively heavy traffic conditions, but not for light traffic conditions. Also, these controllers result in rate fluctuations even in steady-state conditions, that is, they do not provide a constant rate in steady state. 1.2 Research objective The primary goal of this research is to develop multipath and explicit rate congestion control algorithms to optimize network performance. An essential step towards this goal is the development of an algorithm to determine multipath routes, which can be implemented on top of a conventional shortest path routing algorithms without requiring major changes to the underlying network infrastructure (see Chapter 3). We consider a traffic distribution mechanism that can distribute traffic over a multipath route using the current Internet infrastructure (see Chapter 4). Then, we develop an implementation of a rate-based transport protocol to improve the throughput performance of the Internet via explicit rate signaling (see Chapter 5). Finally, we discuss a novel rate computation algorithm for determining the flow sending rates, which can minimize network congestion and enable high utilization of the network capacity (see Chapter 6). The research contributions of this thesis may be divided int