Advanced Congestion Control (Hosts)

Similar documents
Flow and Congestion Control (Hosts)

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

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

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

CSCI Topics: Internet Programming Fall 2008

CS 43: Computer Networks. 19: TCP Flow and Congestion Control October 31, Nov 2, 2018

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

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

Transport Layer Congestion Control

CSCI Topics: Internet Programming Fall 2008

Chapter 3 Transport Layer

Transport Layer (Congestion Control)

Chapter 3 Transport Layer

Lecture 15: Transport Layer Congestion Control

Congestion Collapse in the 1980s

TCP congestion control:

TCP conges+on control

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

TCP on High-Speed Networks

ADVANCED TOPICS FOR CONGESTION CONTROL

SharkFest 17 Europe. My TCP ain t your TCP. Simon Lindermann. Stack behavior back then and today. Miele & Cie KG.

Flow and Congestion Control Marcos Vieira

Mid Term Exam Results

Operating Systems and Networks. Network Lecture 10: Congestion Control. Adrian Perrig Network Security Group ETH Zürich

Where we are in the Course. Topic. Nature of Congestion. Nature of Congestion (3) Nature of Congestion (2) Operating Systems and Networks

15-744: Computer Networking TCP

TCP Congestion Control

TCP Congestion Control

Chapter III: Transport Layer

cs/ee 143 Communication Networks

TCP on High-Speed Networks

Computer Networking Introduction

CS268: Beyond TCP Congestion Control

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

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 30, 2018

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

Chapter 3 Transport Layer

CS Networks and Distributed Systems. Lecture 10: Congestion Control

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control

TCP Congestion Control

Outline. User Datagram Protocol (UDP) Transmission Control Protocol (TCP) Transport layer (cont.) Transport layer. Background UDP.

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

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

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

Internet Networking recitation #10 TCP New Reno Vs. Reno

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

CS644 Advanced Networks

CUBIC. Qian HE (Steve) CS 577 Prof. Bob Kinicki

Computer Networking

Advanced Computer Networks

CSCI-1680 Transport Layer II Data over TCP Rodrigo Fonseca

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

Performance-oriented Congestion Control

Congestion Control. Brighten Godfrey CS 538 January Based in part on slides by Ion Stoica

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

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

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

CSCD 330 Network Programming Winter 2015

Tuning, Tweaking and TCP

CSE/EE 461. TCP congestion control. Last Lecture. This Lecture. Focus How should senders pace themselves to avoid stressing the network?

CSC 4900 Computer Networks: TCP

Transmission Control Protocol (TCP)

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission

Congestion. Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets limited resources

Lecture 8. TCP/IP Transport Layer (2)

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

Performance-oriented Congestion Control

Advanced Computer Networks

image 3.8 KB Figure 1.6: Example Web Page

CSE 461. TCP and network congestion

CS4700/CS5700 Fundamentals of Computer Networks

Reasons not to Parallelize TCP Connections for Fast Long-Distance Networks

ECE 610: Homework 4 Problems are taken from Kurose and Ross.

Part1: Lecture 2! TCP congestion control!

The dark side of TCP

CS321: Computer Networks Congestion Control in TCP

CS3600 SYSTEMS AND NETWORKS

CNT 6885 Network Review on Transport Layer

TCP SIAD: Congestion Control supporting Low Latency and High Speed

User Datagram Protocol (UDP) Transmission Control Protocol (TCP)

CS Transport. Outline. Window Flow Control. Window Flow Control

Congestion Control in TCP

TCP Congestion Control. Housekeeping. Additive Increase/Multiplicative Decrease. AIMD (cont) Pick up folders for exam study Exam next Friday, Nov.

TCP Tuning Domenico Vicinanza DANTE, Cambridge, UK

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

TCP over Wireless. Protocols and Networks Hadassah College Spring 2018 Wireless Dr. Martin Land 1

TCP Performance. EE 122: Intro to Communication Networks. Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim

CSE 123A Computer Networks

Master Course Computer Networks IN2097

CSC 8560 Computer Networks: TCP

TCP Veno: Solution to TCP over Wireless

Computer Network Fundamentals Spring Week 10 Congestion Control Andreas Terzis

CC451 Computer Networks

Performance Analysis of TCP Variants

SharkFest'17 US. Understanding Throughput & TCP Windows. A Walk-Through of the Factors that can limit TCP Throughput Performance

Congestion Control. Queuing Discipline Reacting to Congestion Avoiding Congestion. Issues

CSCD 330 Network Programming Spring 2018 Lecture 11a Transport Layer

Transcription:

Advanced Congestion Control (Hosts) 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 5 th edition. J.F. Kurose and K.W. Ross

Congestion Control (2) Apply some control theory Region 1: Low throughput Region 2: High delay Throughput increases slowly Delay increases quickly Region 3: Collapse Throughput 0, Delay At what load would we like to operate?

Feedback Mechanism End-to-end: Messages from receiver Network Assisted: Signals from routers 3

Slow Start When connection begins, increase rate exponentially: double CongWin every RTT done by incrementing CongWin for every ACK received Summary: initial rate is slow but ramps up exponentially fast RTT one segment two segments four segments

Congestion Avoidance Additive Increase: Increase CongWin by 1 MSS every RTT until loss is detected Multiplicative Decrease: cut CongWin in half after a loss event Congestion Window Size 24 Kbytes 16 Kbytes 8 Kbytes Sawtooth behavior: Probing for bandwidth time 5

TCP CC States Slow start CongWin ssthresh timeout Cong Avoid 3dupACK timeout ACK 3dupACK Fast Recovery

traceroute Advanced TCP Congestion Control Lots of algorithmic variants Long Fat Networks problem TCP-BIC Compound TCP Prisoner s Dilemma 7

TCP Variations TCP New Reno TCP Vegas TCP Hybla BIC / CUBIC Compound TCP many others exist (SACK, Veno, Westwood, XCP, YeAH-TCP,...) 8

TCP New Reno Improves fast recovery retransmissions RFC 2582 & 3782 Good at filling multiple holes, but still probing for higher throughput Substantially outperforms Reno at high error rates 9

New Reno: Improve Fast Recovery In Fast Recovery: Record highest unacked# already sent Return to cong-avoid when this segment is ACKed For each Dup ACK, new segment sent keeps transmit window full For each good ACK -- hole assumed retransmit segment just past the ACK seqnum 10

TCP Vegas First delay-based TCP variant Look for variations in RTT as indication of queue length at routers (i.e. oncoming congestion) If lower than expected RTT, send more If higher, send less (by lowering CongWin) Congestion prevention strategy 11

TCP Vegas (2) Goal: keep a certain amount of data in the queues of the network Much smoother flow than Reno Achieves higher average throughput But, when competing with Reno, only gets ~2/3 of Reno's bandwidth Backs off before congestion, while Reno backs off only after congestion Source: Brakmo94 and La99. Available on course website 12

TCP Hybla Goal: improve high-latency / high-error rate links (i.e. satellite) Much longer RTT Segments dropped due to bit-error look like congestion Analytically evaluates CongWin dynamics Rather than measuring RTT Included in Linux from 2.6.13 Source: Caini2004. Available on course website 13

The LFN Problem Long Fat Networks: High-speed and high-latency Many, many segments will be in-flight How many? 14

The LFN Problem How many? Ex: 10Gbps, 100ms RTT, MSS 1500B CongWin = 83,333 segments Needs loss event < every 1hr 40 min Else never gets out of Slow Start i.e. 1 event per 5 billion segments Bit Error Rate of 2x10-14 unrealistic Example from RFC3649 written in Dec 2003 15

LFN Approaches Get lots of segments in flight: Start really quickly Can we do better than Slow Start? Be more aggressive in CongAvoid AIMD approach of adding 1 won t cut it 16

Binary Increase Congestion TCP-BIC uses a binary search to probe for additional bandwidth Default for Linux 2.6.8-2.6.18 Replaced with Cubic, a fairer alternative 17

Binary Search Target CongWin is halfway between max and min, 2 control variables If CongWin grows to target, set min to current, recalculate target If loss happens, set max to current, min to recovery point, recalculate target

BIC: Fairness An overly aggressive algorithm will rob bandwidth from normal TCP algorithms BIC incorporates fairness idea Binary search means less aggressive when near bandwidth maximums Also includes a plateau period to allow TCP flows to get out of slow start 19

What is Congestion? Loss-based: Look for 3 dup ACK, timeout Used in Reno, HSTCP, STCP, TCP-BIC Delay-based: Look for variations in RTT, estimate queue lengths at routers Used in TCP Vegas, FAST TCP 20

Compound TCP A hybrid of loss-based and delay-based algorithms More aggressively seeks for additional bandwidth when no evidence of congestion Attempts to be especially fair to other protocols Used since Microsoft Vista 21

CTCP Mechanisms Key idea is to use a normal congestion window, combined with a delay-based congestion window TotalCongWind = cwind + dwind cwind updated normally (AIMD) in CongAvoid No loss cwind = cwind + 1MSS per RTT* Loss (timeout, 3 dup ACK) cwind = cwind / 2 *Actually, a small adjustment as TotalCongWind should grow by 1MSS per RTT 22

Delay Window If network bandwidth is underutilized (based on RTT observations) dwind(t+1) = dwind(t) + α dwind(t) k If some queueing happening dwind(t+1) = dwind(t)-queue length* If there is a loss dwind(t+1) = (1 - β) dwind(t) α, β, k are tuning parameters for scalability, smoothness and responsiveness *Yes, there s a complicated way of predicting what the queue lengths might be. Let s skip it... 23

Fairness TCP flows compete for additional bandwidth If one flow is too aggressive, it will cause segment loss in other flows (and perhaps itself) Segment loss will cause other flows to retreat Which may provide additional bandwidth to the aggressor Especially problematic with delay-based Sense congestion earlier than a loss 24

CTCP Fairness When no congestion sensed, full-speed ahead! When congestion first sensed (via delay measurements) stop seeking more BW When loss occurs, back off normally 25

traceroute Advanced TCP Congestion Control Lots of algorithmic variants Long Fat Networks problem TCP-BIC Compound TCP Prisoner s Dilemma 26

Prisoner s Dilemma Game-theory problem with interesting implications for networks Classic Form 2 conspirators arrested Separately offered a deal Each must choose to betray or remain silent B stays silent B betrays A silent A betrays 6 months each A: 10 years A: Goes free B: 10 years B: Goes free 5 years each

Why Discuss? TCP restrictions are self-imposed Nothing in the network checks that sender is actually following the algorithms Bad behavior can have short-term advantages Examples?

Lesson Objectives Now, you should be able to: describe features of the following TCP congestion control variations: New Reno, Vegas, Hybla, BIC and Compound TCP describe the advantages and disadvantages of delay-based variants 29

You should be able to: describe the challenges of congestion control for LFNs describe the problems and attractions of a non-cooperative TCP implementation