当 TCP SACK 已经启用时,再次丢失

网络工程 tcp
2022-02-22 19:26:08

在此处输入图像描述

因为4245号丢包,生成了一个新的segment block,但是为​​什么原来的3040050-3048810的segment block会消失。

谁能帮我解释一下这种情况?

1个回答

根据RFC 2018 (ch.3):

SACK 选项是建议性的,因为它通知数据发送方数据接收方已收到指示的段,但允许数据接收方稍后丢弃已在 SACK 选项中报告的数据。下文第 8 节讨论了建议性 SACK 的后果,特别是数据接收方可能会拒绝或丢弃已经 SACK 的数据。

块 [3040050-3048810] 已在数据包 4244 中发送,因此 SACK 块发送方认为没有必要再次发送它。