TCP Revisited CONTACT INFORMATION: phone: fax: web:

Similar documents
Engineering of QoS CONTACT INFORMATION: phone: fax: web:

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

cs/ee 143 Communication Networks

ECE 333: Introduction to Communication Networks Fall 2001

CS321: Computer Networks Congestion Control in TCP

Congestion control in TCP

Transport Protocols and TCP: Review

Advanced Computer Networks

Transport Protocols & TCP TCP

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

image 3.8 KB Figure 1.6: Example Web Page

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

ENSC 835 project TCP performance over satellite links. Kenny, Qing Shao Grace, Hui Zhang

Reliable Transport II: TCP and Congestion Control

Flow and Congestion Control Marcos Vieira

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

Lecture 4: Congestion Control

Contents. CIS 632 / EEC 687 Mobile Computing. TCP in Fixed Networks. Prof. Chansu Yu

Chapter III. congestion situation in Highspeed Networks

RED behavior with different packet sizes

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission

ENSC 835 project (2002) TCP performance over satellite links. Kenny, Qing Shao Grace, Hui Zhang

Congestion Control. Principles of Congestion Control. Network assisted congestion. Asynchronous Transfer Mode. Computer Networks 10/23/2013

TCP Congestion Control

CS Transport. Outline. Window Flow Control. Window Flow Control

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015

Communication Networks

CSE 461. TCP and network congestion

CS4700/CS5700 Fundamentals of Computer Networks

Rate Based Pacing with Various TCP Variants

TCP Veno: Solution to TCP over Wireless

CS3600 SYSTEMS AND NETWORKS

Equation-Based Congestion Control for Unicast Applications. Outline. Introduction. But don t we need TCP? TFRC Goals

Congestion Avoidance and Control. Rohan Tabish and Zane Ma

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD

ENSC 835 project (2002) TCP performance over satellite links. Kenny, Qing Shao Grace, Hui Zhang

COMP/ELEC 429/556 Introduction to Computer Networks

Lecture 14: Congestion Control"

Addressing the Challenges of Web Data Transport

Flow and Congestion Control (Hosts)

Congestion Control. Principles of Congestion Control. Network-assisted Congestion Control: ATM. Congestion Control. Computer Networks 10/21/2009

Transport Protocols and TCP

Improving TCP Performance over Wireless Networks using Loss Predictors

Performance Consequences of Partial RED Deployment

ETSF10 Internet Protocols Transport Layer Protocols

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Transmission Control Protocol (TCP)

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?

Performance Analysis of TCP Variants

Transport Protocols CS 640 1

Lecture 14: Congestion Control"

ENRICHMENT OF SACK TCP PERFORMANCE BY DELAYING FAST RECOVERY Mr. R. D. Mehta 1, Dr. C. H. Vithalani 2, Dr. N. N. Jani 3

TCP based Receiver Assistant Congestion Control

MEASURING PERFORMANCE OF VARIANTS OF TCP CONGESTION CONTROL PROTOCOLS

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Cross-layer TCP Performance Analysis in IEEE Vehicular Environments

CSCI-1680 Transport Layer II Data over TCP Rodrigo Fonseca

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015

Operating Systems and Networks. Network Lecture 10: Congestion Control. Adrian Perrig Network Security Group ETH Zürich

Where we are in the Course. Topic. Nature of Congestion. Nature of Congestion (3) Nature of Congestion (2) Operating Systems and Networks

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness

Congestion Control. Brighten Godfrey CS 538 January Based in part on slides by Ion Stoica

Congestion Control 3/16/09

Transport layer issues

Assignment 7: TCP and Congestion Control Due the week of October 29/30, 2015

Episode 4. Flow and Congestion Control. Baochun Li Department of Electrical and Computer Engineering University of Toronto

Congestions and Control Mechanisms in Wired and Wireless Networks

Computer Networking Introduction

Multiple unconnected networks

The Transport Layer Congestion control in TCP

Fall 2012: FCM 708 Bridge Foundation I

Flow Control. Flow control problem. Other considerations. Where?

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, steam: r Development of reliable protocol r Sliding window protocols

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, Development of reliable protocol Sliding window protocols

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

TCP over Wireless PROF. MICHAEL TSAI 2016/6/3

CS CS COMPUTER NETWORKS CS CS CHAPTER 6. CHAPTER 6 Congestion Control

TCP Review. Carey Williamson Department of Computer Science University of Calgary Winter 2018

Advanced Congestion Control (Hosts)

The Impact of Delay Variations on TCP Performance

SWAP and TCP performance

TCP Flavors Simulation Evaluations over Noisy Environment

Computer Networks. Course Reference Model. Topic. Congestion What s the hold up? Nature of Congestion. Nature of Congestion 1/5/2015.

EVALUATING THE DIVERSE ALGORITHMS OF TRANSMISSION CONTROL PROTOCOL UNDER THE ENVIRONMENT OF NS-2

PERFORMANCE COMPARISON OF THE DIFFERENT STREAMS IN A TCP BOTTLENECK LINK IN THE PRESENCE OF BACKGROUND TRAFFIC IN A DATA CENTER

Two approaches to Flow Control. Cranking up to speed. Sliding windows in action

Lecture 15: TCP over wireless networks. Mythili Vutukuru CS 653 Spring 2014 March 13, Thursday

ECE 610: Homework 4 Problems are taken from Kurose and Ross.

Reliable Transport II: TCP and Congestion Control

05 Transmission Control Protocol (TCP)

An Enhanced Slow-Start Mechanism for TCP Vegas

Context. TCP is the dominant transport protocol in today s Internet. Embodies some of Internet design principles

Transport Layer (Congestion Control)

Episode 4. Flow and Congestion Control. Baochun Li Department of Electrical and Computer Engineering University of Toronto

Advanced Computer Networks

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Transcription:

TCP Revisited CONTACT INFORMATION: phone: +1.301.527.1629 fax: +1.301.527.1690 email: whitepaper@hsc.com web: www.hsc.com

PROPRIETARY NOTICE All rights reserved. This publication and its contents are proprietary to Hughes Systique Corporation. No part of this publication may be reproduced in any form or by any means without the written permission of Hughes Systique Corporation, 15245 Shady Grove Road, Suite 330, Rockville, MD 20850. Copyright 2006 Hughes Systique Coporation 2 HSC PROPRIETARY

TABLE OF CONTENTS SECTION PAGE 1.0 TCP REVISITED...4 1.1 CONGESTION COLLAPSE...4 1.2 HOW TO PREVENT CONGESTION COLLAPSE...4 1.3 TCP BASICS...4 1.4 TCP RENO...4 1.5 CONGESTION DETECTION...4 1.6 SLOW START...5 1.7 CONGESTION AVOIDANCE...5 1.8 THE TCP VEGAS AND RELATED METHODS...5 1.8.1 Background...5 1.9 CRITIQUES AND CRITICISMS OF TCP RENO...5 1.10 HOW TCP VEGAS WORKS...5 1.11 ANALYSIS OF TCP VEGAS...6 2.0 REFERENCES...7 3 HSC PROPRIETARY

1.0 TCP REVISITED TCP is transmission Control Protocol, the Layer4 protocol for communication over both wireline as well as wireless links. It is one of the most widespread of protocols in usage today. All key applications defining the web today, http, email transfer, file transfer, etc. use TCP as the backbone transmission protocol. TCP offers a stream oriented reliable delivery service. Unusually, for a transport layer protocol, it has no explicit support for QoS. Perhaps this is one of the reasons for its success - by eschewing features, it has managed to be simultaneously very efficient and very powerful. Also, it is designed to operate on any standard network layer protocol with as few assumptions as possible. The key feature in TCP is a very sophisticated scheme of congestion management and rate adaptation. There are multiple variants of TCP, each principally differing in the way they execute these features. For a definitive specification of TCP protocol, please see the standard in rfc0793. In the rest of this article, we shall review the theory of TCP congestion avoidance and the different algorithms available for handling the same. 1.1 Congestion collapse Congestion collapse takes place when multiple sources start transmitting together at a constant rate. If the number of sources is sufficiently high, this will be greater than the clearing rate of the network. This will, then, lead to overflow of buffers and packet dropping. The dropped packets will, in turn, lead to further retransmissions, which will only increase the load in the network. Eventually, we will reach the stage where no data is going through. 1.2 How to prevent congestion collapse The job of the transmitter is then, to discover a transmission rate so that the combined transmission rate of all transmitters is less than the network clearing rate. The fact that this is even possible comes from a very deep result in distributed autonomous control, see [Kleinrock95]. 1.3 TCP basics TCP is a sliding window, asynchronous ARQ protocol. It is termed asynchronous because it does not use clocks explicitly for most operations and also, does not need clocks of a very fine granularity. Rather, whenever a packet is received, this is treated as an event, which triggers the next activity. The lack of clocks ensures that processing load is relatively low and TCP has run successfully on 5-6 generations of computers, ranging from the 5Mhz VAX machines of the 1970s to modern day embedded systems and teraflop supercomputers. 1.4 TCP Reno TCP Reno is the most widespread variant of TCP currently. It is derived from the original version of TCP (TCP Tahoe) which was circulated as part of the FreeBSD protocol stack. The TCP stack in Solaris, Linux and Windows is a variant of TCP Reno. TCP Reno uses two key techniques for congestion management. One is slow-start and the other is congestion avoidance. 1.5 Congestion detection Standard TCP was designed for a network where links were relatively reliable, but processing computers were slow and starved for memory. Link speeds were limited (the first Internet was run on 56kb/s dialup lines, which, in the USA would have meant a noise margin of more than 40dB), but the ability of computers to transmit over them was slower still. Consequently, packet dropping was usually due to lack of buffering capability. Standard TCP thus uses packet dropping as a sign of congestion. Packet dropping can be signalled when the receiver gets a discontinuous sequence, or, in cases of heavy congestion, an entire burst is lost. The difference between the first and the second is the method of feedback. While discontinuous 4 HSC PROPRIETARY

packets can be signaled to the transmitter using duplicate acknowledgments, a whole burst being lost can only be detected autonomously by the transmitter using a retransmission timeout. One of the biggest challenges in TCP protocol design is to correctly compute the RTO wait period, taking into account queueing delay which can vary substantially and will also dominate link delay. 1.6 Slow Start Slow start is the mechanism which is used when a TCP session is started. Instead of starting transmission at a fixed rate, the transmission is started at the lowest rate possible and doubled. The rate of doubling is tied to the rate at which acknowledgments come back; thus, the rate is doubled every round trip time. If congestion is detected, the transmission rate is reduced to half of what it is currently and the congestion avoidance process starts. The rate doubling and reduction is nothing but a binary search for the 'right' transmission bandwidth. 1.7 Congestion avoidance The congestion avoidance algorithm starts where slow start stops. The TCP increases its transmission rate linearly, by adding one additional packet to its window each transmission time. If congestion is detected at any point, the TCP reduces its transmission rate to half the previous value. Thus the TCP seesaws its way to the right transmission rate. Clearly, the scheme is less aggressive than the slow-start phase (note the linear increase against the exponential growth in slow start). 1.8 The TCP Vegas and related methods The initial design of TCP was for a certain network characterization as discussed above. While it was a very successful design from the point of view of a cooperative network being shared amongst a small group, it was soon clear that there were many issues when it came to scaling it to a worldwide heterogeneous Internet. 1.8.1 Background A key transition in analysis came when TCP was analyzed, not from the point of view of a single protocol operating in an uncertain environment, but a group of 'greedy' protocols competing with each other for limited resources. [Shenker95] gives a fascinating review in his seminal paper, showing how the 'bandwidth hunting' nature of TCP actually maps to zero-sum competitive games. Subsequently, using game theoretic techniques, equilibrium behaviour and incentives have been developed. 1.9 Critiques and criticisms of TCP Reno The analysis above yielded the following criticism of TCP Reno. By its very nature, a TCP is designed to drive a network into saturation. A TCP will never reduce its transmission rate unless it sees a packet drop. This will only occur when the network is overloaded. Thus a combination of TCPs will together ensure that a network is driven into overload constantly. This makes it difficult for new connections to enter the system, since they are at a natural disadvantage due to slow start. TCP Reno attempts to equalize the window size for competing connections. However, a measure of the bandwidth achieved is the bandwidth delay product, not the window size only. Thus, TCP Reno is unfair to connections with larger round-trip times. 1.10 How TCP Vegas works TCP Vegas uses an alternate method to detect congestion. Instead of depending on packet drops, the 5 HSC PROPRIETARY

TCP monitors variations in measured round-trip times and achieved throughputs. Depending on these changes, it decides whether to increase the window or decrease the window. The details of the Vegas congestion algorithm are provided in [Brakmo94, Scowcroft95]. Another important innovation in TCP Vegas is the manner in which packet drops are detected. A study by [Balakrishnan98] showed that upto 50% of packet drops in standard TCP are only detected by timeout. In TCP Vegas, whenever a duplicate ack is received, the TCP immediately checks all pending retransmission timers. If a retransmission timer has only a small amount of time to expire (small with reference to the measured round trip time), it is retransmitted immediately. 1.11 Analysis of TCP Vegas TCP VEGAS created a significant excitement when it was initially described. Analyses such as [Low02] showed that algorithmically, it was superior to the standard TCP Reno. This was confirmed by simulation results in [Mo99]. However, detailed analysis of TCP Vegas belies its claims. While it does indeed perform better than TCP Reno,this is not because of its superior congestion management algorithm, but because of the innovations in timeout management. The problem was pointed out in one of the very first papers, but disregarded by researchers for a long time; TCP Vegas convergence is problematic. Recently [Chloe03] and others have issued enhancements to TCP Vegas (Vegas-A) which claim better convergence properties. 6 HSC PROPRIETARY

2.0 REFERENCES [Shenker95] S. J. Shenker. Making greed work in networks: A game-theoretic analysis of switch service disciplines. IEEE/ACM Transactions on Networking, 3(6):819-- 831, 1995. [Kleinrock93] B. Tung, and L. Kleinrock, "Distributed Control Methods," Proceedings of the Second International Conference on High Performance Distributed Computing, 1993. [Balakrishnan98] Hari Balakrishnan, Katz, "TCP Behaviour of a busy Internet Server: Analysis and Improvements" Proc. of the IEEE Infocom, 1998 [Brakmo95] Brakmo, Peterson, "TCP Vegas: End-to-end congestion avoidance on a global internet" IEEE JSAC 1995 [Mo99] Mo, La, Anantharam, Valrand, "Analysis and comparision of TCP Reno and Vegas", Proceedings of the IEEE Infocom, 1999 [Low02] Low, Peterson, "Understanding TCP VEGAS: A duality model", Journal of the ACM, 2002 [Choe03] Choe, Low "Stabilized Vegas", Proceedings of the IEEE Infocom, 2003 7 HSC PROPRIETARY

APPENDIX A ABOUT HUGHES SYSTIQUE CORPORATION HUGHES Systique Corporation, part of the HUGHES group of companies, is a leading communications Consulting and Software company. We provide Consulting, Systems Architecture, and Software Engineering services to complement our client's in-house capabilities. Our "Best Shore" model coupled with an experienced management and technical team team is capable of delivering a total solution to our clients, from development to deployment of complex systems, thus reducing time, risk and cost HSC Solution Space: CONTACT INFORMATION: phone: +1.301.527.1629 fax: +1.301.527.1690 email: whitepaper@hsc.com web: www.hsc.com 8 HSC PROPRIETARY

HSC Expertise Areas in Brief: CONTACT INFORMATION: phone: +1.301.527.1629 fax: +1.301.527.1690 email: whitepaper@hsc.com web: www.hsc.com 9 HSC PROPRIETARY