Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "1 Sonia FahmyPurdue University TCP Congestion Control Sonia Fahmy Department of Computer Sciences Purdue University"— Presentation transcript:

1 1 Sonia FahmyPurdue University TCP Congestion Control Sonia Fahmy Department of Computer Sciences Purdue University fahmy@cs.purdue.edu http://www.cs.purdue.edu/homes/fahmy/

2 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 3 Sonia FahmyPurdue University Current Internet

4 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 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 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 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 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 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 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 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 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 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 14 Sonia FahmyPurdue University Thank You! Questions?


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

Similar presentations


Ads by Google