假设给定的TCP片段被分割成两个IP数据报,而第一个数据报到达TCP服务器,但第二个数据报从未到达。
在一定时间之后,TCP服务器发送一个保持活动状态,并确定客户端是活动的。那么TCP服务器如何处理第一个数据报呢?是等待第二份数据报到达,还是它丢弃第一份数据报?
发布于 2012-10-29 14:01:27
片段重新组装超时过期后,片段将被删除;另一端将需要重新传输。
此超时通常是可配置的。在Linux上,默认情况下是30秒,并通过/proc/sys/net/ipv4/ipfrag_time进行控制。
发布于 2012-10-29 11:26:47
这个问题没有明确的答案;
如果您看到这关于自适应重传的文章,您将看到TCP在计算适当的延迟时使用RTT作为一个因素。
这是一篇更详细的文章。本质上,不存在仅用于碎片的特殊超时值。
不过,这思科的文章指出,IOS虚拟防火墙对碎片的默认超时时间为10秒,并有自己的可配置定时器。我把它连接起来,说OSs和设备会有不同的行为,如果你通过这样的设备传递一个连接,它可能会对你的连接产生负面影响。
如果您想测试碎片延迟的影响,最好将两台配置相同的机器与交叉连接起来,然后从那里开始测试。
https://serverfault.com/questions/443300
复制相似问题