gpt4 book ai didi

networking - TCP SACK 重叠选项

转载 作者:可可西里 更新时间:2023-11-01 02:52:39 27 4
gpt4 key购买 nike

我遇到了一个奇怪的问题。我们有两个系统通过 RFC 进行通信,但这种通信每次都会因以下问题而中断:

客户端收到 SLE=2734286 和 SLR=2777173 的 TCP ACK然后客户端开始重新传输“丢失”的包然后收到带有SACK的TCP DUP ACK:2777089-2777173 2734286-2777173

这很奇怪,不是吗? SACK 参数重叠。然后客户端再次发送丢失的包,但总是收到 TCP DUP ACK。尝试 5 次后,客户放弃。

从 Windows 2003 到 Linux 2.6.32。

你们中有人知道这样的问题吗?网络连接本身没有问题(例如,当通过 SSH 复制数据时,SACK 协议(protocol)似乎可以正常工作)。

最佳答案

根据 RFC (http://tools.ietf.org/html/rfc2018),这些 SACK 没有任何问题。数据接收方应该修剪第二个 SACK,但这不是一个严格的要求(来自第 4 节):

The SACK option SHOULD be filled out by repeating the most recently reported SACK blocks based on first SACK blocks in previous SACK options) that are not subsets of a SACK block already included in the SACK option being constructed

我怀疑数据接收器的实现(这是您的示例中的服务器)只是在段到达时生成一个 SACK 条目并将其插入列表,而不是每次都尝试折叠列表。

关于networking - TCP SACK 重叠选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13273066/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com