CS 294-9 :: Fall 2003 TCP Friendly Streaming Ketan Mayer-Patel.

Slides:



Advertisements
Similar presentations
Michele Pagano – A Survey on TCP Performance Evaluation and Modeling 1 Department of Information Engineering University of Pisa Network Telecomunication.
Advertisements

1 TCP Congestion Control. 2 TCP Segment Structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement.
Equation-Based Congestion Control for Unicast Applications Sally Floyd, Mark Handley, Jitendra Padhye and Jörg Widmer Presented by Ankur Upadhyaya for.
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.
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.
Equation-Based Congestion Control for Unicast Applications Sally Floyd, Mark Handley, Jitendra Padhye and Jörg Widmer Cuong Le CPSC 538A.
1 Equation-Based Congestion Control for Unicast Applications Sally Floyd, Mark Handley, Jitendra Padhye & Jorg Widmer August 2000, ACM SIGCOMM Computer.
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.
1 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
Networks: Congestion Control1 Congestion Control.
CSEE W4140 Networking Laboratory Lecture 7: TCP flow control and congestion control Jong Yul Kim
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.
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.
1 Minseok Kwon and Sonia Fahmy Department of Computer Sciences Purdue University {kwonm, TCP Increase/Decrease.
Spring 2002CS 4611 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
Spring 2003CS 4611 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
Computer Networks : TCP Congestion Control1 TCP Congestion Control.
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
Networks : TCP Congestion Control1 TCP Congestion Control.
Networks : TCP Congestion Control1 TCP Congestion Control Presented by Bob Kinicki.
1 A State Feedback Control Approach to Stabilizing Queues for ECN- Enabled TCP Connections Yuan Gao and Jennifer Hou IEEE INFOCOM 2003, San Francisco,
Transport Layer 4 2: Transport Layer 4.
Congestion control for multimedia Henning Schulzrinne Dept. of Computer Science Columbia University Fall 2003.
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.
TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model CS 218 W 2003 Oct 29, 2003.
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.
Congestion Control (cont’d). TCP Congestion Control Review Congestion control consists of 3 tasks  Detect congestion  Adjust sending rate  Determine.
0 Delayed Congestion Response Protocols Thesis By Sumitha Bhandarkar Under the Guidance of Dr. A. L. N. Reddy.
27th, Nov 2001 GLOBECOM /16 Analysis of Dynamic Behaviors of Many TCP Connections Sharing Tail-Drop / RED Routers Go Hasegawa Osaka University, Japan.
Rate Adaptation Protocol for Real-time Streams Goal: develop an end-to-end TCP-friendly RAP for semi-reliable rate-based applications (e.g. playback of.
AQM & TCP models Courtesy of Sally Floyd with ICIR Raj Jain with OSU.
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.
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.
Transport Layer 3- Midterm score distribution. Transport Layer 3- TCP congestion control: additive increase, multiplicative decrease Approach: increase.
 Last Class  This Class  Chapter 6.3. ~ 6.4.  TCP congestion control.
TCP. TCP ACK generation [RFC 1122, RFC 2581] Event at Receiver Arrival of in-order segment with expected seq #. All data up to expected seq # already.
Spring 2015© CS 438 Staff - University of Illinois1 Next Topic: Vacation Planning UIUC Chicago Monterey San Francisco Chicago to San Francisco: ALL FLIGHTS.
Random Early Detection (RED) Router notifies source before congestion happens - just drop the packet (TCP will timeout and adjust its window) - could make.
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
Recap Slow start introduced cwnd Slow start introduced cwnd Can transmit up to Can transmit up to min( cwnd, offered window ) Flow control by the sender.
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.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
Congestion Avoidance Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
@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.
Dynamic Behavior of Slowly Responsive Congestion Control Algorithms (Bansal, Balakrishnan, Floyd & Shenker, 2001)
@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.
Other Methods of Dealing with Congestion
CS450 – Introduction to Networking Lecture 19 – Congestion Control (2)
Internet Networking recitation #9
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
Other Methods of Dealing with Congestion
Other Methods of Dealing with Congestion
Chapter 6 TCP Congestion Control
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
Presentation transcript:

CS :: Fall 2003 TCP Friendly Streaming Ketan Mayer-Patel

CS :: Fall 2003 TCP Congestion Control Review 3 phases –Slow-start Probing for initial congestion level. –Congestion Avoidance Additive increase, multiplicative decrease –Fast Retransmission/Recovery Optimizations

CS :: Fall 2003 Slow-Start At beginning or after an RTO loss. Window set to 1 segment. Every new ACK grows window by 1. If ssthresh not yet set: –Keep going until RTO loss occurs. –Set ssthresh to 1/2 window size. –Start over. If ssthresh set, transition to avoidance phase.

CS :: Fall 2003 Congestion Avoidance Grow window by 1/window for every ACK. When RTO loss occurs: –Set ssthresh to half window size. –Set window to 1. –Go back to slow start.

CS :: Fall 2003 Fast Retransmit/Recover If three duplicate ACK’s detected: –Retransmit segment identified by duplicate ACK’s. –Set ssthresh to 1/2 window size. –Set window size to ssthresh. –As long as dup acks keep coming, use the following window size equation: window + # dup acks –If ack changes, go back to avoidance. –If RTO occurs, back to slow start.

CS :: Fall 2003 AIMD Graphically TCP congestion control mostly modeled as being in AIMD phase in steady-state. Window Size Time ssthresh

CS :: Fall 2003 Steady State Control Laws Increase: w t+R = w t + a Decrease w t+R = w t *b

CS :: Fall 2003 AIMD Fairness AIMD motivated by fairness and stability. Claim is that AIMD will push multiple TCP connections into a fair and stable operating point. Formally unproven, but can provide intuition graphically.

CS :: Fall 2003 AIMD Fairness Graphically Window Size of A Window Size of B

CS :: Fall 2003 AIMD Fairness Problems What assumptions are made by the graphical “proof” –Synchronous reaction by both participants. What governs when TCP reacts? –Round-trip time. –Thus, longer RTT connections might lose to shorter RTT connections.

CS :: Fall 2003 Loss as Congestion TCP congestion control couples loss with congestion. –Every loss is a congestion event. Where does loss come from? –Overflowing queues in bottleneck routers. –Rarely from network level congestion.

CS :: Fall 2003 RED Random Early Drop Introduced as a way of providing congestion feedback before queues completely full. Basic operation: –Router keeps track of weighted average queue length. –Below some low threshold, nothing done. –Between low and high thresholds, probability of dropping increases linearly –Above high threshold, everything dropped.

CS :: Fall 2003 Time Max queue length Min threshold Max threshold Instantaneous queue length RED Graphically 100% Initial drop probability max p WeightedAverage Queue Length min th max th Forced drop No drop Probabilistic early drop

CS :: Fall 2003 ECN Explicit Congestion Notification –Instead of dropping packet, mark it. –Receiver echoes the mark back to sender in the next ACK (and all ACK’s thereafter). –Sender clears the mark after it makes adjustment. Recent evidence that shows that ECN essential for any active queue management scheme.

CS :: Fall 2003 MM Streams and TCP Congestion control only works if everyone plays along. Unrestricted datagram traffic will clobber TCP. Clearly, need congestion control, but in what form.

CS :: Fall 2003 Why not TCP? Could just use TCP without the reliability part. Why might this be problematic? –Large, sudden changes in rate. –Caused by slow start, RTO’s, etc.

CS :: Fall 2003 TCP Friendliness To avoid being labeled “unreactive”, we need to “look” like TCP. Two basic strategies: –Use a “TCP-compatible” congestion control algorithm to determing sending rate. –Use encoding and streaming strategies that can deal with rapid rate changes induced by TCP. –Combine these together.

CS :: Fall 2003 TCP-Compatible Cong. Control What’s the right metric for compatibility? –A control algorithm is TCP-compatible (or friendly) if it achieves the same long-term throughput as TCP given similar network conditions.

CS :: Fall 2003 Analyzing TCP Window Size (# Segments) Time (# RTT’s) ssthresh 2 * ssthresh Want an expression for bandwidth of connection in terms of loss and delay. n # packets = 3/2 n 2 Loss probability = L Expected loss = 1 # packets such that E(loss) = 1 given L is 1/L n = sqrt(2/(3L)) B = # packets * S / #RTT * RTT B = (3/2 n*S) / RTT B = sqrt(3/(2L))*S/RTT

CS :: Fall 2003 RAP Rate-based version of TCP AIMD –Periodically probe for greater bandwidth No more than once per RTT –Immediately react to congestion. AIMD applied to inter-packet gap –No longer need to maintain a “window” –Presumes constant packet sizes –Appropriate constants provide TCP-friendliness Coupled with fine-grained adaptation –This is key. –Will see more about this in the papers.

CS :: Fall 2003 Binomial Congestion Control Bansal and Balakrishnan, 2001 Non-linear congestion control law. –Parameterized by k and l –AIMD is simply one point in parameter space. Control laws: –w t+R = w t + a / w t k –w t+R = w t - b * w t l When k = 0, and l = 1, reduces to AIMD Other parameter choices proven to be TCP- compatible but generate smoother rate changes.

CS :: Fall 2003 Rate-based Congestion Control Previous analysis of TCP congestion control is naïve. –Padhye et al. Provide a better analysis. Basic idea: –Keep measures of RTT and loss and modulate rate in accordance to TCP analysis. –TCP Vegas proposes to do this with TCP itself.

CS :: Fall 2003 TFRC Motivation –TCP-friendly congestion control without sudden rate changes. Equation-based –Estimates loss and RTT and plugs them directly into analytical estimate for TCP throughput Estimating loss –Loss “event” as opposed to pure loss Want to avoid counting more than one loss per RTT Loss even interval = # of packets between loss events. Loss rate is weighted average of last 10 loss event intervals.