TCP服务器中保存了多less碎片化的TCP碎片

假设给定的TCP片段被分割成两个IP数据报,并且第一个数据报到达TCP服务器,但是第二个数据报不会到达。

TCP服务器经过一段时间后发送一个Keepalive,并确定客户端是活着的。 TCP服务器接下来做什么第一个数据报? 是等待第二个数据报到达,还是丢弃第一个数据报?

片段重组超时到期后,片段被丢弃; 另一端需要转发。

该超时通常是可configuration的。 在Linux上,默认是30秒,通过/proc/sys/net/ipv4/ipfrag_time

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

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

这是一个更详细的文章。 从本质上讲,没有一个特殊的超时值仅用于分片。

但是, 这篇思科文章指出,IOS XR虚拟防火墙对于分段具有10秒的默认超时时间,具有自己的可configuration计时器。 我把这个连接起来说,操作系统和设备将会有不同的performance,如果你通过一个像这样的设备传递连接,它可能会消极地干扰你的连接。

如果要testing分段延迟的影响,最好将两台具有相同configuration的机器交叉连接,并从那里开始testing。