TCP Congestion Control Macroscopic Behavior for Combinations of Source and Router Algorithms
Total Page:16
File Type:pdf, Size:1020Kb
TCP Congestion Control Macroscopic Behavior for Combinations of Source and Router Algorithms Mulalo Dzivhani1, 2, Dumisa Ngwenya3, 4, Moshe Masonta1, Khmaies Ouahada2 Council for Scientific and Industrial Research (CSIR), Meraka Institute1, Pretoria Faculty of Engineering and Built Environment, University of Johannesburg2, Johannesburg SENTECH3, Johannesburg University of Pretoria4, Pretoria South Africa Emails: [email protected] 1, 2, [email protected] 3, 4, [email protected], [email protected] Abstract—The network side of Transmission Control Protocol Most widely used TCP variant over the decades has been TCP (TCP) congestion control is normally considered a black-box in New Reno, evolving from TCP Tahoe and TCP Reno. TCP performance analysis. However, the overall performance of New Reno has proved to be efficient in fixed low speed TCP/IP networks is affected by selection of congestion control networks and networks with low BDP. However, as shown by mechanisms implemented at the source nodes as well as those [1], TCP as implemented is showing performance in high-speed implemented at the routers. The paper presents an evaluation of macroscopic behaviour of TCP for various combinations of source wide-area networks, in wireless links and for real-time flows. algorithms and router algorithms using a Dumbbell topology. In For this reason a number of source based algorithms have been particular we are interested in the throughput and fairness index. proposed in the past two decades. TCP Cubic is one of those TCP New Reno and TCP Cubic were selected for source nodes. that has gained popularity for high speed networks. Packet First-in-First-out (PFIFO) and Controlled Delay (CoDel) mechanisms were selected for routers. The results show that TCP Congestion control at the sources is not enough to curb New Reno performs well, in terms of throughput, in a low BDP congestion. The routers mechanisms are required to manage scenario. However, as expected in high BDP scenario, TCP New buffers and queue in the network. Most common router Reno deteriorates and TCP Cubic performs better. CoDel in the mechanism is DropTail [4-6]. DropTail is simplistic and network side further deteriorates TCP New Reno flows in high passive. Although it is implemented with minimal computation Bandwidth-Delay Product (BDP) scenario, while considerably overhead, it provides unsatisfactory performance in highly improving TCP Cubic. PFIFO deteriorates both TCP Cubic and demanding scenarios [6, 7]. For this reason a large number of TCP New Reno in high BDP. Almost in all cases CoDel seems to Active Queue Management (AQM) algorithms have been improve fairness. proposed. Among these is the Controlled Delay (CoDel), which Keywords— TCP Congestion Control, TCP New Reno, TCP addresses the problem of buffer float in high speed networks. Cubic, CoDel, PFIFO, Throughput, Fairness. The performance of TCP congestion control is depended on I. INTRODUCTION both source-based algorithms as well as router-based The rapid rise in use of the Internet, due to increase in new algorithms. The purpose of this study is to evaluate computing and communications applications such as video macroscopic behaviour of TCP/IP networks for combinations streaming, online gaming, desktop and video conferencing, has of source based and router based algorithms. For source based resulted in an increase in demand for bandwidth and fast access algorithms we consider TCP New Reno and TCP Cubic, and [1]. TCP is the widely used protocol in the Internet for traffic router based we consider PFIFO and CoDel. The paper looks at flow control and congestion control. Therefore, the the impact of the bandwidth and delay on throughput and performance of the Internet depends on how well TCP works. fairness for the said combinations. TCP guarantees reliability and in-order delivery of packets in The remaining sections in this paper are structured in the TCP/IP networks [2]. In addition, it implements a congestion- following way. Section II takes a look at the related work or control mechanism, which regulates how fast the transport layer literature review. Section III describes the Source algorithms sends data to prevent the sender from overloading the network and the Router-based algorithms looked at in this study. Section [3]. TCP congestion control algorithms are typically IV presents the network configuration, traffic models and implemented at the source. Each source uses some congestion congestion scenarios used to carry out the simulations. In control feedback or signal by the network to estimate allowable Section V, the simulation results are discussed, with Section VI, sending rate. The network is also important in congestion discussing the conclusion and future work. control and network based algorithms are usually implemented in routers to control buffer queues. II. RELATED WORK Which results nearly in one segment every RTT. In this section, we provide an overview about the closely During congestion avoidance, Cubic uses a cubic window related work that was looked at in this work. growth function as follows given by equation (3): 3 Early work on interactions of TCP flows and AQM routers 푐푤푛푑푡 = 퐶 ∗ (푡 − 퐾) 푐푤푛푑푖 + 푐푤푛푑푚푎푥 (3) was presented by Misra, Gong and Towsley [8]. The authors in [8] applied their model (MGT model) to TCP flows with Where 퐾 is given by equation (4): Random Early Detection (RED) AQM policy. The MGT model has been used to guide designs of AQM schemes to alleviate Internet congestion [9]. Recent work has been presented in [9], 3 푐푤푛푑푚푎푥 ∗ (1 − 훽) where the MGT model was modified to cater for heavy traffic 퐾 = √ 퐶 (4) conditions and applied to Proportional-Integral (PI), Random Early Marking (REM) and a Robust Active Queue Management Scheme (RaQ). Performance analysis of CoDel and other AQM schemes with TCP flows has been presented in [10] and [11]. The above work 푐푤푛푑푚푎푥 is the maximum cwnd just before packet loss; β is a shows that the behaviour of most recently developed AQM coefficient of multiplicative decrease in Fast Recovery; C is a schemes, including CoDel, may lead to underutilisation over constant determining the aggressiveness of the window growth; time. Several modifications of the popular AQMs are presented 푡 is the elapsed time since packet loss. in the cited work. In Internet routers, AQM is the intelligent drop of network Most of the cited work does not consider the performance as packets inside a buffer associated with a network interface a consequence of the combination of source algorithm and controller (NIC), when that buffer becomes full or gets close to router algorithm. In this paper we attempt to provide an becoming full, often with the larger goal of reducing network experimental analysis that discovers the relationship between congestion. The router algorithms chosen for this study are end-to-end application performances of TCP congestion Controlled Delay (CoDel) and PFIFO (DropTail). avoidance algorithms, as observed by an Internet user. C. CoDel III. SOURCE ALGORITHMS AND ROUTER ALGORITHMS CoDel queue management algorithm is a scheduling Source algorithms considered in the paper are TCP New Reno algorithm for the network scheduler that was developed by Van and TCP Cubic. These are classical loss-base mechanisms Jacobson and Kathleen Nichols [14]. They developed CoDel to deployed in almost all important systems [12]. TCP Cubic is overcome buffer float in network links by setting limits on the currently used by default in Linux kernel [13]. TCP New Reno delay network packets that suffer due to passing through the represents a classical congestion control mechanism for low buffer being managed by CoDel. bandwidth networks and TCP Cubic for high bandwidth When CoDel’s estimator comes across a persistent delay networks. which is above the maximum acceptable persistent queue delay, Most loss-based source algorithms, such as TCP New Reno the controller then enters the drop state whereby a packet is and TCP Cubic, consist of two phases or strategies, slow-start dropped early so to maintain the minimum sojourn delay [15]. and congestion avoidance phases. Another aspect of CoDel, when the delay is high or exceeds A. Slow start the maximum persistent queue delay, CoDel controls the delay while insensitive to round-trip delays link rates and traffic loads During slow-start phase the congestion window (cwnd) is [14]. doubled every round-trip-time (RTT), resulting in near exponential growth – that is, the growth starts slowly and then D. PFIFO vs DropTail accelerates with time. The increase profile per packet PFIFO queueing is the most basic form of congestion control. acknowledgment (per ACK) is given by equation (1): The frames in this algorithm are queued in First-In, First-Out 푐푤푛푑 = 푐푤푛푑 + 1 (1) (FIFO) order and queue build-up can continue until all buffer 푖+1 푖 memory is exhausted which is very like how Tail Drop Which results in near doubling every RTT. algorithm handles congestion [16]. B. Congestion Avoidance for TCP New Reno In DropTail AQM, once the queue is filled up, the router then The congestion avoidance phase depend on TCP variant used. begins discarding every additional datagram by dropping the In TCP New Reno the cwnd is increased by one for every RTT, tail of the sequence of packets. resulting in a linear growth as shown in equation (2). The The loss of packets from the drop causes the TCP sender to increase profile per packet acknowledgment (per ACK) is given enter slow-start, which reduces throughput in that TCP session by: until the sender begins to receive ACKs again and increase the 1 cwnd. 푐푤푛푑푖+1 = 푐푤푛푑푖 + (2) 푐푤푛푑푖 In accordance to the regard of how similarly PFIFO works to Table 1: Delay Bandwidth Impact parameters DropTail, we consider PFIFO as DropTail in our study. Parameter Value IV. SIMULATION METHODOLOGY TCP variants TCP New Reno and TCP In this section, we present a case study whereby Network Cubic Simulator—3 (NS3) [17] is used for realization of two scenarios, which are discussed below in sub-section A and B, and tested AQM Algorithm CoDel and PFIFO DropTail using NS3.27.