Lecture 9 Congestion Control: Part II EECS 122 University of California Berkeley.

Slides:



Advertisements
Similar presentations
CSCI-1680 Transport Layer III Congestion Control Strikes Back
Advertisements

1 TCP Congestion Control. 2 TCP Segment Structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement.
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.
Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015.
Introduction 1 Lecture 14 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
Advanced Computer Networking Congestion Control for High Bandwidth-Delay Product Environments (XCP Algorithm) 1.
Congestion Control An Overview -Jyothi Guntaka. Congestion  What is congestion ?  The aggregate demand for network resources exceeds the available capacity.
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.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #07 Shivkumar Kalyanaraman: GOOGLE: “Shiv RPI”
Chapter 3 Transport Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 12.
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.
Transport Layer3-1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much.
1 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
Lecture 8 Congestion Control EECS 122 University of California Berkeley.
EECS122 – Lecture 5 Department of Electrical Engineering and Computer Sciences University of California Berkeley.
High speed TCP’s. Why high-speed TCP? Suppose that the bottleneck bandwidth is 10Gbps and RTT = 200ms. Bandwidth delay product is packets (1500.
Week 9 TCP9-1 Week 9 TCP 3 outline r 3.5 Connection-oriented transport: TCP m segment structure m reliable data transfer m flow control m connection management.
High-performance bulk data transfers with TCP Matei Ripeanu University of Chicago.
TCP Congestion Control TCP sources change the sending rate by modifying the window size: Window = min {Advertised window, Congestion Window} In other words,
1 Minseok Kwon and Sonia Fahmy Department of Computer Sciences Purdue University {kwonm, TCP Increase/Decrease.
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.
Data Communication and Networks
TCP Congestion Control
Congestion Control for High Bandwidth-Delay Product Environments Dina Katabi Mark Handley Charlie Rohrs.
1 EE 122: Advanced TCP Ion Stoica TAs: Junda Liu, DK Moon, David Zats (Materials with thanks to Vern Paxson,
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.
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.
Transport Layer3-1 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 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!
Congestion Control - Supplementary Slides are adapted on Jean Walrand’s Slides.
27th, Nov 2001 GLOBECOM /16 Analysis of Dynamic Behaviors of Many TCP Connections Sharing Tail-Drop / RED Routers Go Hasegawa Osaka University, Japan.
High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion.
CSCI-1680 Transport Layer III Congestion Control Strikes Back Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti, Ion Stoica Rodrigo.
CSCI-1680 Transport Layer III Congestion Control Strikes Back Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti, Ion Stoica Rodrigo.
Lecture 9 – More TCP & Congestion Control
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
Computer Networking Lecture 18 – More TCP & Congestion Control.
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:
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.
Transport Layer 3- Midterm score distribution. Transport Layer 3- TCP congestion control: additive increase, multiplicative decrease Approach: increase.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Principles of Congestion Control Some slides.
By N.Gopinath AP/CSE Unit: III Introduction to Transport layer.
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-1652 The slides are adapted from the publisher’s material All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Jack Lange.
Thoughts on the Evolution of TCP in the Internet (version 2) Sally Floyd ICIR Wednesday Lunch March 17,
 Last Class  This Class  Chapter 6.3. ~ 6.4.  TCP congestion control.
Advance Computer Networks Lecture#09 & 10 Instructor: Engr. Muhammad Mateen Yaqoob.
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
Peer-to-Peer Networks 13 Internet – The Underlay Network
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
Chapter 3 outline 3.1 transport-layer services
Chapter 6 TCP Congestion Control
COMP 431 Internet Services & Protocols
Chapter 3 outline 3.1 Transport-layer services
Lecture 19 – TCP Performance
Chapter 6 TCP Congestion Control
EECS 122: Introduction to Computer Networks TCP Variations
TCP Overview.
Computer Science Division
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
TCP: Transmission Control Protocol Part II : Protocol Mechanisms
Presentation transcript:

Lecture 9 Congestion Control: Part II EECS 122 University of California Berkeley

EECS 122Walrand2 TOCTOC: Congestion Control 2 Quick Review of TCP’s CC Quick Review Cheating TCP ECN Noisy Links Virtual Queues RED How Big are Router Buffers?How Big are Router Buffers Unfairness TCP Vegas Fast Links

EECS 122Walrand3 CC2 CC2 : Review of TCP’s CC Goal: Fair efficient sharing of links Steps in TCP: 3WH, Exchange, 1 st ½ Close; 2 nd ½ Close Slow Start: Exp. Increase of Window to discover bdw (W = W +1 …) TO  ssthresh = W/2 Repeat until W = ssthresh, then CA Congestion Avoidance: AIMD: + 1 MSS/RTT (W = W + 1/W…); W/2 when 3DA Timeout: mean + 4 deviations double when triggered, then W =1 & SS reset after new ACK or new packet Flow Control: min{RAW – OUT, W}

EECS 122Walrand4 CC2CC2: Cheating TCP Some Methods: Increase faster than 1/RTT per RTTIncrease faster Start SS with W > 1 Open many connections Why Not?

EECS 122Walrand5 CheatingCheating: 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 SIM

EECS 122Walrand6 CheatingCheating: Increase Faster AB x C = 50 DE y

EECS 122Walrand7 CheatingCheating: Start SS with W > 1 AB x C DE y x starts SS with W = 4 y starts SS with W = 1

EECS 122Walrand8 CheatingCheating: 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

EECS 122Walrand9 CheatingCheating: Why Not? AB x C = 50 DE y 22, 2210, 35 35, 1015, 15 (x, y) A Increases by 1 Increases by 5 D  Increases by 1 Increases by 5 One shot: A has an incentive to “cheat” Long Term: Users have an incentive not to cheat Too aggressive  Losses  Throughput falls

EECS 122Walrand10 CC2CC2: Explicit Congestion Notification Standard TCP: Losses needed to detect congestion Wasteful and unnecessary ECN: Routers mark packets instead of dropping them Destination marks ACKs of marked packets Source set W = W/2 when it sees mark Advantages: No time wasted to retransmit Link errors not confused with congestion Illustration Backward Compatibility

EECS 122Walrand11 CC2CC2: Explicit Congestion Notification Illustration: AB W W/2 AB

EECS 122Walrand12 CC2CC2: Explicit Congestion Notification Backward Compatibility: Bit in Header indicates if hosts implement ECN If it does, router marks packet If it does not, router drops packet

EECS 122Walrand13 CC2CC2: Noisy Link Basic TCP assumption: Losses indicate congestion What is losses come from link errors? Slowing down does not help; in fact it hurts Illustration Solutions

EECS 122Walrand14 Noisy LinkNoisy Link: Illustration No congestion  x increases by one packet/RTT every RTT Congestion  decrease x by factor 2 AB x C = 50 pkts/RTT p% Loss p = 0 p = 1% p = 10% x

EECS 122Walrand15 Noisy LinkNoisy Link: Solutions Link Error Control ECN Link Layer Hint Various other schemes …

EECS 122Walrand16 Noisy LinkNoisy Link: Solutions: Link Error ControlSolutions Noisy link implements a retransmission protocol Noisy Link

EECS 122Walrand17 Noisy LinkNoisy Link: Solutions: ECNSolutions If all the routers implement ECN, then a link error is not confused with congestion. In that case, a 3DA would indicate a link error and the source should not reduce the window size Not applicable today ….

EECS 122Walrand18 Noisy LinkNoisy Link: Solutions: Link Layer HintSolutions Link Layer knows when an error occurred It indicates that event in next packet Destination reflects that fact in ACK Source retransmits but does not reduce W Wireless router n - 1 n + 1 Link error caused drop

EECS 122Walrand19 CC2CC2: Virtual Queues Motivation: Detect impending congestion before it leads to a queue build-up Reduce losses, delays, need for storage in routers Mechanism: Construct a virtual queue that mimics the real queue when served with a fraction of the link rate Illustration

EECS 122Walrand20 CC2CC2: Virtual Queues: IllustrationVirtual Queues C Mbps PACKETS P bytes DATA QUEUE VIRTUAL QUEUE (Counter) + P 0.90×C Virtual queue “detects” when link utilization exceeds 90%, even though the data queue is empty The router can use this indication to mark packets in ECN Data queues remain almost empty, links used at 90%

EECS 122Walrand21 CC2 CC2 : 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 De-synchronizes the source behaviors Illustration

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

EECS 122Walrand23 Note: Exponential Averaging A(n+1) = (1 – b)A(n) + bX(n) X(n) b = 0.3 b = 0.01 b = 0.1

EECS 122Walrand24 CC2 CC2 : Router Buffers Our objective: Understand dynamics of queues in routers One connection Many connections Rule of thumb Rule of thumb ….

EECS 122Walrand25 Router BuffersRouter Buffers: One Connection Example: AB x C = 200 pkts/RTT Full throughput buffer: D pkts/RTT x C y y T T Assume D >> C T = C – (C + T)/2  T = C/3  Q = T 2 /2 = C 2 /18 q RTT = 200ms Pkt = 10 4 bits C = 10Mbps = 200 q = 2,200 pkts = 2.8MBytes

EECS 122Walrand26 Router BuffersRouter Buffers: One Connection Example: AB x C = 200 pkts/RTT D pkts/RTT y

EECS 122Walrand27 Router BuffersRouter Buffers: Many Connections Example: AB x C = 200 pkts/RTT Full throughput buffer: D pkts/RTT nx C y y T T Assume D >> C nT = C – hn(C/n + nT)  Q = C 2 (1 – h) 2 /[n(1 + nh) 2 ] q RTT = 200ms Pkt = 10 4 bits C = 10Mbps = 200 n = 20, h = 10% q = 220KBytes n A fraction 2h of sources reduce their rate by 50% [RED]

EECS 122Walrand28 Router BuffersRouter Buffers: Many Connections Example: AB x C = 200 pkts/RTT D pkts/RTT yn

EECS 122Walrand29 Router BuffersRouter 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?

EECS 122Walrand30 CC2CC2: 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)

EECS 122Walrand31 CC2CC2: 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 = OUT – rate.RTT If Q > 3 MSS, then slow down; otherwise, speed up Problem: Reno clobbers Vegas (unlike in real life)

EECS 122Walrand32 CC2CC2: Fast Links Imagine a 10 Gbps link Assume MSS = 10kbits, RTT = 100 ms Slow Start: After n RTT, window = 2 n – 1 10kbits, so that the rate is 2 n – 1 100kbps The rate reaches 10Gbps when 2 n – 1 = 10 5, i.e., when n = 17, which takes about 2 seconds CA: If rate must increase by 5 Gbps after 3DA, this takes an increase of k MSS where k.10kbits/0.1 = 5Gbps  k = , which takes forever Some proposed solutions: Vegas, probeprobe

EECS 122Walrand33 CC2CC2: Fast Links - ProbeFast Links Probe for bandwidth of slowest link Example: Packet Pair: 10Mbps5Mbps100Mbps10Mbps T P bits P/T = 5Mbps