EE 122: Congestion Control The Sequel October 1, 2003.

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

CSCI-1680 Transport Layer II Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Rodrigo Fonseca.
TCP Variants.
Different TCP Flavors CSCI 780, Fall TCP Congestion Control Slow-start Congestion Avoidance Congestion Recovery Tahoe, Reno, New-Reno SACK.
CSCI-1680 Transport Layer III Congestion Control Strikes Back
TCP Congestion Control
1 TCP Congestion Control. 2 TCP Segment Structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement.
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.
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.
TCP: Congestion Control (part II)
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.
Introduction to Congestion Control
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.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Third Ed.,Peterson.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #7 TCP New Reno Vs. Reno.
1 Internet Networking Spring 2002 Tutorial 10 TCP NewReno.
TCP Congestion Control TCP sources change the sending rate by modifying the window size: Window = min {Advertised window, Congestion Window} In other words,
Katz, Stoica F04 EECS 122: Introduction to Computer Networks TCP Variations Computer Science Division Department of Electrical Engineering and Computer.
Computer Networks : TCP Congestion Control1 TCP Congestion Control.
Transport: TCP Manpreet Singh (Slides borrowed from various sources on the web)
1 Internet Networking Spring 2004 Tutorial 10 TCP NewReno.
Networks : TCP Congestion Control1 TCP Congestion Control.
Networks : TCP Congestion Control1 TCP Congestion Control Presented by Bob Kinicki.
TCP in Heterogeneous Network Md. Ehtesamul Haque # P.
Advanced Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth.
TCP Congestion Control
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
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 Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley Chapter3_3.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 15: Congestion Control I Slides used with.
TCP CS 168 Discussion Week 6 Many thanks to past EE 122 GSIs.
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.
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.
An introduction to TCP and its modeling By: Amin PourRostami.
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.
1 TCP - Part II Relates to Lab 5. This is an extended module that covers TCP data transport, and flow control, congestion control, and error control in.
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:
1 Sonia FahmyPurdue University TCP Congestion Control Sonia Fahmy Department of Computer Sciences Purdue University
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
TCP Congestion Control Computer Networks TCP Congestion Control 1.
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.
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
TCP Congestion Control
Recap of Lecture 19 If symptoms persist, please consult Dr Jacobson.
Congestion Control CS 168 Discussion Week 7. RECAP: How does TCP set rate? How much data can be outstanding? – min{RWND, CWND} RWND: do not overload the.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
@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.
Other Methods of Dealing with Congestion
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
So far, On the networking side, we looked at mechanisms to links hosts using direct linked networks and then forming a network of these networks. We introduced.
Other Methods of Dealing with Congestion
Other Methods of Dealing with Congestion
CS640: Introduction to Computer Networks
TCP Throughput Modeling
EECS 122: Introduction to Computer Networks TCP Variations
EE 122: Congestion Control The Sequel
Computer Science Division
Presentation transcript:

EE 122: Congestion Control The Sequel October 1, 2003

2 Quick Review  Slow-Start: cwnd++ upon every new ACK  Congestion avoidance: AIMD if cwnd > ssthresh -ACK: cwnd = cwnd + 1/cwnd -Drop: ssthresh =cwnd/2 and cwnd=1  Fast Recovery: -duplicate ACKS: cwnd=cwnd/2 -Timeout: cwnd=1

3 TCP Flavors  TCP-Tahoe -cwnd =1 whenever drop is detected  TCP-Reno -cwnd =1 on timeout -cwnd = cwnd/2 on dupack  TCP-newReno -TCP-Reno + improved fast recovery  TCP-Vegas, TCP-SACK

4 TCP Vegas  Improved timeout mechanism  Decrease cwnd only for losses sent at current rate -avoids reducing rate twice  Congestion avoidance phase: -compare Actual rate (A) to Expected rate (E) -if E-A > , decrease cwnd linearly -if E-A < , increase cwnd linearly -rate measurements ~ delay measurements -see textbook for details!

5 TCP-SACK  SACK = Selective Acknowledgements  ACK packets identify exactly which packets have arrived  Makes recovery from multiple losses much easier

6 Standards?  How can all these algorithms coexist?  Don’t we need a single, uniform standard?  What happens if I’m using Reno and you are using Tahoe, and we try to communicate?

7 Equation-Based CC  Simple scenario -assume a drop every k’th RTT (for some large k) -w, w+1, w+2,...w+k-1 DROP (w+k-1)/2, (w+k-1)/2+1,...  Observations: -In steady state: w= (w+k-1)/2 so w=k-1 -Average window: 1.5(k-1) -Total packets between drops: 1.5k(k-1) -Drop probability: p = 1/[1.5k(k-1)]  Throughput: T ~ (1/RTT)*sqrt(3/2p)

8 Equation-Based CC  Idea: -Forget complicated increase/decrease algorithms -Use this equation T(p) directly!  Approach: -measure drop rate (don’t need ACKs for this) -send drop rate p to source -source sends at rate T(p)  Good for streaming audio/video that can’t tolerate the high variability of TCP’s sending rate

9 Question!  Why use the TCP equation?  Why not use any equation for T(p)?

10 Cheating  Three main ways to cheat: -increasing cwnd faster than 1 per RTT -using large initial cwnd -Opening many connections

11 Increasing cwnd Faster AB x DE y Limit rates: x = 2y C x y x increases by 2 per RTT y increases by 1 per RTT

12 Increasing cwnd Faster AB x DE y

13 Larger Initial cwnd AB x DE y x starts SS with cwnd = 4 y starts SS with cwnd = 1

14 Open Many Connections AB x 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

15 Cheating and Game Theory AB x DE y 22, 2210, 35 35, 1015, 15 (x, y) A Increases by 1 Increases by 5 D  Increases by 1 Increases by 5 Individual incentives: cheating pays Social incentives: better off without cheating Classic PD: resolution depends on accountability Too aggressive  Losses  Throughput falls

16 Lossy Links  TCP assumes that all losses are due to congestion  What happens when the link is lossy?  Recall that Tput ~ 1/sqrt(p) where p is loss prob.  This applies even for non-congestion losses

17 Example p = 0 p = 1% p = 10%