Congestion control for multimedia Henning Schulzrinne Dept. of Computer Science Columbia University Fall 2003.

Slides:



Advertisements
Similar presentations
Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
Advertisements

1 Transport Protocols & TCP CSE 3213 Fall April 2015.
1 Comnet 2010 Communication Networks Recitation 9 Fairness & TCP Congestion Control.
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina 6.033, Spring 2014.
CS 268: Lecture 7 (Beyond TCP Congestion Control) Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences University.
1 End to End Bandwidth Estimation in TCP to improve Wireless Link Utilization S. Mascolo, A.Grieco, G.Pau, M.Gerla, C.Casetti Presented by Abhijit Pandey.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth Edition,Peterson.
Introduction 1 Lecture 14 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
Congestion Control An Overview -Jyothi Guntaka. Congestion  What is congestion ?  The aggregate demand for network resources exceeds the available capacity.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Introduction to Congestion Control
Chapter 3 Transport Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 12.
1 Equation-Based Congestion Control for Unicast Applications Sally Floyd, Mark Handley, Jitendra Padhye & Jorg Widmer August 2000, ACM SIGCOMM Computer.
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.
Congestion Control Tanenbaum 5.3, /12/2015Congestion Control (A Loss Based Technique: TCP)2 What? Why? Congestion occurs when –there is no reservation.
Congestion Control Reading: Sections COS 461: Computer Networks Spring 2011 Mike Freedman
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Third Ed.,Peterson.
RAP: An End-to-End Rate-Based Congestion Control Mechanism for Realtime Streams in the Internet Reza Rejai, Mark Handley, Deborah Estrin U of Southern.
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.
Computer Networks : TCP Congestion Control1 TCP Congestion Control.
TCP Friendliness CMPT771 Spring 2008 Michael Jia.
Data Communication and Networks
Networks : TCP Congestion Control1 TCP Congestion Control.
Networks : TCP Congestion Control1 TCP Congestion Control Presented by Bob Kinicki.
Medium Start in TCP-Friendly Rate Control Protocol CS 217 Class Project Spring 04 Peter Leong & Michael Welch.
Advanced Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth.
L13: Sharing in network systems Dina Katabi Spring Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans.
CS :: Fall 2003 TCP Friendly Streaming Ketan Mayer-Patel.
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
Courtesy: Nick McKeown, Stanford 1 TCP Congestion Control Tahir Azim.
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.
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.
TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model CS 218 W 2003 Oct 29, 2003.
Transport Layer1 Flow and Congestion Control Ram Dantu (compiled from various text books)
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
Lecture 9 – More TCP & Congestion Control
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
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Computer Networking Lecture 18 – More TCP & Congestion Control.
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.
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.
TCP Congestion Control Computer Networks TCP Congestion Control 1.
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.
Winter 2008CS244a Handout 71 CS244a: An Introduction to Computer Networks Handout 7: Congestion Control Nick McKeown Professor of Electrical Engineering.
Winter 2003CS244a Handout 71 CS492B Project #2 TCP Tutorial # Jin Hyun Ju.
Rate/Congestion Control for Multimedia Streaming
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
Peer-to-Peer Networks 13 Internet – The Underlay Network
TCP as a Reliable Transport. How things can go wrong… Lost packets Corrupted packets Reordered packets …Malicious packets…
@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.
1 Flow & Congestion Control Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof. Dina Katabi.
Chapter 3 outline 3.1 transport-layer services
Chapter 6 TCP Congestion Control
Introduction to Congestion Control
Chapter 3 outline 3.1 Transport-layer services
Lecture 19 – TCP Performance
ECE 599: Multimedia Networking Thinh Nguyen
Chapter 6 TCP Congestion Control
TCP Congestion Control
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
TCP flow and congestion control
Presentation transcript:

Congestion control for multimedia Henning Schulzrinne Dept. of Computer Science Columbia University Fall 2003

Motivation Absence of resource reservation Thus, only end-to-end congestion control prevents congestion collapse Don’t want to favor one application over another  TCP-friendly congestion control load goodput

Motivation From “TCP-friendly” web site:“TCP-friendly” web site – Applications which perform congestion control make more efficient use of the network and should generally see better performance because of it. – Applications which adapt to the network are capable of running over a much wider range bandwidths and are hence more useful in the Internet. – Congestion control algorithms prevent the network from entering Congestive Collapse. Congestive Collapse is a situation where, although the network links are being heavily utilized, very little useful work is being done. (Think of metropolitan traffic gridlock...) – The network will soon begin to require applications to perform congestion control, and those applications which do not perform congestion control will be harshly penalized by the network (probably in the form of preferentially dropping their packets during times of congestion). TCP Internet non-TCP Milan Vojnović

TCP-friendly congestion control “long-term throughput does not exceed the throughput of a conformant TCP connection under the same conditions”

Congestion control Keeps network operating at full capacity, but minimizes packet loss  maximize “goodput” Two cases: – self-interference: link capacity < stream  drop own packets typical for residential access links – mutual interference: multiple streams competing for bottleneck bandwidth loss as congestion indicator  rude streams push aside polite ones  unfairness Two common approaches: – rate-based: control rate of traffic e.g., token bucket (upcoming QoS lectures) – window-based: limit number of unacknowledged packets window size controls rate, so related Careful: ≠ flow control = prevents end-system buffer overflow – however, window-based control can be used for both

TCP Congestion Control TCP sources change the sending rate by modifying the window size: Window = min {Advertised window, Congestion Window} In other words, send at the rate of the slowest component: network or receiver. “cwnd” follows additive increase/multiplicative decrease (AIMD) – On receipt of Ack: cwnd += 1 – On packet loss (timeout): cwnd *= 0.5 ReceiverTransmitter (“cwnd”) Nick McKeown

Additive Increase D A DDAADDAADA Src Dest Actually, TCP uses bytes, not segments to count: When ACK is received: Nick McKeown

Leads to the TCP “sawtooth” t Rate halved Timeouts Could take a long time to get started! Nick McKeown

“Slow Start” Designed to cold-start connection quickly at startup or if a connection has been halted (e.g. window dropped to zero, or window full, but ACK is lost). How it works: increase cwnd by 1 for each ACK received. D A DDAADD AA D A Src Dest D A Nick McKeown

Slow Start halved Timeouts Exponential “slow start” t Rate Why is it called slow-start? Because TCP originally had no congestion control mechanism. The source would just start by sending a whole window’s worth of data. Slow start in operation until it reaches half of previous cwnd. Nick McKeown

But… Window control not really appropriate for multimedia applications: – time-scale too short (~ RTT)  constantly switch codecs  visible or audible transitions – may start or drop below minimum codec rate Flow control not needed since receiver will need to process data at the nominal (codec) rate TCP reliability mechanism may impose additional delay (> 500 ms) on packet loss Thus, only want to maintain same long-term rate as TCP – no encouragement to mask file transfer as video – react to congestion and bandwidth bottlenecks

Approaches for TCP-friendly congestion control 1. Mimic AIMD behavior, possibly with longer timescales can also change A and D parameters (  GAIMD) 2. Equation-based  use TCP equation (Padhye, Firoiu, Towsley, Kurose, 1998): – Round-trip delay R – Packet size s – Loss event rate p (receiver feedback every RTT) – Retransmission timeout t RTO ~ 4R

Simple TCP model Bandwidth as function of packet loss: Assumes triple-duplicate-ACK triggering retransmission Does not take timeout into account Model: single saturated TCP pumping data into bottleneck – other flows only modeled through packet loss

TCP Friendly Rate Control (TFRC) Uses TCP throughput equation Defined as algorithm (RFC 3448), embedded in different protocols such as DCCP or (potentially) RTCP DCCP = UDP + congestion control modules + “connection” for DOS prevention

TFRC Computed from loss intervals Loss computed as w i = 1 - (i - (n/2 - 1))/(n/2 + 1) for i > n/2, 1 otherwise – n = 8 recommended TCP favored under changing conditions: – TFRC achieves 65% utilization after 20 round trips after bandwidth has doubled (TCP – 86%) Related: TCP Emulation at Receivers (TEAR)

TCP SACK +TFRC fair sharing Normalized TCP throughput =1 means perfect fairness N TCP flows + N TFRC flows NS Simulation Results UCLA CS 218 W 2002

Internet Measurements: 3 TCP connections – London to Berkeley. Throughput measured over 1 sec intervals TFRC much more stable than TCP UCLA CS 218 W 2002

Issues we ignored Inter-stream fairness – even for TCP, streams with different RTT get different throughput – no catching up later if stream doesn’t use resource TCP is not a single algorithm: – drop tail vs. RED – Reno vs. Tahoe vs. Vegas vs. … – SACK, ECN and other extensions

References S. Floyd, J. Padhye, J. Widmer “Equation Based Congestion Control for Unicast Applications”, Sigcomm J. Padhye, V.Firoiu, D. Towsley, J. Kurose, “Modeling TCP Throughput: a Simple Model and its Empirical Validation”, Sigcomm M. Handley, S. Floyd, J. Padhye, J. Widmer, “TCP Friendly Rate Control (TFRC): Protocol Specification”, RFC 3448, January 2003.