CS 268: Lecture 7 (Beyond TCP Congestion Control)

Similar documents
CS644 Advanced Networks

Congestion Control In the Network

XCP: explicit Control Protocol

CS268: Beyond TCP Congestion Control

ADVANCED TOPICS FOR CONGESTION CONTROL

Congestion Control for High Bandwidth-delay Product Networks. Dina Katabi, Mark Handley, Charlie Rohrs

Congestion Control for High Bandwidth-Delay Product Networks

CS 268: Computer Networking

15-744: Computer Networking. Overview. Queuing Disciplines. TCP & Routers. L-6 TCP & Routers

Lecture 14: Congestion Control"

Congestion Control for High Bandwidth-delay Product Networks

The Present and Future of Congestion Control. Mark Handley

CSC 4900 Computer Networks: TCP

One More Bit Is Enough

Chapter 3 Transport Layer

Principles of congestion control

Chapter 3 Transport Layer

Congestion Control. Principles of Congestion Control. Network-assisted Congestion Control: ATM. Congestion Control. Computer Networks 10/21/2009

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

CSC 8560 Computer Networks: TCP

Congestion Control for High-Bandwidth-Delay-Product Networks: XCP vs. HighSpeed TCP and QuickStart

Congestion Control. Principles of Congestion Control. Network assisted congestion. Asynchronous Transfer Mode. Computer Networks 10/23/2013

Chapter 3 Transport Layer

Lecture 14: Congestion Control"

Chapter III: Transport Layer

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

In-network Resource Allocation (Scribed by Ambuj Ojha)

15-744: Computer Networking TCP

Detecting half-open connections. Observed TCP problems

TCP Congestion Control

Internet Congestion Control for Future High Bandwidth-Delay Product Environments

Equation-Based Congestion Control for Unicast Applications. Outline. Introduction. But don t we need TCP? TFRC Goals

TCP/IP over ATM using ABR, UBR, and GFR Services

Core-Stateless Fair Queueing: Achieving Approximately Fair Bandwidth Allocations in High Speed Networks. Congestion Control in Today s Internet

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

TCP so far Computer Networking Outline. How Was TCP Able to Evolve

Reliable Transport II: TCP and Congestion Control

Decoupling Congestion Control and Bandwidth Allocation Policy With Application to High Bandwidth-Delay Product Networks.

6.033 Computer System Engineering

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

TCP Congestion Control : Computer Networking. Introduction to TCP. Key Things You Should Know Already. Congestion Control RED

CS321: Computer Networks Congestion Control in TCP

Computer Networking

Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren

CSC 401 Data and Computer Communications Networks

Real-Time ABR, MPEG2 Streams over VBR, and Virtual Source/Virtual Destination rt-abr switch

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015

Computer Networking Introduction

Hybrid Control and Switched Systems. Lecture #17 Hybrid Systems Modeling of Communication Networks

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Oscillations and Buffer Overflows in Video Streaming under Non- Negligible Queuing Delay

Reliable Transport II: TCP and Congestion Control

Promoting the Use of End-to-End Congestion Control in the Internet

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 10

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers

CSE 123A Computer Networks

TCP: Overview RFCs: 793,1122,1323, 2018, 2581

One More Bit Is Enough

Sally Floyd, Mark Handley, and Jitendra Padhye. Sept. 4-6, 2000

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness

CSCI Topics: Internet Programming Fall 2008

Lecture 14: Congestion Control

The Transport Layer Congestion control in TCP

CS 356: Computer Network Architectures Lecture 19: Congestion Avoidance Chap. 6.4 and related papers. Xiaowei Yang

Lecture 15: Transport Layer Congestion Control

Random Early Detection (RED) gateways. Sally Floyd CS 268: Computer Networks

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015

CS3600 SYSTEMS AND NETWORKS

Chapter 3 Transport Layer

TCP Congestion Control. Lecture 16. Outline. TCP Congestion Control. Additive Increase / Multiplicative Decrease (AIMD)

CS4700/CS5700 Fundamentals of Computer Networks

Issues in Traffic Management on Satellite ATM Networks

Congestion Control for High Bandwidth-Delay Product Networks

Improving the Robustness of TCP to Non-Congestion Events

Good Ideas So Far Computer Networking. Outline. Sequence Numbers (reminder) TCP flow control. Congestion sources and collapse

Increase-Decrease Congestion Control for Real-time Streaming: Scalability

Computer Networks. Course Reference Model. Topic. Congestion What s the hold up? Nature of Congestion. Nature of Congestion 1/5/2015.

CPSC 826 Internetworking. Congestion Control Approaches Outline. Router-Based Congestion Control Approaches. Router-Based Approaches Papers

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD

Chapter 3 Transport Layer

6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long

Lecture 8. TCP/IP Transport Layer (2)

TCP SIAD: Congestion Control supporting Low Latency and High Speed

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?

Lecture 11. Transport Layer (cont d) Transport Layer 1

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2017

! Network bandwidth shared by all users! Given routing, how to allocate bandwidth. " efficiency " fairness " stability. !

Congestion Control. COSC 6590 Week 2 Presentation By Arjun Chopra, Kashif Ali and Mark Obsniuk

On Network Dimensioning Approach for the Internet

TCP on High-Speed Networks

Chapter II. Protocols for High Speed Networks. 2.1 Need for alternative Protocols

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2018

Design Issues in Traffic Management for the ATM UBR+ Service for TCP over Satellite Networks: Report II

cs/ee 143 Communication Networks

TCP on High-Speed Networks

Congestion Control in Communication Networks

Network Layer Enhancements

One More Bit Is Enough

Transcription:

Outline CS 68: Lecture 7 (Beyond TCP Congestion Control) TCP-Friendly Rate Control (TFRC) explicit Control Protocol Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA 9470-1776 (Based on slides from R. Stallings, M. Handley and D. Katabi) TCP-Friendly TFRC: General Idea Any alternative congestion control scheme needs to coexist with TCP in FIFO queues in the besteffort Internet, or be protected from TCP in some manner. To co-exist with TCP, it must impose the same long-term load on the network: - No greater long-term throughput as a function of packet loss and delay so TCP doesn't suffer - Not significantly less long-term throughput or it's not too useful Use a model of TCP's throughout as a function of the loss rate and RTT directly in a congestion control algorithm. - If transmission rate is higher than that given by the model, reduce the transmission rate to the model's rate. - Otherwise increase the transmission rate. 3 4 TCP Modelling: The "Steady State" Model An Improved "Steady State" Model The model: Packet size B bytes, round-trip time R secs, no queue. A packet is dropped each time the window reaches W packets. TCP s congestion window: A pretty good improved model of TCP Reno, including timeouts, from Padhye et al, Sigcomm 1998: The maximum sending rate in packets per roundtrip time: W The maximum sending rate in bytessec: W B R The average sending rate T: T = (34)W B R The packet drop rate p: The result: 5 Would be better to have a model of TCP SACK, but the differences aren t critical. 6 1

TFRC Details TFRC Performance (Simulation) The devil's in the details - How to measure the loss rate? - How to respond to persistent congestion? - How to use RTT and prevent oscillatory behavior? Not as simple as first thought 7 8 TFRC Performance (Experimental) Outline TCP-Friendly Rate Control (TFRC) explicit Control Protocol 9 10 Case study: ATM ABR congestion control Credit Based - Sender is given credit for number of octets or packets it may send before it must stop and wait for additional credit. Rate Based - Sender may transmit at a rate up to some limit. - Rate can be reduced by control message. ABR: available bit rate: elastic service if sender s path underloaded : - Sender should use available bandwidth if sender s path congested: - Sender throttled to minimum guaranteed rate RM (resource management) cells: Sent by sender, interleaved with data cells Bits in RM cell set by switches ( network-assisted ) - NI bit: no increase in rate (mild congestion) - CI bit: congestion indication RM cells returned to sender by receiver, with bits intact 11 1

. EXPLICIT Case study: ATM ABR congestion control ABR Cell Rate Feedback Rules if CI == 1 - Reduce ACR to a value >= MCR else if NI == 0 - Increase ACR to a value <= PCR! " #"$%& ' ( '$)* +, Two-byte ER (explicit rate) field in RM cell - Congested switch may lower ER value in cell - Sender send rate thus minimum supportable rate on path EFCI bit in data cells: set to 1 in congested switch - If data cell preceding RM cell has EFCI set, sender sets CI bit in returned RM cell if ACR > ER - set ACR = max(er, MCR) 13 14 Outline TCP congestion control performs poorly as bandwidth or delay increases - TCP-Friendly Rate Control (TFRC) - explicit Control Protocol 15 Shown analytically in [Low01] and via simulations Avg. TCP Utilization 50 flows in both directions Buffer = BW x Delay RTT = 80 ms Avg. TCP Utilization 50 flows in both directions Buffer = BW x Delay BW = 155 Mbs Because TCP lacks fast response Spare bandwidth is is available TCP increases by by 1 pktrtt even if if spare bandwidth is is huge When a TCP starts, it it increases exponentially Too many drops Flows ramp up by by 1 pktrtt, Bottleneck taking forever Bandwidth to to grab (Mbs) the large bandwidth Round Trip Delay (sec) 16 Solution: Decouple Congestion Control from Fairness Solution: Decouple Congestion Control from Fairness High Utilization; Small Queues; Few Drops Bandwidth Allocation Policy Coupled because a single mechanism controls both Example: In TCP, Additive-Increase Multiplicative- Decrease (AIMD) controls both How does decoupling solve the problem? 1. To control congestion: use MIMD which shows fast response. To control fairness: use AIMD which converges to fairness 17 18 3

Characteristics of XCP Solution 1. Improved Congestion Control (in high bandwidth-delay & conventional environments): Small queues Almost no drops. Improved Fairness 3. Scalable (no per-flow state) 4. Flexible bandwidth allocation: min-max fairness, proportional fairness, differential bandwidth allocation, XCP: An explicit Control Protocol 1. Congestion Controller. Fairness Controller 19 0 How does XCP Work? How does XCP Work? Round Trip Round Time Trip Time Congestion Congestion Window Window Feedback Feedback = + 0.1 packet Round Trip Time Congestion Window Feedback = + - 0.3 0.1 packet Congestion Header 1 How does XCP Work? How Does an XCP Router Compute the Feedback? Congestion Controller Congestion Controller Goal: Matches input traffic to link capacity & drains the queue Fairness Controller Fairness Controller Goal: Divides between flows to converge to fairness Congestion Window = Congestion Window + Feedback XCP extends ECN and CSFQ Routers compute feedback without any per-flow state 3 Looks at aggregate traffic & queue MIMD Algorithm: Aggregate traffic changes by ~ Spare Bandwidth ~ - Queue Size So, = α d avg Spare - β Queue Looks at a flow s state in Congestion Header AIMD Algorithm: If > 0 Divide equally between flows If < 0 Divide between flows proportionally to their current rates 4 4

Getting the devil out of the details Congestion Controller Fairness Controller = α d avg Spare - β Queue Theorem: System converges to optimal utilization (i.e., stable) for any link bandwidth, delay, number of sources if: π 0< α < and β = α 4 Algorithm: If > 0 Divide equally between flows If < 0 Divide between flows proportionally to their current rates Need to estimate number of flows N N 1 T ( Cwnd pkts in T pkt RTT pkt ) = S 1 S S n Similar behavior over: Subset of Results Bottleneck R1, R,, Rn (Proof No Parameter based on Nyquist Tuning Criterion) No Per-Flow State RTT pkt : Round Trip Time in header No Cwnd pkt Per-Flow State : Congestion Window in header T: Counting Interval 5 6 XCP Remains Efficient as Bandwidth or Delay Increases Utilization as a function of Bandwidth Utilization as a function of Delay XCP Remains Efficient as Bandwidth or Delay Increases Utilization as a function of Bandwidth Utilization as a function of Delay XCP increases proportionally to spare bandwidth α and β chosen to make XCP robust to delay Bottleneck Bandwidth (Mbs) Round Trip Delay (sec) 7 Bottleneck Bandwidth (Mbs) Round Trip Delay (sec) 8 XCP Shows Faster Response than TCP XCP Deals Well with Short Web-Like Flows Start 40 Flows Stop the 40 Flows Start 40 Flows Stop the 40 Flows Average Utilization Average Queue XCP shows fast response! Drops 9 Arrivals of Short Flowssec 30 5

XCP is Fairer than TCP Same RTT Different RTT Avg. Throughput Avg. Throughput Flow ID Flow ID (RTT is 40 ms 330 ms ) 31 6