Spring 2015© CS 438 Staff - University of Illinois1 Next Topic: Vacation Planning UIUC Chicago Monterey San Francisco Chicago to San Francisco: ALL FLIGHTS.

Slides:



Advertisements
Similar presentations
Slide Set 14: TCP Congestion Control. In this set... We begin Chapter 6 but with 6.3. We will cover Sections 6.3 and 6.4. Mainly deals with congestion.
Advertisements

Computer Networking Lecture 20 – Queue Management and QoS.
24-1 Chapter 24. Congestion Control and Quality of Service (part 1) 23.1 Data Traffic 23.2 Congestion 23.3 Congestion Control 23.4 Two Examples.
1 Comnet 2010 Communication Networks Recitation 9 Fairness & TCP Congestion Control.
ECE 4450:427/527 - Computer Networks Spring 2015
Congestion Control An Overview -Jyothi Guntaka. Congestion  What is congestion ?  The aggregate demand for network resources exceeds the available capacity.
Advanced Computer Networks: RED 1 Random Early Detection Gateways for Congestion Avoidance * Sally Floyd and Van Jacobson, IEEE Transactions on Networking,
CSS432 Congestion Control Textbook Ch6.1 – 6.4
CSS432: Congestion Control1 CSS432 Congestion Control Textbook Ch6.1 – 6.4 Professor: Munehiro Fukuda.
Fall 2006CS 5611 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion Quality of Service.
Explicit Congestion Notification ECN Tilo Hamann Technical University Hamburg-Harburg, Germany.
1 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
Networks: Congestion Control1 Congestion Control.
Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
TCP Congestion Control TCP sources change the sending rate by modifying the window size: Window = min {Advertised window, Congestion Window} In other words,
Spring 2002CS 4611 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
Spring 2003CS 4611 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug 1993), pp
Chapter 6 Congestion Control and Resource Allocation
Advanced Networks Transport Layer - II Michalis Faloutsos Many slides from Kurose-Ross Srikanth Krishnamurthy S. Kalyanaraman.
Computer Networking Lecture 17 – Queue Management As usual: Thanks to Srini Seshan and Dave Anderson.
Random Early Detection Gateways for Congestion Avoidance
Lecture 5: Congestion Control l Challenge: how do we efficiently share network resources among billions of hosts? n Last time: TCP n This time: Alternative.
Advanced Networks Transport Layer - II Michalis Faloutsos Many slides from Kurose-Ross Srikanth Krishnamurthy S. Kalyanaraman.
1 K. Salah Module 6.1: TCP Flow and Congestion Control Connection establishment & Termination Flow Control Congestion Control QoS.
TCP Congestion Control
Ns Simulation Final presentation Stella Pantofel Igor Berman Michael Halperin
Advanced Computer Networks : RED 1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking,
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
1 Queue Management Hamed Khanmirza Principles of Networking University of Tehran.
Advance Computer Networking L-6 TCP & Routers Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan.
Congestion Control (cont’d). TCP Congestion Control Review Congestion control consists of 3 tasks  Detect congestion  Adjust sending rate  Determine.
Fundamentals of Computer Networks ECE 478/578 Lecture #22: Resource Allocation and Congestion Control Instructor: Loukas Lazos Dept of Electrical and Computer.
ACN: RED paper1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug.
1 Lecture 14 High-speed TCP connections Wraparound Keeping the pipeline full Estimating RTT Fairness of TCP congestion control Internet resource allocation.
CSE Computer Networks Prof. Aaron Striegel Department of Computer Science & Engineering University of Notre Dame Lecture 20 – March 25, 2010.
CSE 561 – Congestion Control with Network Support David Wetherall Spring 2000.
Queueing and Active Queue Management Aditya Akella 02/26/2007.
9.7 Other Congestion Related Issues Outline Queuing Discipline Avoiding Congestion.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
AQM & TCP models Courtesy of Sally Floyd with ICIR Raj Jain with OSU.
Spring 2003CS 3321 Congestion Avoidance. Spring 2003CS 3322 Congestion Avoidance TCP congestion control strategy: –Increase load until congestion occurs,
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
By N.Gopinath AP/CSE Unit: III Introduction to Transport layer.
Winter 2008CS244a Handout 81 CS244a: An Introduction to Computer Networks Handout 8: Congestion Avoidance and Active Queue Management Nick McKeown Professor.
 Last Class  This Class  Chapter 6.3. ~ 6.4.  TCP congestion control.
CSE Computer Networks Prof. Aaron Striegel Department of Computer Science & Engineering University of Notre Dame Lecture 19 – March 23, 2010.
Random Early Detection (RED) Router notifies source before congestion happens - just drop the packet (TCP will timeout and adjust its window) - could make.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Spring Computer Networks1 Congestion Control II Outline Queuing Discipline Reacting to Congestion Avoiding Congestion DECbit Random Early Detection.
ECEN 619, Internet Protocols and Modeling Prof. Xi Zhang Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions.
Congestion Avoidance Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
Other Methods of Dealing with Congestion
Internet Networking recitation #9
Topics discussed in this section:
Congestion Control Outline Queuing Discipline Reacting to Congestion
Chapter 6 Congestion Avoidance
Congestion Control Outline Queuing Discipline Reacting to Congestion
TCP overview Advanced Networks 2002.
Congestion Control Outline Queuing Discipline Reacting to Congestion
Queuing and Queue Management
CSS432 Congestion Control Textbook Ch6.1 – 6.4
Random Early Detection Gateways for Congestion Avoidance
Other Methods of Dealing with Congestion
Advanced Computer Networks
Other Methods of Dealing with Congestion
CSS432 Congestion Control Textbook Ch6.1 – 6.4
Internet Networking recitation #10
TCP Overview.
Presentation transcript:

Spring 2015© CS 438 Staff - University of Illinois1 Next Topic: Vacation Planning UIUC Chicago Monterey San Francisco Chicago to San Francisco: ALL FLIGHTS FULL I’ll wait until Spring.

Spring 2015© CS 438 Staff - University of Illinois2 Congestion Avoidance Control vs. avoidance  Control: minimize impact of congestion when it occurs  Avoidance: avoid producing congestion In terms of operating point limits load power optimal load idealized power curve controlavoidance

Spring 2015© CS 438 Staff - University of Illinois3 Congestion Avoidance TCP’s strategy  Control congestion once it happens  Repeatedly increase load in an effort to find the point at which congestion occurs, then back off Alternative Strategy  Predict when congestion is about to happen and reduce the rate at which hosts send data just before packets start being discarded  Congestion avoidance, as compared to congestion control Two possibilities  Host-centric TCP Vegas (may get some help from routers as in DECbit or via RED gateways)  Router-centric Virtual circuits with reserved resources (ATM, RSVP)

Spring 2015© CS 438 Staff - University of Illinois4 DECbit (Destination Experiencing Congestion Bit) Developed for the Digital Network Architecture Basic idea  One bit allocated in packet header  Any router experiencing congestion sets bit  Destination returns bit to source  Source adjusts rate based on bits Note that responsibility is shared  Routers identify congestion  Hosts act to avoid congestion

Spring 2015© CS 438 Staff - University of Illinois5 DECbit Router  Monitors length over last busy + idle cycle  Sets congestion bit if average queue length is greater then 1 when packet arrives  Attempts to balance throughput against delay smaller values result in more idle time larger values result in more queueing delay Queue length Current time Time Current cyclePrevious cycle Averaging interval

Spring 2015© CS 438 Staff - University of Illinois6 DECbit End Hosts  Destination echoes congestion bit back to source  Source records how many packets resulted in set bit  If less than 50% of last window had bit set Increase CongestionWindow by 1 packet  If 50% or more of last window had bit set Decrease CongestionWindow by percent Note:  Techniques used in DECbit known as explicit congestion notification (ECN)  Proposal to add ECN bit to TCP in progress

Spring 2015© CS 438 Staff - University of Illinois7 Router-Based Congestion Avoidance Random Early Detection (RED) gateways  Developed for use with TCP  Basic idea Implicit rather than explicit notification When a router is “almost” congested Drop packets randomly  Responsibility is again shared Router identifies, host acts Relies on TCP’s response to dropped packets

RED Overview Observation  Transient congestion Should be accommodated for by having large enough queues  Longer-lived congestion Reflected as an increase in the average queue size Approach  Detect incipient congestion from average queue size Upper bound for average queue length Spring 2015© CS 438 Staff - University of Illinois8

RED Overview Notify the end host of congestion  Dropping packet  Marking packet Select connections randomly  Avoid global synchronization Change dropping probability dynamically Avoid bias against bursty data  Use average queue length  Random marking Spring 2015© CS 438 Staff - University of Illinois9

Spring 2015© CS 438 Staff - University of Illinois10 Random Early Detection (RED) Hosts  Implement TCP congestion control  Back off when a packet is dropped Routers  Compute average queue length (exponential moving average) AvgLen = (1 – Weight) * AvgLen + Weight * SampleLen 0 < Weight < 1 (usually 0.002) SampleLen is queue length at packet arrival time

Spring 2015© CS 438 Staff - University of Illinois11 RED – Dropping Policy If AvgLen  MinThreshold  Enqueue packet If MinThreshold < AvgLen < MaxThreshold  Calculate P and drop arriving packet with probability P If MaxThreshold  AvgLen  Drop arriving packet MaxThresholdMinThreshold AvgLen

Spring 2015© CS 438 Staff - University of Illinois12 RED – Dropping Probability Computing P  P is a function of AvgLen and Count  Count is the number of packets that have arrived since last reset  Reset happens when either a packet is dropped or AvgLen is above MaxThreshold TempP = (MaxP) * (AvgLen – MinThreshold) MaxThreshold - MinThreshold P = TempP (1 – count * TempP) AvgLen P(drop) 1.0 MaxP MinThreshMaxThresh

Calculate Average Queue Size Low pass filter  If idle:  Example: w q = Spring 2015© CS 438 Staff - University of Illinois13 max th = 15 min th = 5 instantaneous queue size average queue size

min th and max th Determined by the desired average queue size  Should be set sufficiently to maximize network utilization min th  Controls the size of bursts max th  Depends on the maximum average delay max th - min th  Should be larger than increase in average queue size in one round trip time  Avoid global synchronization Spring 2015© CS 438 Staff - University of Illinois14

Spring 2015© CS 438 Staff - University of Illinois15 RED Parameters MaxP is typically set to 0.02  When the average queue size is halfway between the two thresholds, the gateway drops roughly 1 out of 50 packets. MinThreshold is typically max/2 Choosing parameters  Carefully tuned to maximize power function  Confirmed through simulation  But answer depends on accuracy of traffic model

Spring 2015© CS 438 Staff - University of Illinois16 Tuning RED Probability of dropping a particular flow’s packet(s)  Roughly proportional to the that flow’s current share of the bandwidth If traffic is bursty  MinThreshold should be sufficiently large to allow link utilization to be maintained at an acceptably high level  If no buffer space is available, RED uses Tail Drop Difference between two thresholds  Should be larger than the typical increase in the calculated average queue length in one RTT  Setting MaxThreshold to twice MinThreshold is reasonable for traffic on today’s Internet Penalty Box for Offenders

Spring 2015© CS 438 Staff - University of Illinois17 Source-Based Congestion Avoidance Idea  Source watches for some sign that some router’s queue is building up and congestion will happen soon Examples  RTT is growing  Sending rate flattens

Spring 2015© CS 438 Staff - University of Illinois18 Source-Based Congestion Avoidance Observe RTT  If current RTT is greater than average of minRTT and maxRTT, decrease congestion window by one-eigth Observe RTT and Window Size  Adjust window once every two RTT If (CurrWindow – OldWindow) * (CurrRTT – OldRTT) > 0, decrease window by one-eigth, otherwise increase window my one MSS Observe sending rate  Increase window and compare throughput to previous value Observe throughput  Compare measured throughput with observed throughput  TCP Vegas

Spring 2015© CS 438 Staff - University of Illinois19 TCP Vegas Time (seconds) Observed Throughput KBps Time (seconds) Queue size in router

Spring 2015© CS 438 Staff - University of Illinois20 TCP Vegas Basic idea  Watch for signs of queue growth  In particular, difference between increasing congestion window stable throughput (presumably at capacity)  Keep just enough “extra data” in the network Time to react if bandwidth decreases Data available if bandwidth increases

Spring 2015© CS 438 Staff - University of Illinois21 TCP Vegas Implementation  Estimate uncongested RTT baseRTT = minimum measured RTT Expected throughput = congestion window / baseRTT  Measure throughput each RTT Mark time of sending distinguished packet Calculate data sent between send time and receipt of ACK

Spring 2015© CS 438 Staff - University of Illinois22 TCP Vegas  Act to keep the difference between estimated and actual throughput in a specified range Below minimum threshold  Increase congestion window Above maximum threshold  Decrease congestion window  Additive decrease used only to avoid congestion  Want between 1 and 3 packets of extra data (used to pick min/max thresholds)

Spring 2015© CS 438 Staff - University of Illinois23 TCP Vegas Algorithm Let BaseRTT be minimum of all measured RTTs  Commonly the RTT of the first packet If not overflowing the connection, then  ExpectRate = CongestionWindow/BaseRTT Source calculates sending rate (ActualRate) once per RTT Source compares ActualRate with ExpectRate  Diff = ExpectedRate – ActualRate  if Diff < a Increase CongestionWindow linearly  else if Diff > b Decrease CongestionWindow linearly  else Leave CongestionWindow unchanged

Spring 2015© CS 438 Staff - University of Illinois24 TCP Vegas Algorithm Parameters   = 1 packet   = 3 packets Even faster retransmit  Keep fine- grained timestamps for each packet  Check for timeout on first duplicate ACK CAM KBps Time (seconds)