1 Sonia FahmyPurdue University TCP Congestion Control Sonia Fahmy Department of Computer Sciences Purdue University

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

TCP Variants.
Simulation-based Comparison of Tahoe, Reno, and SACK TCP Kevin Fall & Sally Floyd Presented: Heather Heiman September 10, 2002.
TCP/IP Over Lossy Links - TCP SACK without Congestion Control.
TCP Vegas: New Techniques for Congestion Detection and Control.
Different TCP Flavors CSCI 780, Fall TCP Congestion Control Slow-start Congestion Avoidance Congestion Recovery Tahoe, Reno, New-Reno SACK.
TCP Congestion Control
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
1 TCP - Part II. 2 What is Flow/Congestion/Error Control ? Flow Control: Algorithms to prevent that the sender overruns the receiver with information.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth Edition,Peterson.
1 Computer Networks Transport Layer (Part 4). 2 Transport layer So far… –Transport layer functions –Specific transport layers UDP TCP –In the middle of.
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.
TCP Variations Naveen Manicka CISC 856 – Fall 2005 Computer & Information Sciences University of Delaware Nov 10, 2005 Most slides are borrowed from J.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 TCP Congestion Control: AIMD and Binomial Shivkumar Kalyanaraman Rensselaer Polytechnic Institute.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Third Ed.,Peterson.
15-744: Computer Networking L-10 Congestion Control.
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.
1 Minseok Kwon and Sonia Fahmy Department of Computer Sciences Purdue University {kwonm, TCP Increase/Decrease.
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.
CMPE 257 Spring CMPE 257: Wireless and Mobile Networking Spring 2005 E2E Protocols (point-to-point)
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,
COMT 4291 Communications Protocols and TCP/IP COMT 429.
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.
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
TCP Behavior Inference Tool Jitendra Padhye, Sally Floyd Presented by Songjie Wei.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Computer Networking Lecture 18 – More TCP & Congestion Control.
Lab The network simulator ns The network simulator ns Allows us to watch evolution of parameters like cwnd and ssthresh Allows us to watch evolution of.
TCP: Transmission Control Protocol Part II : Protocol Mechanisms Computer Network System Sirak Kaewjamnong Semester 1st, 2004.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
1 TCP Timeout And Retransmission Chapter 21 TCP sets a timeout when it sends data and if data is not acknowledged before timeout expires it retransmits.
Network Protocols: Design and Analysis Polly Huang EE NTU
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
TCP Congestion Control Computer Networks TCP Congestion Control 1.
1 TCP - Part II. 2 What is Flow/Congestion/Error Control ? Flow Control: Algorithms to prevent that the sender overruns the receiver with information.
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
TCP Congestion Control
Internet Networking recitation #11
@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.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
9.6 TCP Congestion Control
Chapter 3 outline 3.1 transport-layer services
Introduction to Congestion Control
TCP Vegas: New Techniques for Congestion Detection and Avoidance
Transmission Control Protocol (TCP)
TCP Westwood(+) Protocol Implementation in ns-3
Hojun Lee TCP enhancements Hojun Lee 11/8/2018.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Congestion Control in TCP
CS640: Introduction to Computer Networks
If both sources send full windows, we may get congestion collapse
TCP Congestion Control
EE 122: Lecture 10 (Congestion Control)
EE 122: Congestion Control The Sequel
Computer Science Division
Computer Networks: Transmission Control Protocol (TCP)
TCP: Transmission Control Protocol Part II : Protocol Mechanisms
Presentation transcript:

1 Sonia FahmyPurdue University TCP Congestion Control Sonia Fahmy Department of Computer Sciences Purdue University

2 Sonia FahmyPurdue University q Current Internet q Congestion control versus avoidance q Slow start and congestion avoidance q Timer estimation q Fast retransmit and recovery q NewReno, SACK, FACK q TCP Vegas q Link characteristics Overview

3 Sonia FahmyPurdue University Current Internet

4 Sonia FahmyPurdue University Congestion Control/Avoidance q Congestion control: q Recover from zero throughput and infinite delay q Between knee and cliff q Congestion avoidance: q Operate near high throughput, low delay point q Operate at knee (maximum power) of curves

5 Sonia FahmyPurdue University Goals q Optimize throughput and delay q Minimize loss probability q Minimize control overhead q Distributed control q Minimize parameter dependence on network characteristics q Low parameter sensitivity

6 Sonia FahmyPurdue University TCP Congestion Control Slow Start (exponential) Congestion Avoidance Packet Loss Detected new ssthresh = cwnd / 2 Additive Increase Multiplicative Decrease cwnd time ssthresh (estimate) 1, 2 (or more) Saw-tooth pattern Go back N Self clocking (ACKs) Delayed ACKs

7 Sonia FahmyPurdue University RTT and Timeout q Smoothed RTT (SR) is estimated using a low pass filter q Assume M is latest RTT sample (non-retransmitted) q V =  abs(SR - M) + (1-  )V  = ¼ q SR =  M + (1-  )SR  = 1/8 q RTO = SR + 4V q Coarse granularity: 4V is rounded to 500ms increment  inefficiency q Karn’s algorithm: Double RTO when timer expires for retransmitted packet

8 Sonia FahmyPurdue University Fast Restransmit and Recovery Slow Start/Fast Recovery Congestion Avoidance Packet Loss Detected (fast retransmit) new ssthresh = cwnd / 2 cwnd time ssthresh 1, 2 (or more) Saw-tooth pattern Duplicate ACKs start fast retransmit and recovery Fast recovery terminates with a partial or full ACK

9 Sonia FahmyPurdue University NewReno, SACK, FACK q NewReno: q Only a full ACK or timeout terminates fast recovery; partial ACKs deflate window q SACK: q Sender retransmits “holes” only. Sends when pipe (outstanding data) < cwnd q FACK: q Keep track of forward-most data ACKed and retransmitted data outstanding q Keep outstanding data within 1 of cwnd

10 Sonia FahmyPurdue University TCP Vegas q Expected throughput = window size/base (min) RTT q Diff = Actual throughput – expected throughput q IF Diff <  (2), linear increase in next RTT q If Diff >  (4), linear decrease in next RTT q Slow start increases every other RTT q Go to congestion avoidance when actual throughput is lower (by  ) than expected throughput q Retransmit after one dupack if large RTT. Same for non dupack after retransmission

11 Sonia FahmyPurdue University Wireless/Satellite Links q Loss may not be due to congestion q PILC: q Asymmetry q High error rate q Low speed links q TCPSAT q High bandwidth-delay product q Solutions: MTU discovery, FEC, T/TCP, large IW, delayed ACK, ssthresh estimation, rwnd, byte counting, ELN, ECN, multiple connections, segment pacing, header/payload compression, persistent connections, ACK: CC, filtering, compaction, scheduling, backpressure

12 Sonia FahmyPurdue University TCP Flavors Summary q Tahoe (slow start, congestion avoidance, RTT) q Problem: inefficiency waiting for a timeout, reducing CWND to 1 q Fast retransmit (3 duplicate acks): RFC 2581 (some Tahoe) q Fast recovery (go to ssthresh, do congestion avoidance) q New Reno (SIGCOMM 96, RFC 2582) better recovery from multiple losses q Vegas (better congestion avoidance) JSAC 95 q SACK (retransmit only lost segments) RFC 2018, CCR 7/96 q FACK (SACK+better fast recovery)

13 Sonia FahmyPurdue University Key Points q Congestion control is a very active and important research area q Lots of work on fine tuning, e.g., initial window. Idle periods, limited transmit, SACK, etc. q Work on RED, ECN and equation-based TFCC q Work on sharing info across sessions q See RFCs 2018, 2309, 2414, 2415, 2416, 2481, 2488, 2525, 2581, 2582, 2760, internet drafts, papers on Mark Allman’s web page (design and evaluation) and Ramakrishnan and Zhang tutorials

14 Sonia FahmyPurdue University Thank You! Questions?