1
An Analytic Throughput Model for TCP NewReno
Nadim Parvez, Anirban Mahanti, and Carey Williamson, Member, IEEE
Abstract—This paper develops a simple and accurate stochastic model for the steady-state throughput of a TCP NewReno bulk data transfer as a function of round-trip time and loss behaviour. Our model builds upon extensive prior work on TCP Reno throughput models but differs from these prior works in three key aspects. First, our model introduces an analytical character- ization of the TCP NewReno fast recovery algorithm. Second,
- ur model incorporates an accurate formulation of NewReno’s
timeout behaviour. Third, our model is formulated using a flexible two-parameter loss model that can better represent the diverse packet loss scenarios encountered by TCP on the Internet. We validated our model by conducting a large number of simulations using the ns-2 simulator and by conducting emulation and Internet experiments using a NewReno implementation in the BSD TCP/IP protocol stack. The main findings from the experiments are: (1) the proposed model accurately predicts the steady-state throughput for TCP NewReno bulk data transfers under a wide range of network conditions; (2) TCP NewReno significantly outperforms TCP Reno in many of the scenarios considered; and (3) using existing TCP Reno models to estimate TCP NewReno throughput may introduce significant errors. Index Terms—TCP, analytical modeling, simulation, ns-2
- I. INTRODUCTION
The Transmission Control Protocol (TCP) [33] provides reliable, connection-oriented, full-duplex, unicast data deliv- ery on the Internet. Modern TCP implementations also in- clude congestion control mechanisms that adapt the source transmission behaviour to network conditions by dynamically computing the congestion window size. The goal of TCP congestion control is to increase the congestion window size if there is additional bandwidth available on the network, and decrease the congestion window size when there is congestion. It is widely agreed that the congestion control schemes in TCP provide stability for the “best effort” Internet. These mechanisms increase network utilization, prevent starvation of flows, and ensure inter-protocol fairness [10]. In today’s Internet, several variants of TCP are deployed. These variants differ with respect to their congestion control and segment loss recovery techniques. The basic congestion control algorithms, namely slow start, congestion avoidance, and fast retransmit, were introduced in TCP Tahoe [18]. In TCP Reno [19], the fast recovery algorithm was added. This algorithm uses duplicate acknowledgements (ACKs) to trigger the transmission of new segments during the recovery phase, so that the network “pipe” does not empty following a fast retransmit. TCP NewReno introduced an improved fast recovery algorithm that can recover from multiple losses in a single window of data, avoiding many of the retransmission
- N. Parvez and C. Williamson are with the Department of Computer Sci-
ence, University of Calgary, Canada. Email:{parvez, carey}@cpsc.ucalgary.ca
- A. Mahanti is with National ICT Australia (NICTA), Eveleigh, NSW, Aus-
- tralia. Email:anirban.mahanti@nicta.com.au
timeout events that Reno experiences [13]. TCP’s selective acknowledgement (SACK) option was proposed to allow re- ceivers to ACK out-of-order data [7]. With SACK TCP, a sender may recover from multiple losses more quickly than with NewReno. The aforementioned TCP variants use segment losses to estimate available bandwidth. TCP Vegas uses a novel congestion control mechanism that attempts to detect congestion in the network before segment loss occurs [5]. TCP Vegas, however, is not widely deployed on the Internet today. Analytic modeling of TCP’s congestion-controlled through- put has received considerable attention in the literature (e.g., [2], [4], [6], [9], [16], [22], [23], [25], [27]–[29], [32], [35]– [37]). These analytical models have: (1) improved our un- derstanding of the sensitivity of TCP to different network parameters; (2) provided insight useful for development of new congestion control algorithms for high bandwidth-delay networks and wireless networks; and (3) provided a means for controlling the sending rate of non-TCP flows such that network resources may be shared fairly with competing TCP
- flows. Most of these throughput models are based on TCP
Reno [2], [6], [9], [16], [23], [25], [27]–[29], [32], while some models are based on SACK [36], [37], Vegas [35], and NewReno [22]. A detailed NewReno throughput model, however, seems missing from the literature. This paper develops an analytic model for the throughput
- f a TCP NewReno bulk data transfer as a function of round-
trip time (RTT) and loss rate. Our work is motivated, in part, by previous studies that indicate that TCP NewReno is widely deployed on the Internet [26], [30]. Furthermore, RFC 3782 indicates that NewReno is preferable to Reno, as NewReno provides better support for TCP peers without SACK [13]. Our TCP NewReno throughput model builds upon the well- known Reno model proposed by Padhye et al. [29], but differs from this PFTK model in three important ways. First, we explicitly model the fast recovery algorithm of TCP NewReno. In prior work [29], Reno’s fast recovery feature was not
- modeled. Depending on the segment loss characteristics, a
NewReno flow may spend significant time in the fast recovery phase, sending per RTT an amount of data approximately equal to the slow start threshold. Second, we present an accurate formulation of NewReno’s timeout behaviour, including the possibility of incurring a timeout following an unsuccessful fast recovery. Third, our approach uses a two-parameter loss model that can model the loss event rate, as well as the burstiness of segment losses within a loss event. These two characteristics have orthogonal effects on TCP: a loss event triggers either fast recovery or a timeout, whereas the bursti- ness of losses affects the duration of the fast recovery period, and thus the performance of NewReno [31].