TCP Congestion Control - WPI

TCP Congestion Control - WPI

TCP Congestion Control Networks : TCP Congestion Control 1 TCP Congestion Control Essential strategy :: The TCP host sends packets into the network without a reservation and then the host reacts to observable events. Originally TCP assumed FIFO queuing. Basic idea :: each source determines how

much capacity is available to a given flow in the network. ACKs are used to pace the transmission of packets such that TCP is self-clocking. Networks : TCP Congestion Control 2 AIMD (Additive Increase / Multiplicative Decrease) CongestionWindow (cwnd) is a variable held by the TCP source for each connection. MaxWindow :: min (CongestionWindow , AdvertisedWindow)

EffectiveWindow = MaxWindow (LastByteSent -LastByteAcked) cwnd is set based on the perceived level of congestion. The Host receives implicit (packet drop) or explicit (packet mark) indications of internal congestion. Networks : TCP Congestion Control 3 Additive Increase Additive Increase is a reaction to perceived available capacity.

Linear Increase basic idea:: For each cwnds worth of packets sent, increase cwnd by 1 packet. In practice, cwnd is incremented fractionally for each arriving ACK. increment = MSS x (MSS /cwnd) cwnd = cwnd + increment Networks : TCP Congestion Control 4 Multiplicative Decrease * The key assumption is that a dropped packet and the

resultant timeout are due to congestion at a router or a switch. Multiplicate Decrease:: TCP reacts to a timeout by halving cwnd. Although cwnd is defined in bytes, the literature often discusses congestion control in terms of packets (or more formally in MSS == Maximum Segment Size). cwnd is not allowed below the size of a single packet . Networks : TCP Congestion Control 5

Additive Increase Networks : TCP Congestion Control 6 AIMD (Additive Increase / Multiplicative Decrease) It has been shown that AIMD is a necessary congestion for TCP congestion control to be stable. Because the simple CC mechanism involves

timeouts that cause retransmissions, it is important that hosts have an accurate timeout mechanism. Timeouts set as a function of average RTT and standard deviation of RTT. However, TCP hosts only sample round-trip time once per RTT using coarse-grained clock. Networks : TCP Congestion Control 7 Networks : TCP Congestion Control 8

Slow Start Linear additive increase takes too long to ramp up a new TCP connection from cold start. Beginning with TCP Tahoe, the slow start mechanism was added to provide an initial exponential increase in the size of cwnd. Remember mechanism by: slow start prevents a slow start. Moreover, slow start is slower than sending a full advertised windows worth of packets all at once. Networks : TCP Congestion Control

9 Slow Start The source starts with cwnd = 1. Every time an ACK arrives, cwnd is incremented. cwnd is effectively doubled per RTT epoch. Two slow start situations: At the very beginning of a connection {cold start}. When the connection goes dead waiting for a timeout to occur (i.e, the advertized window goes to zero!)

Networks : TCP Congestion Control 10 Slow Start Networks : TCP Congestion Control 11 Slow Start However, in the second case the source

has more information. The current value of cwnd can be saved as a congestion threshold. This is also known as the slow start threshold ssthresh. Networks : TCP Congestion Control 12 Networks : TCP Congestion Control 13

Fast Retransmit Coarse timeouts remained a problem, and Fast retransmit was added with TCP Tahoe. Since the receiver responds every time a packet arrives, this implies the sender will see duplicate ACKs. Basic Idea:: use duplicate ACKs to signal lost packet. Fast Retransmit Upon receipt of three duplicate ACKs, the TCP Sender retransmits the lost packet. Networks : TCP Congestion Control

14 Fast Retransmit Generally, fast retransmit eliminates about half the coarse-grain timeouts. This yields roughly a 20% improvement in throughput. Note fast retransmit does not eliminate all the timeouts due to small window sizes at the source. Networks : TCP Congestion Control

15 Fast Retransmit Networks : TCP Congestion Control 16 Networks : TCP Congestion Control 17

Fast Recovery Fast recovery was added with TCP Reno. Basic idea:: When fast retransmit detects three duplicate ACKs, start the recovery process from congestion avoidance region and use ACKs in the pipe to pace the sending of packets. Fast Recovery After Fast Retransmit, half cwnd and commence recovery from this point using linear additive increase primed by left over ACKs in pipe. Networks : TCP Congestion Control

18 TCP Congestion Control 20 Congestion occurs Congestion avoidance 15 Congestion

window Threshold 10 5 Slow start 0 Copyright 2000 The McGraw Hill Companies

Round-trip times Leon-Garcia & Widjaja: Communication Networks Networks : TCP Congestion Control Figure 7.63 19 Modified Slow Start With fast recovery, slow start only occurs:

At cold start After a coarse-grain timeout This is the difference between TCP Tahoe and TCP Reno!! Networks : TCP Congestion Control 20

Recently Viewed Presentations

  • TIME MANAGEMENT - Arizona Western College

    TIME MANAGEMENT - Arizona Western College

    Workshop Overview The Secret to understanding time Defining time management How is MY time management? What does it mean to me? Time management strategies The Secret to understanding Time What is Time Management? Time management is the act of arranging...
  • Notes 5.1: Work and Kinetic Energy

    Notes 5.1: Work and Kinetic Energy

    Kinetic energy is defined as the work needed to accelerate a body of a given mass from rest to its stated velocity. ... A 105-g hockey puck is sliding across the ice. A player exerts a constant 4.50 N force...
  • An Interactive Approach to Formal Languages and Automata with ...

    An Interactive Approach to Formal Languages and Automata with ...

    Example Moore Machine Halve a Binary Number JFLAP Pump lemma Game Batch Testing Mode Select several files for testing Then select input file An Interactive Approach to Formal Languages and Automata with JFLAP JFLAP - Regular Languages Create DFA and...
  • Geometry Review: DDI #3 - Kenwood Academy

    Geometry Review: DDI #3 - Kenwood Academy

    Inequalities in triangles (relationships between angles and sides) How to determine if three sides . could. make a triangle (Triangle Inequality Theorem) Chapter 7: Right Triangles and Trigonometry. Pythagorean Theorem. Special Triangles. Trigonometric Ratios. Solving right triangles using trig. Angle...
  • Présentation PowerPoint

    Présentation PowerPoint

    The United Kingdom. Title: Présentation PowerPoint Author: Costa Cathy Last modified by: Costa Cathy Created Date: 8/19/2014 2:13:23 PM Document presentation format: Personnalisé Company: Hewlett-Packard Other titles:
  • Periferni Nervni Sistem

    Periferni Nervni Sistem

    Substantia nigra-kontroliše gama vlakna. Subtalamička jedra -kontrolišu kretanje unapred. ... (nucleus lentiformis i nucleus caudatus),claustrum,nucleus amygdale i substantia innominata. Takođe spadaju i nucleus ruber,substantia nigra i nucleus subtalamicus.
  • Native Sports Team Names - Mr. Soulis

    Native Sports Team Names - Mr. Soulis

    The crisis cost well over $200 million and was the first violent conflict between Natives and the government in the late 20th century . In 1997, the Department of Indian Affairs quietly purchased the disputed land for $5.2 million and...
  • United States Department of Agriculture

    United States Department of Agriculture

    Bale tagging system that identifies each U.S. cotton bale with a unique number that is traceable from the textile mill back to the gin. PBI Tags. Attached to all U.S. bales.