![TCP 碎片在 TCP 服务器中保留多长时间](https://linux22.com/image/599506/TCP%20%E7%A2%8E%E7%89%87%E5%9C%A8%20TCP%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%AD%E4%BF%9D%E7%95%99%E5%A4%9A%E9%95%BF%E6%97%B6%E9%97%B4.png)
假设给定的 TCP 片段被分割成两个 IP 数据报,并且第一个数据报到达 TCP 服务器,但第二个数据报永远不会到达。
经过一段时间后,TCP 服务器会发送一个 keepalive 消息,并确定客户端处于活动状态。那么 TCP 服务器会如何处理第一个数据报?是等待第二个数据报到达,还是丢弃第一个数据报?
答案1
片段重组超时到期后,片段将被丢弃;另一端需要重新传输。
此超时通常是可配置的。在 Linux 上,默认为 30 秒,通过 进行控制/proc/sys/net/ipv4/ipfrag_time
。