TCP 拥塞窗口
网络工程
tcp
2022-02-12 14:01:52
1个回答
发生超时是因为 TCP 发送方根本没有收到任何 ACK。
摘要:是的,数据包的超时表明在超时期间没有收到此数据包的ACK,但是,重传通常发生在收到dupacks之后,通常发生在超时之前。由于超时而重新传输某些内容实际上非常罕见。
TCP 接收方必须确认每个接收到的段,无论这是否是有序段。在后一种情况下,TCP 确认最后一个按顺序接收的段。对于发送方来说,这意味着如果实际发送了一些数据包,则会收到一些确认。此外,当 TCP 接收到多个 dupack(默认为 3 个)时,它会假定该段丢失并重新传输它。它还对拥塞做出反应。
在正常情况下,在计时器触发之前会收到双包。当计时器触发时,这通常是因为根本没有收到任何确认 [*]
这是 TCP 在慢启动(例如,在 d1 之后)不进入的下行线路与超时后的线路之间的区别。这些也分别称为次要和主要拥塞事件。
收到 3 个双包后会发生小事件。由于收到了确认,网络正在传递一些数据包,因此“相信没有那么拥塞”[**],并且反应没有那么严重。重大事件在超时后发生。如果根本没有收到 ACK,则 TCP 认为发生了重大事件,并从头开始。
例如,如果数据包的路径发生了变化,并且新路径的带宽低得多,则可能会发生这种情况。
- [*] 尾部损失是非正常情况的示例
- [**] 为我相信拥塞控制算法的基础而道歉,但我想这是你必须记住的
其它你可能感兴趣的问题
