TCP服务器中的碎片化TCP碎片保留了多长时间


10

假定将给定的TCP片段分为两个IP数据报,并且第一个数据报到达TCP服务器,但是第二个数据报从不到达。

一定时间后,TCP服务器将发送一个保持活动状态,并确定客户端处于活动状态。然后,TCP服务器如何处理第一个数据报?是等待第二个数据报到达,还是丢弃第一个数据报?

Answers:


8

片段重组超时到期后,片段将被丢弃;另一端将需要重新传输。

此超时通常是可配置的。在Linux上,默认为30秒,可通过进行控制/proc/sys/net/ipv4/ipfrag_time


是否收到了相对于第一个片段的片段重组超时,还是为每个新到达的片段重置了计时器?
2012年

2
我认为您必须阅读源代码才能明确回答。
迈克尔·汉普顿

2

这个问题没有确定的答案。

如果你看到这个文章关于自适应retransmition你会看到TCP使用RTT作为计算适当的延迟的一个因素。

是更详细的文章。本质上,没有专门用于分段的超时值。

不过, Cisco文章指出,IOS XR虚拟防火墙的片段默认超时为10秒,带有自己的可配置计时器。我将其链接为是说操作系统和设备的行为将有所不同,例如,如果您通过这样的设备传递连接,则可能会对您的连接产生负面影响。

如果要测试分段延迟的影响,最好将两台具有相同配置的机器交叉连接,然后从那里开始测试。


谢谢。您是否认为Cisco文章中的片段超时是针对第一个收到的片段或最后一个收到的片段计算的?
Randomblue 2012年

最后一个接收到的片段比第一个接收到的片段更有意义,但我不知道,在该示例中,它由思科自行决定。
jwbensley 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.