3 Performance Modeling of TCP/IP in a Wide-Area Network * Eitan Altman, Jean Bolot, Philippe Nain, ** Driss Elouadghiri, *** Mohammed Erramdani ****, Patrick Brown, Denis Collange. ***** Thème 1 Réseaux et systèmes Projet Mistral Abstract: Rapport de recherche n 3142 Mars pages We examine the problem of evaluating the performance of TCP connections over wide area networks. Our approach combines experimental and analytic methods, and proceeds in three steps. First, we have used measurements taken over Renater to provide a basis for the chosen analytic model. This model turns out to be a shared bottleneck model, in which a finite buffer queue is shared by two connections, one being the reference TCP connection, and the other representing the exogenous traffic (i.e. all the other connections). This model is unlike previous models which did not explicitly consider the impact of exogenous traffic on the reference TCP connection. Second, we use fluid modeling to analyze the behavior of the reference TCP connection. We identify two modes of operation. For each mode, we derive closed-form expressions for the average throughput and delay as a function of buffering, roundtrip delay, and characteristics of exogenous traffic. Third, we use simulation to validate the model, and we find in general good correlation with the analytic results. Key-words: TCP/IP performance; Queueing theory; Fluid approximation; Simulation; Validation; Network measurements. (Résumé : tsvp) * The work in this paper was supported in part by grant 94-5B-012 from France Telecom/CNET. ** INRIA Sophia Antipolis, BP 93, 2004 Route des Luciolles, Sophia Antipolis Cedex, France. *** Université My Ismail, Dept de Math & Info, Zitoun, Meknes Marroco. **** Universite Mohammed V, Dept de Math & Info, Rabat, Marroco. ***** France Telecom - CNET, 905, rue Albert Einstein, Sophia-Antipolis Cedex, France. Unité de recherche INRIA Sophia Antipolis 2004 route des Lucioles, BP 93, SOPHIA ANTIPOLIS Cedex (France)

5 Analyse des Performances de TCP/IP 3 1 Introduction The work in this paper is a response to concerns voiced by an operator about the performance of TCP (Transport Control Protocol [24]) over wide-area networks in general, and over the French research network Renater 1 in particular. Our specific goal was to obtain analytic expressions to analyze, and predict if possible, the time required to transfer large files over Renater. This analysis in turn would be used by the network operator for dimensioning purposes ( is the current bandwidth sufficient to provide reasonable end to end performance? ) and for customer performance prediction purposes ( what kind of performance should a new customer expect given the current network configuration? ). Answering the questions above requires that one develop an understanding of TCP behavior as a function of network parameters, including both static parameters (such as buffer size or link bandwidth) and dynamic parameters (such as the dynamic aspects of the TCP control scheme or the characteristics of the traffic generated by other connections). While much is known about the behavior of TCP from observations of simulation and experimental results [23, 19, 21, 14], little is available in terms of closed-form expressions for the delay or throughput of a TCP connection in a wide area network. This is in large part because the complex dynamics of the TCP window flow control mechanism makes it difficult to analyze. Thus, much work so far has relied on experiments or simulation. Early analytical work examined simple models of a single connection in isolation over low and medium size/bandwidth networks [23], and was then extended to consider more complex but more accurate models [20], as well as connections with high bandwidth-delay products [15] and/or asymmetric characteristics [17]. In parallel, other work examined the impact of other connections on a reference TCP connection. This impact has been so far modeled as being that of an additional Bernoulli loss process [15]. Our work is closest in spirit and in approach to, and complements that of, reference [15]. We use a fluid modeling approach similar to that used there, however we explicitly model the impact of other connections on a reference TCP connection. Our general approach has proceeded in 3 steps. First, we have used measurements taken over Renater to provide a basis for the chosen analytic model. Our main result for the purpose of this paper is that the measurements can be interpreted using a shared bottleneck model. Not surprisingly, this result ties in well with that obtained in [4], which used measurements obtained over a variety of connections spanning the Internet. Second, we have considered a shared bottleneck model of a TCP connection. In this model, a reference TCP connection shares a single bottleneck node with other connections while non bottleneck nodes are modeled by fixed delays. The traffic generated by these connections is assumed to be independent from the behavior of the reference TCP connection. We refer to this traffic as exogenous traffic, and to these connections as non controlled connections (even though some of them might be TCP connections, and hence might be flow controlled connections). We model these connections as a single exogenous connection that competes with the reference TCP connection for the resources of the bottleneck node. In prac- 1 Renater is an acronym for REseau NAtional de télécommunications pour la Technologie, l Enseignement, et la Recherche. RR n 3142

6 4 E. Altman, J. Bolot, P. Nain, D. Elouadghiri, M. Erramdani, P. Brown, D. Collange tice, we model the exogenous and the reference connection using a fluid model and use it to analyze the behavior of the reference TCP connection. Fluid models have been found to be helpful in providing insights into the dynamic as well as stationary behavior of a variety of feedback control mechanisms [3, 7, 9, 26]. This is important because the dynamic behavior of the TCP flow control mechanism has an important impact on the performance of TCP connections. Third, we have used simulation to validate the fluid approximation and the analytic results obtained in step 2. The rest of the paper is organized as follows. In Section 2, we briefly describe the TCP flow control mechanism and our fluid model of it. This model turns out to have two modes of operation. We analyze these modes in Sections 3 and 4, respectively. In Section 5, we describe and analyze the simulation results obtained to validate the analytic results. Section 6 concludes the paper. 2 Modeling TCP flow control The TCP flow control scheme Flow control mechanisms regulate the flow of packets into a network to prevent network resources from becoming congested and to make sure that these resources are shared fairly between different users. This regulation is typically done using feedback information about the state (more or less congested) of the network. In TCP, the state of the network is characterized by packet losses and the regulation is done using a dynamic window scheme [11]. The specifics of the control mechanism are as follows. Packets are assigned increasing sequence numbers. The source TCP sends in each packet continuous data octets accompanied by the sequence number of the first octet. The destination TCP maintains a set of continuous sequence numbers. When it receives a packet, the destination TCP sends an acknowledgment (ack) packet indicating the value of the receive window and the next expected octet sequence number. The receive window indicates how much buffer space is available for this connection at the destination host. Its size is fixed. Data octets below the receive window have been passed on to the application. Data octets received out of sequence but within the receive window are buffered. The source TCP maintains another window called the congestion window, equal to the maximum allowed number of unacknowledged packets. The congestion window size is adjusted dynamically in response to ack reception and packet loss. A packet loss in turn is detected either with the receipt of 3 duplicate acks (i.e. consecutive acks that have the same next expected sequence number), or with the expiration of a timer. The source then is allowed to send min(receive window, congestion window) packets. The congestion window size adjustments work in cycles made up of two phases, namely the slow-start phase and the congestion-avoidance phase. The window size is initially set to 1. In the slow-start phase, INRIA

7 Analyse des Performances de TCP/IP 5 the window size is increased by one every time an ack is received. Thus, when an ack arrives at the source, two packets are generated, one for the received ack and one because the window size is increased by one. This behavior causes an exponential increase of the window size as a function of time, and the amount of data in transit over the connection increases rapidly. The slow-start phase ends when the window reaches a certain level called the slow-start threshold. At this point the congestion avoidance phase starts. The purpose of this phase is to slowly increase the load over the connection so as to adapt to and probe for the available bandwidth. This is done by increasing the current size W of the window by 1/[W] whenever a packet is acknowledged 2. Thus, the window size increases by 1 when W packets have been received, i.e. roughly every roundtrip. When a packet is lost, the slow-start threshold is set to half the size of the window, the window is then set to 1, and a new cycle begins. The control algorithm described above is referred to in the literature as TCP Tahoe. Other versions such as Reno [12] and Vegas [6] have been proposed recently. They differ from Tahoe by slightly different window adjustments and packet loss detection schemes, and we will not consider them in this paper. The shared bottleneck model We next turn to the problem of modeling and analyzing the performance of a reference Tahoe TCP connection in a wide-area network. As indicated in Section 1, we consider a shared bottleneck model. In this model, the reference TCP connection shares a finite buffer FIFO bottleneck mode with other connections. Thus, the arrival stream at the bottleneck queue is the superposition of two streams, namely the reference TCP stream and the exogenous stream, which is in turn the superposition of many streams active during the TCP connection lifetime. We assume in this section that the exogenous stream is a constant rate stream independent of the state of the network, i.e. independent of the behavior of the TCP connection under study and of the load in the bottleneck queue (we examine in Section 5 how the performance measures are impacted when the exogenous stream is a Poisson stream). We use a constant delay to model the fixed component of the round trip delay of the reference TCP packets. Refer to Figure 2. The parameters of the model are window size at time. We take. value of the slow-start threshold at time. number of packets in the queue (from the TCP and exogenous stream) at time. 2 [x] denotes the integer part of x. RR n 3142

A Comparative Analysis of TCP Tahoe, Reno, New-Reno, SACK and Vegas Abstract: The purpose of this paper is to analyze and compare the different congestion control and avoidance mechanisms which have been

ISSN: 2321-7782 (Online) Volume 1, Issue 7, December 2013 International Journal of Advance Research in Computer Science and Management Studies Research Paper Available online at: www.ijarcsms.com A Survey:

Using Fuzzy Logic Control to Provide Intelligent Traffic Management Service for High-Speed Networks ABSTRACT: In view of the fast-growing Internet traffic, this paper propose a distributed traffic management

Transport Layer Protocols Version. Transport layer performs two main tasks for the application layer by using the network layer. It provides end to end communication between two applications, and implements

152 APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM A1.1 INTRODUCTION PPATPAN is implemented in a test bed with five Linux system arranged in a multihop topology. The system is implemented

Wireshark Lab 3 TCP The following reference answers are based on the trace files provided with the text book, which can be downloaded from the textbook website. TCP Basics Answer the following questions

5-44: omputer Networks Homework 2 Solution Assigned: September 25, 2002. Due: October 7, 2002 in class. In this homework you will test your understanding of the TP concepts taught in class including flow

17: Queue Management Mark Handley Queuing The primary purpose of a queue in an IP router is to smooth out bursty arrivals, so that the network utilization can be high. But queues add delay and cause jitter.

Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson Lawrence Berkeley Laboratory University of California floyd@eelblgov van@eelblgov To appear in the August 1993 IEEE/ACM

Wireless Random Packet Networking, Part II: TCP/IP Over Lossy Links - TCP SACK without Congestion Control Roland Kempter The University of Alberta, June 17 th, 2004 Department of Electrical And Computer

1 First Midterm for ECE374 03/24/11 Solution!! Note: In all written assignments, please show as much of your work as you can. Even if you get a wrong answer, you can get partial credit if you show your

Review for Chapter 3 R3.Describle why an application developer might choose to run an application over UDP rather than TCP. Answer: An application developer may not want its application to use TCP s congestion

Routing in packet-switching networks Circuit switching vs. Packet switching Most of WANs based on circuit or packet switching Circuit switching designed for voice Resources dedicated to a particular call

REQUEST FORM FORMULAIRE DE REQUÊTE ON THE BASIS OF THIS REQUEST FORM, AND PROVIDED THE INTERVENTION IS ELIGIBLE, THE PROJECT MANAGEMENT UNIT WILL DISCUSS WITH YOU THE DRAFTING OF THE TERMS OF REFERENCES

Quantifying the Performance Degradation of IPv6 for TCP in Windows and Linux Networking Burjiz Soorty School of Computing and Mathematical Sciences Auckland University of Technology Auckland, New Zealand

L41: Lab 5 - TCP Latency and Bandwidth Lent Term 2015 The goals of this lab are to: Learn to draw TCP time-bandwidth and time sequence-number diagrams Evaluate the effects of latency on TCP Evaluate the

TCP/IP: An overview Syed A. Rizvi TCP/IP The Internet uses TCP/IP protocol suite to establish a connection between two computers. TCP/IP suite includes two protocols (1) Transmission Control Protocol or

To ensure the functioning of the site, we use cookies. We share information about your activities on the site with our partners and Google partners: social networks and companies engaged in advertising and web analytics. For more information, see the Privacy Policy and Google Privacy &amp Terms.
Your consent to our cookies if you continue to use this website.