tcp 接收器在接收到不完整窗口时的行为

网络工程 tcp 拥塞
2022-03-04 16:51:30

例如,假设窗口大小为 5 MSS,发送方向网络发送 5 个段,第 5 个丢失。实际上的问题是:收件人的行为如何?它只是不确认收到 4 个段并等待发送方缩小窗口并发送更小的窗口?或者接收者有某种计时器,通过它他可以断定该段丢失并向发送者发送 4 个段的确认

1个回答

收件人的行为如何?

接收方确认前四个段 = 第五段的开始。

等待发送方缩小窗口并发送更小的窗口?

发送方不会因为丢失段而缩小传输窗口。当检测到拥塞时窗口会缩小,这有点复杂

当发送方收到第五段开始的 ACK 时,前四个从窗口中删除,将其推进到段 5-9。根据确切的算法和时间,发送者可能会立即发送这四个段(重新发送 seg 5)。或者,它可以选择为可能仍在传输中的第五个分段(最大 1 RTT)等待更长的时间,如果失败,则在短计时器到期时发送分段 5-9。

或者接收者有某种计时器,通过它他可以断定该段丢失并向发送者发送 4 个段的确认

是的,接收者可能使用累积确认(与单独确认每个段相反)并且在发送这些确认时有一个短计时器(在观看窗口时在每个接收到的段之后重新启动计时器)。因此,在 seg 4 的接收和 seg 1-4 的 ACK 之间可能存在短暂的延迟。