Congestion Control - Supplementary Slides are adapted on Jean Walrand’s Slides.

Slides:



Advertisements
Similar presentations
RED Enhancement Algorithms By Alina Naimark. Presented Approaches Flow Random Early Drop - FRED By Dong Lin and Robert Morris Sabilized Random Early Drop.
Advertisements

1 CONGESTION CONTROL. 2 Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because.
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
Congestion Control: TCP & DC-TCP Swarun Kumar With Slides From: Prof. Katabi, Alizadeh et al.
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.
REM : Active Queue Management Sanjeewa Athuraliya, Victor H. Li Steven H. Low, Qinghe Yin Presented by Hwangnam Kim.
Congestion Control An Overview -Jyothi Guntaka. Congestion  What is congestion ?  The aggregate demand for network resources exceeds the available capacity.
TFRC for Voice: the VoIP Variant Sally Floyd, Eddie Kohler. March 2005, presentation to AVT draft-ietf-dccp-tfrc-voip-01.txt.
XCP: Congestion Control for High Bandwidth-Delay Product Network Dina Katabi, Mark Handley and Charlie Rohrs Presented by Ao-Jan Su.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Explicit Congestion Notification ECN Tilo Hamann Technical University Hamburg-Harburg, Germany.
Transport Layer3-1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much.
Networks: Congestion Control1 Congestion Control.
Lecture 9 Congestion Control: Part II EECS 122 University of California Berkeley.
TCP Stability and Resource Allocation: Part I. References The Mathematics of Internet Congestion Control, Birkhauser, The web pages of –Kelly, Vinnicombe,
Lecture 8 Congestion Control EECS 122 University of California Berkeley.
1 Internet Networking Spring 2003 Tutorial 11 Explicit Congestion Notification (RFC 3168) Limited Transmit (RFC 3042)
High speed TCP’s. Why high-speed TCP? Suppose that the bottleneck bandwidth is 10Gbps and RTT = 200ms. Bandwidth delay product is packets (1500.
EE689 Lecture 5 Review of last lecture More on HPF RED.
High-performance bulk data transfers with TCP Matei Ripeanu University of Chicago.
1 Internet Networking Spring 2003 Tutorial 11 Explicit Congestion Notification (RFC 3168)
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
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.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
TCP Congestion Control
3: Transport Layer3b-1 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
Transport Layer 4 2: Transport Layer 4.
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.
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
CSE 461 University of Washington1 Topic How TCP implements AIMD, part 1 – “Slow start” is a component of the AI portion of AIMD Slow-start.
Link Scheduling & Queuing COS 461: Computer Networks
1 Lecture 14 High-speed TCP connections Wraparound Keeping the pipeline full Estimating RTT Fairness of TCP congestion control Internet resource allocation.
27th, Nov 2001 GLOBECOM /16 Analysis of Dynamic Behaviors of Many TCP Connections Sharing Tail-Drop / RED Routers Go Hasegawa Osaka University, Japan.
TCP Trunking: Design, Implementation and Performance H.T. Kung and S. Y. Wang.
1 Congestion Control Computer Networks. 2 Where are we?
Queueing and Active Queue Management Aditya Akella 02/26/2007.
TCP: Transmission Control Protocol Part II : Protocol Mechanisms Computer Network System Sirak Kaewjamnong Semester 1st, 2004.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Principles of Congestion Control Some slides.
Winter 2008CS244a Handout 81 CS244a: An Introduction to Computer Networks Handout 8: Congestion Avoidance and Active Queue Management Nick McKeown Professor.
Spring 2015© CS 438 Staff - University of Illinois1 Next Topic: Vacation Planning UIUC Chicago Monterey San Francisco Chicago to San Francisco: ALL FLIGHTS.
Explicit Allocation of Best-Effort Service Goal: Allocate different rates to different users during congestion Can charge different prices to different.
Random Early Detection (RED) Router notifies source before congestion happens - just drop the packet (TCP will timeout and adjust its window) - could make.
Chapter 11.4 END-TO-END ISSUES. Optical Internet Optical technology Protocol translates availability of gigabit bandwidth in user-perceived QoS.
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
TCP transfers over high latency/bandwidth networks & Grid DT Measurements session PFLDnet February 3- 4, 2003 CERN, Geneva, Switzerland Sylvain Ravot
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
Peer-to-Peer Networks 13 Internet – The Underlay Network
Queue Management Mike Freedman COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
Congestion Avoidance Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
Transport Layer session 1 TELE3118: Network Technologies Week 11: Transport Layer TCP Some slides have been taken from: r Computer Networking:
Karn’s Algorithm Do not use measured RTT to update SRTT and SDEV Calculate backoff RTO when a retransmission occurs Use backoff RTO for segments until.
Other Methods of Dealing with Congestion
Internet Networking recitation #9
Chapter 3 outline 3.1 transport-layer services
Chapter 6 Congestion Avoidance
Congestion Control: The Role of the Routers
CONGESTION CONTROL.
Queuing and Queue Management
Other Methods of Dealing with Congestion
Advanced Computer Networks
Other Methods of Dealing with Congestion
COS 461: Computer Networks
Internet Networking recitation #10
EECS 122: Introduction to Computer Networks TCP Variations
TCP Overview.
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
TCP: Transmission Control Protocol Part II : Protocol Mechanisms
Presentation transcript:

Congestion Control - Supplementary Slides are adapted on Jean Walrand’s Slides

2 TOC: Congestion Control Congestion control for bandwidth sharing Cheating TCP Buffer Size ECN RED TCP Unfairness TCP Vegas

3 Congestion Control: Questions How to avoid network congestion? How to recover from congestion? Congestion occurs at access link and access network How to share the links bandwidth? If bandwidth is allocated and enforced properly, no congestion should occur. Can improve treatment of flows  E.g., one flow should not get a much smaller fraction of bandwidth  Some flows might need some guaranteed bandwidth Discovering available bandwidth What is fair?

4 Questions: Available bandwidth? Example: = router = host 3 = link with bandwidth of 3Mbps (same for 6 and 10) x, y, z = throughput of flows

5 Questions: Available bandwidth? Example: What is available bandwidth? (See later) How does A “discover” the available bandwidth to B? Some approaches: 1.Reservation: e.g., TelephoneReservation 2.Adapt to congestion: TCPAdapt 3.Pricing congestion: research topicPricing

6 Available bandwidth: Reservation 1.Routers (or manager) keep track of reserved rates 2.A requests a rate R to B from the network 3.The network figures out if R is available 4.If R is available, routers (or manager) update reservations and confirm to A 5.Note: complex, slow, requires connection setup and enforcement

7 Available bandwidth: Adapt 1.Transmit and slow down if congestion occur 2.Example: Initially: x= 0, y = 3, z = 3 Then A increases its rate; C and E notice congestion and slow down Later, C stops: A and E increase rates 3.Notes: No guarantees: throughput may drop Key question: how to adapt rates, e.g., TCP

8 Available bandwidth: Pricing Example: When they get saturated, routers mark packets If a flow with rate R uses saturated links, it gets marks with rate R Each mark costs one unit Source slows down if price becomes excessive x= 1+, y = 2+, z = 2+  pA = 1 + 1; pC = pE = 2 x = 2+, y = 1+, z = 1+  pA = 2 + 2; pC = pE = 1

9 Questions: What is Fair? Example: x = y = z = 1.5: fair in max-min sense x = 0, y = z = 3: maximizes x + y + z 5x = 4y = 4z: equalizes resources flows use with x = 1.33, y = z = 1.67 What if A  B needs 2Mbps? (and is willing to pay for it)

10 Cheating: Increase Faster AB x C DE y Limit rates: x = 2y C x y x increases by 2 MSS/RTT per RTT y increases by 1 MSS/RTT per RTT

11 Cheating: Increase Faster AB x C = 50 DE y time Rate

12 Cheating: Start SS with CongWin > 1 AB x C DE y x starts SS with CongWin = 4 y starts SS with CongWin = 1

13 Cheating: Open Many Connections AB x C DE y Assume A starts 10 connections to B D starts 1 connection to E Each connection gets about the same throughput Then A gets 10 times more throughput than D

14 ECN: Explicit Congestion Notification Standard TCP: Losses needed to detect congestion Wasteful and unnecessary ECN: When congested, routers mark (IP) packets instead of dropping them Destination marks ACKs of marked packets Source set CongWin = CongWin /2 when it sees mark Advantages: No time wasted to retransmit Link errors not confused with congestion  Example: without ECN, at wireless link, packets can get corrupted by noise and interference, and get dropped eventually. Sender will think congestion has occurred.

15 Explicit Congestion Notification Illustration: AB CongWin = CongWin / 2 AB

16 Explicit Congestion Notification Backward Compatibility: Unused bits from TCP and IP headers are used for ECN. One bit in IP header indicates if hosts implement ECN If it does, router marks packet If it does not, router drops packet

17 RED Random Early Detection: As queue builds up, drop or mark packets with increasing probability (before queue gets full) Advantages: Avoids penalizing streams with large bursts  This is done by keeping the queue size smaller than the buffer size Earlier marking reduces dropped packets De-synchronizes the source behaviors

18 RED: Illustration C Mbps PACKETS Calculate recent average of queue length: Qav Qav(n+1) = (1 – b) Qav(n) + b Q(n) 0 < b < 1 Determine drop or mark probability p(Qav): 1 0 k L H Qav

19 Router Buffers: Rule of Thumb Imagine that all connections on input port with rate R “burst” for RTT seconds (until stopped by RED) Router must store RxRTT for each port Example: 40 Gbps throughput (sum of port rates) RTT = 200 ms (worst case?) Then storage = 8 Gbits = (about) 1 GByte Question: Is this reasonable?

20 Unfairness Fact: TCP favors connections with short RTT Cause: Increase rate is 1 MSS/RTT, so that it is faster for connections with small RTT Recall our discussion of “Cheating RTT” It is quite possible for a connection to get only a few percent of its fair share Solutions: Modify TCP to increase in proportion to RTT? Problem: Estimate of RTT is noisy TCP Vegas (see next)

21 TCP Vegas Consider one queue: AB x C DE y Assume both connections have the same backlog Then they have the same throughput … Vegas Algorithm: Estimate backlog by Q = Outstanding – Rate  Base_RTT Rate = Bytes_Sent_Successfully / Current_RTT If Q > 3 MSS, then slow down; otherwise, speed up Problem: Reno clobbers Vegas (unlike in real life)