TCP Congestion Control

TCP Congestion Control

1092889-20171013222814543-1588529044.png

  • Congestion occurs when total arrival rate from all packet flows exceeds R over a sustained(维持) period of time
  • Buffers(缓冲) at multiplexer will fill and packets will be lost

Phases of Congestion Behavior

1092889-20171013222917355-612734390.png

  1. Light traffic
    • Arrival Rate << R
    • Low delay
    • Can accommodate(容纳) more
  2. Knee (congestion onset)
    • Arrival rate approaches R
    • Delay increases rapidly
    • Throughput(吞吐量) begins to saturate(饱和)
  3. Congestion collapse
    • Arrival rate > R
    • Large delays, packet loss
    • Useful application throughput drops

Congestion Window

  • Desired operating point: just before knee
  • TCP sender maintains a congestion window (cwnd) to control congestion at intermediate(中间的) routers
  • Effective window is minimum of congestion window and advertised window(广播窗口)
  • Problem: senders does not know what its “fair” share of available bandwidth should be
  • Solution:
    • adapt dynamically to available BW
    • Senders probe(探查) the network by increasing cwnd
    • When congestion detected, senders reduce rate
    • Ideally, sending rate stabilizes(稳定) near optimal(最优) point

Congestion Window (Cont.)

  • How does the TCP congestion algorithm change congestion window dynamically according to the most up-to-date state of the network?
  • At light traffic: each segment is ACKed quickly
    • Increase cwnd aggresively
  • At knee: segment ACKs arrive, but more slowly
    • Slow down increase in cwnd
  • At congestion: segments encounter large delays, timeout, segments are dropped in router buffers
    • Reduce transmission rate, then probe again

TCP Congestion Control (1): Slow Start

  • Slow start: increase congestion window size by one segment upon receiving an ACK from receiver
    • initialized at 2 segments; usually 1 segment
    • used at start of data transfer
    • congestion window increases exponentially(指数)

1092889-20171013223358402-1529211091.png

TCP Congestion Control (2): Congestion Avoidance

  • Algorithm progressively(逐步) sets a congestion threshold(门槛)
    • When cwnd > threshold, slow down rate at which cwnd is increased
  • Increase congestion window size by one segment per round-trip-time (RTT)
    • Each time an** ACK arrives, cwnd is increased by 1/cwnd**
    • In one RTT, all ccwnd segments are sent, so total increase in cwnd is cwnd x 1/cwnd = 1
    • cwnd grows linearly with time

1092889-20171013223552418-384026649.png

TCP Congestion Control (3): Congestion

1092889-20171013223659934-314064567.png

  • Congestion is detected upon timeout or receipt of duplicate ACKs
  • Assume current cwnd corresponds to available bandwidth
  • Adjust congestion threshold = ½ x current cwnd
  • Reset cwnd to 1
  • Go back to slow-start
  • Over several cycles expect to converge(收敛) to congestion threshold equal to about ½ the available bandwidth

Fast Retransmit & Fast Recovery

1092889-20171013223924652-1298817759.png

  • Congestion causes many segments to be dropped
  • Burt if only a single segment is dropped, then subsequent(随后的) segments trigger duplicate ACKs before timeout
  • Can avoid large decrease in cwnd as follows:
    • When three duplicate ACKs arrive before timeout expires(期满), retransmit lost segment immediately
    • Reset congestion threshold to ½ cwnd
    • Reset cwnd to congestion threshold + 3 to account for the three segments that triggered duplicate ACKs
    • Remain in congestion avoidance phase
    • In absence of timeouts, cwnd will oscillate(振动) around optimal value

TCP Congestion Control: Fast Retransmit & Fast Recovery

1092889-20171013224020340-1945478893.png

转载于:https://www.cnblogs.com/vancasola/p/7703931.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值