设TCP的ssthresh的初始值为8(单位为报文段)。当拥塞窗口上升到12时网络发生了超时,TCP使用慢开始和拥塞避免。试分别求出第1次到第15次传输的各拥塞窗口大小。你能说明拥塞控制窗口每一次变化的原因吗?
时间: 2024-02-29 07:56:17 浏览: 287
根据题意,可以得到以下信息:
初始 ssthresh = 8
在第 1 次传输时,使用慢启动,cwnd = 1,ssthresh 不变
在第 2 次传输时,使用慢启动,cwnd = 2,ssthresh 不变
在第 3 次传输时,使用慢启动,cwnd = 4,ssthresh 不变
在第 4 次传输时,使用慢启动,cwnd = 8,ssthresh 不变
在第 5 次传输时,使用拥塞避免,cwnd = 9,ssthresh = 8
在第 6 次传输时,使用拥塞避免,cwnd = 10,ssthresh = 8
在第 7 次传输时,使用拥塞避免,cwnd = 11,ssthresh = 8
在第 8 次传输时,使用拥塞避免,cwnd = 12,ssthresh = 8
在第 9 次传输时,发生超时,ssthresh = cwnd / 2 = 6,cwnd = 1,重新进入慢启动
在第 10 次传输时,使用慢启动,cwnd = 2,ssthresh = 6
在第 11 次传输时,使用慢启动,cwnd = 4,ssthresh = 6
在第 12 次传输时,使用慢启动,cwnd = 6,ssthresh = 6
在第 13 次传输时,使用拥塞避免,cwnd = 7,ssthresh = 6
在第 14 次传输时,使用拥塞避免,cwnd = 8,ssthresh = 6
在第 15 次传输时,使用拥塞避免,cwnd = 9,ssthresh = 6
每当发生超时,ssthresh 被设置为当前拥塞窗口的一半(cwnd/2),同时将拥塞窗口的大小设置为1,然后重新进入慢启动;每当拥塞窗口大小达到ssthresh时,拥塞控制算法就从慢启动模式转换为拥塞避免模式,此时每经过一个往返时间RTT,cwnd增加1,直到再次发生超时或者接收到3个冗余ACK,此时ssthresh被设置为当前拥塞窗口的一半,并将cwnd设置为ssthresh,然后重新进入慢启动。
阅读全文