了解 TCP 的慢启动指数增长拥塞控制策略

网络工程 tcp
2022-02-26 18:13:58

我正在从Forouzan 的书中学习 TCP 慢启动指数增加拥塞控制机制它说如下:

拥塞窗口 ( cwnd) 的大小从一个最大段大小 (MSS) 开始,但每次确认到达时增加一个 MSS,如下所示:

Start         -> cwnd = 1 -> 2^0
After 1 RTT   -> cwnd = cwnd + 1 = 1 + 1 = 2 -> 2^1
After 2 RTT   -> cwnd = cwnd + 2 = 2 + 2 = 4 -> 2^2
After 3 RTT   -> cwnd = cwnd + 4 = 4 + 4 = 8 -> 2^3

它进一步说:

提一下,在延迟确认的情况下,慢启动策略更慢。请记住,对于每个 Ak,tcwnd仅增加 1。因此,如果累积确认两个段,则cwnd增加的大小仅增加 1,而不是 2。增长仍然是指数的,但它不是 2 的幂。每两个段有一个 ACK​​,它是 1.5 的幂。

我无法理解它是 1.5 的幂。我尝试了以下内容:

Start         -> cwnd = 1 -> 2^0
After 2 RTT   -> cwnd = cwnd + 1 = 1 + 1 = 2 -> 2^1
After 4 RTT   -> cwnd = cwnd + 2 = 2 + 2 = 4 -> 2^2
After 6 RTT   -> cwnd = cwnd + 4 = 4 + 4 = 8 -> 2^3
After 8 RTT   -> cwnd = cwnd + 8 = 8 + 8 = 16-> 2^4

我无法看到它是如何与 1.5 的幂成指数关系的。(请注意,上述计算与书中给出的唯一区别是考虑的连续 RTT 之间的间隔)

PS:这更像是网络背景下的数学问题。对此感到抱歉。:(

1个回答

它实际上更像 1.4 的幂:每个 x 段的增加意味着 2 x,每 2 段的增加意味着 2 ( x / 2 )或 √2 x