TCP Congestion Control
生活随笔
收集整理的這篇文章主要介紹了
TCP Congestion Control
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
TCP Congestion Control
- 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
- Arrival Rate << R
- Low delay
- Can accommodate(容納) more
- Arrival rate approaches R
- Delay increases rapidly
- Throughput(吞吐量) begins to saturate(飽和)
- 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(穩(wěn)定) near optimal(最優(yōu)) 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(指數(shù))
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
TCP Congestion Control (3): Congestion
- 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
- 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
轉(zhuǎn)載于:https://www.cnblogs.com/vancasola/p/7703931.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的TCP Congestion Control的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 百度地图app怎么看经纬度坐标(登录百度
- 下一篇: 9个Best I徽标以及如何免费制作自己