Congestion Avoidance Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.

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

1 Comnet 2010 Communication Networks Recitation 9 Fairness & TCP Congestion Control.
ECE 4450:427/527 - Computer Networks Spring 2015
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 16: Congestion control II Slides used with.
Md. Manzoor MurshedAdaptive RED with Dynamic Threshold Adjustment CprE599: Creative Component Adaptive RED with Dynamic Threshold Adjustment.
18 Nov 2009 TCP VEGAS Mohammad AlKurbi CMPT – 771: Internet Architecture and Protocols.
Transport Layer: TCP Congestion Control & Buffer Management
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.
1 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
Networks: Congestion Control1 Congestion Control.
Communication Networks Recitation 12: TCP Rehearsal.
TCP Stability and Resource Allocation: Part I. References The Mathematics of Internet Congestion Control, Birkhauser, The web pages of –Kelly, Vinnicombe,
1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for.
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 TCP Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol.
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.
1 Emulating AQM from End Hosts Presenters: Syed Zaidi Ivor Rodrigues.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #8 Explicit Congestion Notification (RFC 3168) Limited Transmit.
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.
TCP Congestion Control
CS :: Fall 2003 TCP Friendly Streaming Ketan Mayer-Patel.
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,
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.
CS 356: Computer Network Architectures Lecture 17: Network Resource Allocation Chapter Xiaowei Yang
1 Queue Management Hamed Khanmirza Principles of Networking University of Tehran.
TCP Vegas Kulan Kao 2006/3/25.
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.
Congestion Control - Supplementary Slides are adapted on Jean Walrand’s Slides.
Queueing and Active Queue Management Aditya Akella 02/26/2007.
9.7 Other Congestion Related Issues Outline Queuing Discipline Avoiding Congestion.
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.
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.
We used ns-2 network simulator [5] to evaluate RED-DT and compare its performance to RED [1], FRED [2], LQD [3], and CHOKe [4]. All simulation scenarios.
Spring 2015© CS 438 Staff - University of Illinois1 Next Topic: Vacation Planning UIUC Chicago Monterey San Francisco Chicago to San Francisco: ALL FLIGHTS.
Random Early Detection (RED) Router notifies source before congestion happens - just drop the packet (TCP will timeout and adjust its window) - could make.
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.
CS492B Project #2 TCP Tutorial # Jin Hyun Ju.
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
TCP Vegas Congestion Control Algorithm
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
EE 122: Router Support for Congestion Control: RED and Fair Queueing
CSS432 Congestion Control Textbook Ch6.1 – 6.4
Other Methods of Dealing with Congestion
Advanced Computer Networks
Other Methods of Dealing with Congestion
The University of Adelaide, School of Computer Science
CSS432 Congestion Control Textbook Ch6.1 – 6.4
Presentation transcript:

Congestion Avoidance Created by M Bateman, A Ruddle & C Allison As part of the TCP View project

Congestion Avoidance Congestion control: reduce sending rate after bottleneck link is congested and its packet buffers overflow Congestion avoidance: reduce sending rate when bottleneck link is saturated, but before a queue builds up at the packet buffers TCP Tahoe/Reno do congestion control, not avoidance Comparison of congestion control and avoidance Suppose a “congestion control” connection competes for network bandwidth with a “congestion avoidance” connection. Who would get more bandwidth? What is better for the network: avoidance or control?

The DECbit Approach Developed for Digital Network Architecture (DNA) in late 80’s Packets carry “Congestion Experienced” (CE) bit in their header Routers set the CE flag when they have an average queue size of at least one packet –When would a router have a positive average queue size? –Why monitor average instead of instantaneous queue? –How can we estimate the average queue size? –Why wait for an average queue of at least one packet? Receivers return the CE bit to the sources using their ACKs Sources monitor fraction of packets that have CE bit set If more than 50% of packets have seen CE=1, sources reduces sending window by certain fraction; otherwise, the window is increased by a packet (AIMD) Note: this approach requires some support by the routers

Average queue estimation What do we mean by “busy period” for a link? Average instantaneous queue size over last busy period, plus current busy period Why to include the last busy period? Queue length Current time Time Current cycle Previous cycle Averaging interval

Random Early Detection Designed for use with TCP’s congestion control algorithms Similar objectives with DECbit, but routers send implicit feedback to sources, by dropping packets early, instead of setting a special bit “Early drop” means that router starts dropping packets before its buffers overflow, at the early onset of congestion –Specifically, RED drops packets probabilistically, based on relation of average queue size AvgLen to queuing MinThreshold and MaxThreshold –If AvgLen < MinThreshold, enqueue arriving packet –If MinThreshold < AvgLen <MaxThreshold, Calculate probability P Drop arriving packet with probability P –If MaxThreshold < AvgLen, drop arriving packet

Queue size estimation First-order weighted running average: –AvgLen = (1-weight) * AvgLen + weight * SampleLen –Weight is normally around 0.1 (and often a negative power of two) –How often should we sample the queue size? –What if packets have not arrived for a while?

Queue thresholds in RED MaxThresholdMinThreshold AvgLen Objective: maintain an average queue size between Min-to-MaxThreshold –How does this compare to DEC’s “at-least-one-packet on the average” scheme –Trade-offs in selecting these two thresholds –How large should the total buffer space be?

Drop Probability in RED Why to drop packets probabilistically? What is the relation between the number of dropped packets and the throughput of a connection?

Source based congestion control What if we don’t have any support from routers? –Source-based solutions Basic idea: sources watch for some sign from the network that congestion will soon happen Different ways to do this: –Reduce sending rate upon gradual increase of the Round-Trip Times –Increase or decrease window based on sign of : (LastWindow-PrevWindow) * (LastRTT-PrevRTT) –Decrease window when sending rate starts flattening out, even though window has been increasing –Compare expected throughput and measured throughput (used in TCP Vegas)

Basic idea of TCP Vegas

TCP Vegas BaseRTT: minimum of all measured RTTs ExpectedRate = CongestionWindow/ BaseRTT ActualRate = UnAckedBytes / LastRTT –Measured once per RTT at sender Diff = ExpectedRate – ActualRate –If Diff > X, decrease congestion window –If Diff < Y, increase congestion window –How would you choose the thresholds X and Y? How does TCP Vegas compare with TCP Reno? –Would you prefer to use TCP Vegas if everyone else uses Reno? –Would it be fair to use TCP Reno if everyone else uses Vegas?