Presentation is loading. Please wait.

Presentation is loading. Please wait.

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 TCP Congestion Control: AIMD and Binomial Shivkumar Kalyanaraman Rensselaer Polytechnic Institute.

Similar presentations


Presentation on theme: "Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 TCP Congestion Control: AIMD and Binomial Shivkumar Kalyanaraman Rensselaer Polytechnic Institute."— Presentation transcript:

1 Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 TCP Congestion Control: AIMD and Binomial Shivkumar Kalyanaraman Rensselaer Polytechnic Institute shivkuma@ecse.rpi.edu http://www.ecse.rpi.edu/Homepages/shivkuma Based in part upon slides of Prof. Raj Jain (OSU), Srini Seshan (CMU), J. Kurose (U Mass), I.Stoica (UCB)

2 Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 2 Packet Loss Detection: Timeout Avoidance q Wait for Retransmission Time Out (RTO) q What’s the problem with this? q Because RTO is a performance killer q In BSD TCP implementation, RTO is usually more than 1 second q the granularity of RTT estimate is 500 ms q retransmission timeout is at least two times of RTT q Solution: Don’t wait for RTO to expire q Use fast retransmission/recovery for loss detection q Fall back to RTO only if these mechanisms fail. q TCP Versions: Tahoe, Reno, NewReno, SACK

3 Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 3 TCP Congestion Control q Maintains three variables: q cwnd – congestion window q rcv_win – receiver advertised window q ssthresh – threshold size (used to update cwnd) q Rough estimate of knee point… q For sending use: win = min(rcv_win, cwnd)

4 Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 4 Congestion Avoidance q Goal: maintain operating point at the left of the cliff: q How? q additive increase: starting from the rough estimate (ssthresh), slowly increase cwnd to probe for additional available bandwidth q multiplicative decrease: cut congestion window size aggressively if a loss is detected. q If cwnd > ssthresh then each time a segment is acknowledged increment cwnd by 1/cwnd i.e. (cwnd += 1/cwnd).

5 Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 5 Additive Increase/Multiplicative Decrease (AIMD) Policy q Assumption: decrease policy must (at minimum) reverse the load increase over-and-above efficiency line q Implication: decrease factor should be conservatively set to account for any congestion detection lags etc x0x0 x1x1 x2x2 Efficiency Line Fairness Line User 1’s Allocation x 1 User 2’s Allocation x 2

6 Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 6 The big picture Time cwnd Slow Start Congestion Avoidance

7 Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 7 Putting Everything Together: TCP Pseudo-code Initially: cwnd = 1; ssthresh = infinite; New ack received: if (cwnd < ssthresh) /* Slow Start*/ cwnd = cwnd + 1; else /* Congestion Avoidance */ cwnd = cwnd + 1/cwnd; Timeout: (loss detection) /* Multiplicative decrease */ ssthresh = win/2; cwnd = ssthresh; while (next < unack + win) transmit next packet; where win = min(cwnd, flow_win); unacknext win seq #

8 Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 8 TCP Congestion Control Summary q Sliding window limited by receiver window. q Dynamic windows: slow start (exponential rise), congestion avoidance (additive rise), multiplicative decrease. q Ack clocking q Adaptive timeout: need mean RTT & deviation q Timer backoff and Karn’s algo during retransmission q Go-back-N or Selective retransmission q Cumulative and Selective acknowledgements q Timeout avoidance: Fast Retransmit

9 Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 9 TCP Congestion Control: AIMD q Inc: cwnd(t+rtt) = cnwd(t) + α, α>0; q Dec: cwnd(t+δt) = cnwd(t) - β cnwd(t), 1>β>0; q Throughput ~ pkt_size / [ rtt x sqrt(loss_rate)]

10 Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 10 Binomial Congestion Control q Inc: cwnd(t+rtt) = cnwd(t) + α / cnwd(t) k, α>0; q Dec: cwnd(t+δt) = cnwd(t) - β cnwd(t) l, 1>β>0; q TCP friendly if k + l = 1; q AIMD: k=0, l=1; q IIAD: k=1, l =0; q SQRT: k=l=0.5.

11 Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 11 The big picture Time cwnd Slow Start Congestion Avoidance SQRT AIMD


Download ppt "Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 TCP Congestion Control: AIMD and Binomial Shivkumar Kalyanaraman Rensselaer Polytechnic Institute."

Similar presentations


Ads by Google