Elsevier

Performance Evaluation

Volume 104, October 2016, Pages 42-62
Performance Evaluation

Analysis of multiple flows using different high speed TCP protocols on a general network

https://doi.org/10.1016/j.peva.2016.08.002Get rights and content

Abstract

We develop analytical tools for performance analysis of multiple TCP flows (which could be using TCP CUBIC, TCP Compound, TCP New Reno) passing through a multi-hop network. We first compute average window size for a single TCP connection (using CUBIC or Compound TCP) under random losses. We then consider two techniques to compute steady state throughput for different TCP flows in a multi-hop network. In the first technique, we approximate the queues as M/G/1 queues. In the second technique, we use an optimization program whose solution approximates the steady state throughput of the different flows. Our results match well with ns2 simulations.

Introduction

TCP ensures reliable end-to-end data transfer between hosts and also does flow control and congestion control. While the goal of flow control is to avoid overwhelming the receiver with more packets than it can handle, the role of congestion control is to avoid congestion over the network. A good congestion control scheme must avoid congestion collapse, i.e., overwhelming congestion in the network with severely degraded throughput for all users. It must also be fair and efficient.

Traditional TCP variants (TCP Reno, TCP New Reno) have been very effective in preventing Internet congestion collapse for more than two decades  [1]. However as link speeds increase, these TCP variants have been found to be inefficient. The traditional TCP variants use AIMD (additive increase multiplicative decrease) algorithm for congestion window evolution. While AIMD is fair in the sense that all flows going through the same set of links get the same throughput  [2], it need not be efficient, especially for high bandwidth-delay product scenarios. The primary reason for the inefficiency being the slow rate of increase of window size when there is no congestion and the drastic multiplicative drop when there is congestion. Recent years have brought forth high speed variants of TCP (e.g., TCP CUBIC  [3], FAST TCP  [4], H-TCP  [5], Compound TCP  [6]). These alter the ‘AI’ phase to make it more aggressive so that links are rarely underutilized. The high-speed TCP variants are now commonly used. TCP CUBIC has been in use on Linux systems since 2006 (Linux kernel 2.6.16) and TCP Compound is used for Windows server. Consequently, measurements in  [7] on 30 000 web servers reveal that a majority of these web servers (>60%) use either TCP CUBIC, TCP BIC (the predecessor of CUBIC) or TCP Compound whereas usage of Reno is restricted to less that 15%.

Along with rapid rise in link speeds, we see a rapid increase in the number of mobile devices accessing the Internet. Wireless links are prone to fading, interference and attenuation which may cause random packet losses. Since TCP treats losses as indication of congestion and reduces its window size in response to packet loss, random packet losses considerably deteriorate TCP throughput.

In this paper we develop models for TCP performance in a network with multiple queues and multiple TCP flows (these may use Compound, CUBIC or New Reno) with random packet losses. We will be interested in the performance of long-lived flows (e.g., HTTP streaming, backups, large file downloads). The slow start phase of TCP is of interest when studying performance of short-lived flows but does not impact the performance of long-lived flows if they have low packet rates (<1%). Since our focus is on performance of the different TCP variants mentioned above, which differ only in the congestion avoidance phase, we will not consider the slow start phase.

High speed TCP variants alter the congestion avoidance phase behaviour of the traditional TCP to achieve higher efficiency. High speed TCP (HSTCP)  [8] addresses the issue of low link utilization in large bandwidth-delay product (BDP) networks by making the window increments and decrements a function of the current window size. Scalable TCP  [9] replaces additive increase by multiplicative increase so that the TCP flow rate converges quickly to the link speeds in large BDP networks. H-TCP  [5] alters the window increments so that increments depend on time since last congestion. BIC congestion control  [10] uses binary search to obtain an efficient operating point. FAST TCP  [11] is different from the earlier described variants in the sense that it uses queuing delay as a measure of congestion unlike the other variants which use packet loss. It can be considered to be a high speed variant of TCP Vegas  [12]. FAST TCP uses variable size increments and decrements based on the estimate of queuing in the network. In  [3], the authors propose TCP CUBIC congestion control algorithm. Like H-TCP, TCP CUBIC window size is a function of time elapsed since last congestion. The authors choose a cubic function for window evolution. TCP Compound  [6] is a delay-based congestion control algorithm. Delay-based congestion control algorithms experience lower losses, lower queuing delays and better RTT-fairness as compared to loss-based congestion control algorithms  [11], [13]. However, in a mixed environment, when competing with flows using loss-based congestion control, they are not able to get their fair share of capacity. To address this drawback, TCP compound window also has a loss-based component which gives it a worst-case performance of TCP New-Reno. An extensive survey describing the different TCP variants can be found in  [14].

There is a considerable amount of literature on simulation and experimental evaluation of the high speed TCP variants. In  [15], the authors perform experimental evaluation of TCP CUBIC in a small buffer regime. Results in  [16] show that the ns2 implementation results for several high speed TCP variants match well with experimental results. The intra-protocol and inter-protocol fairness of different high speed TCP variants has been studied in  [17], [18] using ns2 simulations. The Ref.  [19] is a recent experimental survey of high speed TCP fairness. It evaluates fairness of TCP SACK, HSTCP and CUBIC TCP on a 10 Gbps optical link. They show that fairness is a function of buffer sizes and queue management schemes at the routers with RED routers yielding more equitable rate allocations than droptail.

Traditional TCP (TCP Tahoe, TCP Reno and TCP New Reno) has been extensively studied and analysed. In  [20], the authors use a periodic loss model to compute the average window size of TCP as a function of the packet error probability. The Ref.  [21] uses Markov regenerative processes to model the window evolution of TCP Reno (congestion avoidance phase) under random losses. In  [22], the authors consider the effect of connection establishment, slow start and congestion avoidance phase on TCP latency. In  [23], the authors compute the throughput and mean sojourn time of TCP Tahoe and TCP Reno flows over a single bottleneck link using RED queue management. The link also carries UDP traffic which has priority over the TCP traffic. In  [24], the authors prove stability of multiple TCP Tahoe and TCP Reno flows passing through a single drop-tail or RED queue in the presence of UDP traffic. They then extend their results to the situation when there are multiple bottleneck links in tandem. In  [25], the authors use Markovian models to compute mean download times for ON–OFF TCP Tahoe and TCP Reno flows and throughput for long-lived TCP flows in the presence of UDP traffic.

An optimization-based approach is used to analyse network congestion control in  [26], [27], [28], [29], [30]. In  [26], the authors consider a generic network-wide global optimization problem and derive a distributed congestion control algorithm whose equilibrium rate allocations are a solution to the global optimization problem. As opposed to this approach,  [27] and  [28] start with distributed congestion control algorithms and derive the corresponding network-wide global optimization problem. In  [29], under a AIMD TCP-like scheme with fixed window size, the authors show that FIFO queuing gives proportional-fair rate allocation, longest queue first gives maximum sum-rate and fair queuing policy yields max–min fair rate allocation. An analytical model for identifying the bottleneck links in a multi-hop network is given in  [30].

Differential equations are used to model TCP behaviour in  [31], [32], [33], [34]. In  [31], the authors compute steady state throughput of TCP Tahoe and TCP Reno under random losses. In  [24], [32], the authors model transient behaviour of RED routers supporting TCP flows. A mean-field model for TCP is developed in  [33] for multiple TCP flows sharing a single bottleneck link which employs RED queue management. Under the same setup of single bottleneck link and multiple TCP flows, the authors in  [34] show that in the many flows regime the data rate evolution and drop rate evolution at the queues can be approximated by a deterministic system.

The newer variants of TCP have fewer analytical studies. In  [35], the authors use a Markovian model to compute steady state throughput of a single TCP CUBIC connection in a wireless environment. A mean field model is used for performance analysis of multiple TCP CUBIC connections going through a single drop-tail bottleneck link in  [36]. In  [37], the authors compute throughput of a single long-lived Compound TCP under random losses through a Markovian model. There are deterministic models for computation of average window size of CUBIC and Compound TCP in  [3], [6] respectively. One advantage that these models have over the Markovian models is that they provide a closed-form expression for the average window size of a TCP flow in terms of its RTT and packet error rate. We have investigated these closed form expressions against our Markovian models in  [38] and have found that the closed form expressions are not as accurate as the Markovian model results. In  [39], [40], [41], the authors study the performance of TCP Compound using control theoretic techniques and derive stability conditions for TCP Compound. In these papers, it is shown that when multiple TCP flows share a single bottleneck queue, the queue sizes and the link utilization have oscillatory behaviour when the feedback delays (round trip times of the flows) and buffer sizes are large. In  [39], the authors evaluate the TCP Compound performance as a function of buffer size in the bottleneck queue. In  [40], the authors study the performance of TCP Compound with a proportional integral enhanced queue management policy whereas in  [41], RED queue management policy is considered.

Markov models for TCP CUBIC and TCP Compound do exist in  [35], [37] respectively. However, the Markov model for TCP CUBIC in  [35] assumes a different loss model; the inter packet loss durations are assumed Poisson. In our setup, we assume that packets are lost independently of other packets. This scenario is close to the approach used in  [21], [26]. We note that the Markov model for TCP Compound in  [37] is similar to our model. However, our Markov model for TCP Compound, unlike in  [37], also includes the queue lengths resulting in better approximation in real world scenario. Also, our Markov chain models for TCP CUBIC and TCP Compound have less computational complexity than those in  [35], [37].

In this paper, we develop techniques for performance analysis of different TCP flows (using TCP Compound, TCP CUBIC or Reno) over a general network with multiple bottleneck links. There are a number of simulation and experimental evaluations for performance analysis of these TCP variants over different network topologies. However, to the best of our knowledge, our work is the first theoretical model for the joint performance analysis of these high speed TCP variants over a general network with multiple bottleneck links. Since presence of different types of TCPs affects the throughputs of each other in complicated ways and this is the practical scenario in the current Internet, it is important to study this setup. We validate our model approximations via extensive ns2 simulations.

The organization of our paper is as follows. In Section  2, we describe our system model. We describe a Markovian model to compute average window size of a single TCP CUBIC connection with fixed RTT under random losses in Section  3. In Section  4, we develop a model for computing the average window size of a single TCP Compound connection with non-negligible queuing under random losses. In Section  5, we comment on the computational complexity of our Markovian models. In Section  6, we describe two techniques viz., M/G/1 approximation and an optimization based approach to compute the steady state average window size and the throughputs for TCP flows (which could be TCP CUBIC, TCP Compound or TCP New Reno) over a multi-hop network. We compare our theoretical results with simulations in Section  7. Section  8 concludes our paper.

Section snippets

System model

Consider a general network of routers as shown in Fig. 1. A set R of TCP flows is passing through this network. The TCP flows are carrying long files. A TCP connection may be using TCP New Reno, TCP Compound or TCP CUBIC. We denote the set of links by L. Some of the access links may be wireless. For a flow rR, let Δr be the constant round-trip delay (this includes propagation and transmission delays at the links). Let each packet of flow r be lost with probability pr on its path, independently

A Markov model for TCP CUBIC

In this section, we develop a model for a single TCP CUBIC connection with constant round trip time (RTT). Any packet received can be in error with probability p independent of other packets. This is a realistic assumption for wireless links and is commonly made for TCP models in the literature  [20], [21], [22], [31], [35], [37]. We assume that only TCP data packets are lost. The ACKs are typically smaller in size and hence are less likely to be in error. However, the model can be easily

A Markov model for TCP compound

In this section, we develop Markov models for TCP Compound connections with negligible and non-negligible queuing. As before, we have a single TCP connection. We assume that any packet received can be in error with probability p independent of other packets. Also, we assume that ACKs are not lost.

TCP Compound is a delay-based congestion control algorithm. When competing with flows using loss-based congestion control algorithms, flows using delay based congestion control algorithms get less than

Computational complexity

We note that Markovian models for TCP CUBIC and TCP Compound are also developed in  [35], [37]. These papers look at the window sizes at the drop epochs and show that this process forms a discrete time Markov chain. Our approach looks at the window sizes at every RTT. The advantage of our approach is that it has reduced complexity. In our model every single-step transition of the Markov chain can lead to one of at most two states since a loss event or no-loss event can give us two potential

Multiple TCPs through a general network

In this section we use the models for a single TCP connection for TCP CUBIC and TCP Compound, that we described in Sections  3 A Markov model for TCP CUBIC, 4 A Markov model for TCP compound respectively, to study the behaviour of these TCP variants in the general network of Section  2 with multiple bottleneck links. We will also include TCP New-Reno connections for which the theoretical models are available in  [21], [20]. Now, the probability of error pr for flow r will represent the

Simulation results

In this section, we will validate our models using ns2 simulations. We use extensions from  [52] for high speed TCP which use actual Linux TCP code for the simulations. We first look at the results for single bottleneck link.

Conclusions

We have developed Markovian models for computing average window size for a single TCP connection with fixed RTT, i.e., non-negligible queuing with Bernoulli random losses for TCP CUBIC and TCP Compound. For TCP Compound, we compute the average window size for a single TCP flow with non-negligible queuing and random losses. We use two techniques to compute the steady state throughput for multiple TCP flows (which could be using TCP CUBIC, TCP Compound, TCP New Reno) going through a multihop

Sudheer Poojary joined for Ph.D. in the ECE department of the Indian Institute of Science, Bangalore, India in January 2010. He received his M.Tech. degree in Communications from Indian Institute of Technology, Bombay, India and his B.E. degree in Electronics from Mumbai University, India.

His research interests are in wireless communications, distributed computing systems, game theory and mechanism design.

References (52)

  • K. Tan, J. Song, Q. Zhang, M. Sridharan, A compound TCP approach for high-speed and long distance networks, in: IEEE...
  • P. Yang et al.

    TCP congestion avoidance algorithm identification

    IEEE/ACM Trans. Netw.

    (2014)
  • S. Floyd, HighSpeed TCP for large congestion windows, in: RFC 3649 (Experimental), Internet Engineering Task Force,...
  • T. Kelly

    Scalable TCP: Improving performance in highspeed wide area networks

    ACM SIGCOMM Comput. Commun. Rev.

    (2003)
  • L. Xu, K. Harfoush, I. Rhee, Binary increase congestion control (BIC) for fast long-distance networks, in: IEEE...
  • D.X. Wei et al.

    FAST TCP: motivation, architecture, algorithms, performance

    IEEE/ACM Trans. Netw.

    (2006)
  • L.S. Brakmo et al.

    TCP Vegas: End to end congestion avoidance on a global Internet

    IEEE J. Sel. Areas Commun.

    (1995)
  • A. Afanasyev et al.

    Host-to-Host congestion control for TCP

    IEEE Commun. Surv. Tutor.

    (2010)
  • S. Jain et al.

    An experimental evaluation of CUBIC TCP in a small buffer regime

  • M. Bateman et al.

    A comparison of TCP behaviour at high speeds using ns-2 and linux

  • M.C. Weigle, P. Sharma, J. Freeman IV, Performance of competing high-speed TCP flows, in: Proceedings of NETWORKING,...
  • M. Mathis et al.

    The macroscopic behavior of the TCP congestion avoidance algorithm

    ACM SIGCOMM Comput. Commun. Rev.

    (1997)
  • J. Padhye et al.

    Modeling TCP Reno performance: A simple model and its empirical validation

    IEEE/ACM Trans. Netw.

    (2000)
  • N. Cardwell, S. Savage, T. Anderson, Modeling TCP latency, in: IEEE Infocom, 2000, pp....
  • V. Sharma et al.

    Performance analysis of routers with TCP and UDP connections with priority and RED control

  • V. Sharma et al.

    Stability and analysis of TCP connections with RED control and exogenous traffic

    Queueing Syst. Theory Appl.

    (2004)
  • Cited by (8)

    • A new Linux based TCP congestion control mechanism for long distance high bandwidth sustainable smart cities

      2018, Sustainable Cities and Society
      Citation Excerpt :

      In long distance high bandwidth (LDHB) cloud networks being used by smart cities networks, round trip times of the flows are very long (50–200 ms, which causes the extremely very large size of cwnd even during the initial stage of the connection. This kind of exponential growth of cwnd size in LDHB causes congestion in the network, which, in turn, causes the very high rate of packet loss in these kind of smart cities networks (Ahmad, 2016; Poojary & Sharma,2016). TCP CUBIC uses modified form of AIMD algorithm, with enhanced values of β and α parameters.

    • A Machine Learning-Based Approach for Improving TCP Congestion Detection Mechanism in IoTs

      2022, Proceedings - 2022 International Conference on Frontiers of Information Technology, FIT 2022
    • TCP CUBIC: A transport protocol for improving the performance of TCP in long distance high bandwidth cyber-physical systems

      2018, 2018 IEEE International Conference on Communications Workshops, ICC Workshops 2018 - Proceedings
    View all citing articles on Scopus

    Sudheer Poojary joined for Ph.D. in the ECE department of the Indian Institute of Science, Bangalore, India in January 2010. He received his M.Tech. degree in Communications from Indian Institute of Technology, Bombay, India and his B.E. degree in Electronics from Mumbai University, India.

    His research interests are in wireless communications, distributed computing systems, game theory and mechanism design.

    Vinod Sharma (SM00) received his B-Tech. in EE in 1978 from Indian Institute of Technology, New Delhi, India and Ph.D. in ECE from Carnegie Mellon University in 1984. He worked in Northeastern University, Boston and University of California in Los Angeles before joining Indian Institute of Science (IISc), Bangalore in 1988 where currently he is a Professor. He has been the chairman of the Electrical communication engineering department at IISc from 2006 to 2011. He is a Fellow of Indian National Academy of Engineers and has received CDAC-ACCS foundation award and the best paper award in National Communication Conference. He is on the editorial boards of three international journals.

    His research interests are in Communication Networks, Wireless Communication and Information Theory.

    Preliminary versions of this paper were presented in IEEE Globecom 2011 and IEEE ICC 2013.

    View full text