我在 wireshark 中跟踪了 TCP 连接并尝试了解 ACK 应如何正确工作。
正如您在图片中看到的,在某个时刻,IPx.61 丢失了一个数据包。Wireshark 将此标记为“未捕获上一个段”。
然后,正常的流量继续,但来自 IPx.60 的数据包不会更改其 ACK 编号 = 客户端要求丢失的数据包。它这样做了 15 次。
接下来,IPx.61 开始发送空的 ACK 帧,不久之后 IPx.60 不再发送任何内容。在那之后,我又跟踪了几天的流量(!),但丢失的数据包不会由 IPx.61 再次发送/重新传输。难道不应该在此之后立即重新传输吗?这可能是设备 IPx.61 上实施的 TCP 堆栈不正确吗?还是我误解了什么?
(这个问题是这个问题的一部分:TCP 和 Wireshark - 服务器不重新传输段?)