Other Methods of Dealing with Congestion

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

TCP Variants.
TCP Vegas: New Techniques for Congestion Detection and Control.
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.
CSS432 Congestion Control Textbook Ch6.1 – 6.4
Transport Layer 3-1 Fast Retransmit r time-out period often relatively long: m long delay before resending lost packet r detect lost segments via duplicate.
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.
Communication Networks Recitation 12: TCP Rehearsal.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Third Ed.,Peterson.
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.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Spring 2003CS 4611 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
Computer Networks : TCP Congestion Control1 TCP Congestion Control.
Chapter 6 Congestion Control and Resource Allocation
Advanced Networks Transport Layer - II Michalis Faloutsos Many slides from Kurose-Ross Srikanth Krishnamurthy S. Kalyanaraman.
Transport: TCP Manpreet Singh (Slides borrowed from various sources on the web)
Networks : TCP Congestion Control1 TCP Congestion Control.
Networks : TCP Congestion Control1 TCP Congestion Control Presented by Bob Kinicki.
Advanced Networks Transport Layer - II Michalis Faloutsos Many slides from Kurose-Ross Srikanth Krishnamurthy S. Kalyanaraman.
Advanced Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth.
TCP Congestion Control
Ns Simulation Final presentation Stella Pantofel Igor Berman Michael Halperin
Congestion Control (cont’d). TCP Congestion Control Review Congestion control consists of 3 tasks  Detect congestion  Adjust sending rate  Determine.
CSE Computer Networks Prof. Aaron Striegel Department of Computer Science & Engineering University of Notre Dame Lecture 20 – March 25, 2010.
9.7 Other Congestion Related Issues Outline Queuing Discipline Avoiding Congestion.
Lecture 9 – More TCP & Congestion Control
Spring 2003CS 3321 Congestion Avoidance. Spring 2003CS 3322 Congestion Avoidance TCP congestion control strategy: –Increase load until congestion occurs,
What is TCP? Connection-oriented reliable transfer Stream paradigm
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
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.
Internet Networking recitation #11
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.
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.
Congestion Avoidance Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
Internet Networking recitation #9
Chapter 3 outline 3.1 transport-layer services
Introduction to Congestion Control
Congestion Control Outline Queuing Discipline Reacting to Congestion
Chapter 6 Congestion Avoidance
Congestion Control: The Role of the Routers
Congestion Control Outline Queuing Discipline Reacting to Congestion
TCP overview Advanced Networks 2002.
Congestion Control Outline Queuing Discipline Reacting to Congestion
CSS432 Congestion Control Textbook Ch6.1 – 6.4
ECE 4450:427/527 - Computer Networks Spring 2017
So far, On the networking side, we looked at mechanisms to links hosts using direct linked networks and then forming a network of these networks. We introduced.
Other Methods of Dealing with Congestion
Other Methods of Dealing with Congestion
CSS432 Congestion Control Textbook Ch6.1 – 6.4
Chapter 6 TCP Congestion Control
Internet Networking recitation #10
CS4470 Computer Networking Protocols
TCP Overview.
Transport Layer: Congestion Control
Congestion Control Chapter 6
TCP flow and congestion control
Presentation transcript:

Other Methods of Dealing with Congestion Outline New Reno SACK TCP Vegas RED CS 640

Motivation for improving RENO In real networks, packets area often transmitted in bursts Thus, losses also often happen in bursts Due to FIFO (drop tail) queues in routers Problem with TCP RENO: If new ACK after Fast Retransmit is not for ALL data transferred since dup ACK, then DO NOT do Fast Recovery Since only mechanism for recognizing other drops is a timeout CS 640

TCP New Reno Simple observation… Recognized that losses happen in bursts Upon receipt of a partial ACK (ACK for some but not all outstanding data), retransmit next data packet in sequence Same congestion control mechanism as RENO But, do not avoid Fast Recovery on multiple drops Enables recovery from multiple packet losses in sequence without timeout Timeouts are still used… CS 640

TCP SACK Guess what? Losses do not always happen in bursts – sometimes things get a little crazy How about telling the sender what has arrived (!) Selective Acknowledgements (SACK) Same congestion control mechanisms as TCP RENO Uses TCP options fields When out of order data arrives, tell sender (via SACK block) which block of data has been received Enables sender to maintain image of receiver’s queue Sender then resends all missing segments without waiting to timeout Doesn’t send beyond CWND When no old data needs to be resent, then send new data Timeouts are still used… CS 640

Congestion Avoidance TCP’s strategy Alternative strategy control congestion once it happens repeatedly increase load in an effort to find the point at which congestion occurs, and then back off Alternative strategy predict when congestion is about to happen reduce rate before packets start being discarded call this congestion avoidance, instead of congestion control Two possibilities host-centric: TCP Vegas router-centric: RED Gateways CS 640

TCP Vegas Idea: source watches for some sign that router’s queue is building up and congestion will happen too; e.g., RTT grows sending rate flattens Congestion window Avg. source send rate Buffer space at router In shaded region we expect throughput to increase but it cannot increase beyond available bandwidth CS 640

Vegas Algorithm Vegas tries not to send at a rate that causes buffers to fill Let BaseRTT be the minimum of all measured RTTs If not overflowing the connection, then ExpectRate = CongestionWindow/BaseRTT Assume CWND = number of bytes in transit Source calculates sending rate (ActualRate) once per RTT Pick one packet per RTT, timestamp send/ACKreceive time and divides by number of bytes in transit 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 CS 640

Algorithm (cont) Parameters a = 1 buffer b = 3 buffers Black line = actual rate Green line = expected rate Shaded = region between a and b Note: Linear decrease in Vegas does not violate AIMD since it Happens before packets loss CS 640

Random Early Detection (RED) Congestion notification is implicit dropped packets indicate congestion Could make explicit by marking the packet (ECN) Current standard proposal for explicit notification (old method: DECbit) Mark packet as queue gets full, reduce sending rate when marks are seen Early random drop to force sources to back off rather than wait for queue to become full, drop each arriving packet with some drop probability whenever the queue length exceeds some drop level CS 640

RED Details Compute average queue length AvgLen = (1 - Weight) * AvgLen + Weight * SampleLen 0 < Weight < 1 (usually 0.002) SampleLen is queue length each time a packet arrives (Exactly the same as the EWMA calculation for RTT) MaxThreshold MinThreshold A vgLen CS 640

RED Details (cont) Two queue length thresholds if AvgLen <= MinThreshold then enqueue the packet if MinThreshold < AvgLen < MaxThreshold then calculate probability P drop arriving packet with probability P if Maxhreshold <= AvgLen then drop arriving packet CS 640

RED Details (cont) Computing probability P TempP = MaxP * (AvgLen - MinThreshold)/ (MaxThreshold - MinThreshold) P = TempP/(1 - count * TempP) count = number of newly arriving packets while AvgLen has been between two thresholds (P increases with count) Drop probability is a function of both AvgLen and how long it has been since the last drop. TempP tracks how many newly arriving packets have been queued while AvgLen is between thresholds Count is number of packets since last drop This prevents clusters of drops CS 640

RED (contd) Thresholds are hard to determine Drop Probability Curve RED is good at keeping avg. queue size steady P(drop) 1.0 MaxP MinThresh MaxThresh A vgLen CS 640

DCP: Datagram Control Protocol There are new protocols proposed all the time Datagram Control Protocol: a congestion controlled, unreliable transport protocol Application can specify one of two congestion control mechanisms AIMD-like or equation-based Minimal protocol for apps which use UDP now CS 640