服务器如何处理丢失的TCP段?

我特别感兴趣的是通过TCP实现FIX协议 ,但是我很乐意用更一般的方式来讨论这个问题。

假设客户端向服务器发送TCP分段,并且涉及的一些IP分组丢失。 然后,对于没有完全到达的TCP段,客户端将不会收到ACK。 现在通常这是客户端在超时期限过去之后重新传输TCP段的提示。

现在让我们假设客户决定不发送那些丢失的TCP段。 那么服务器已经正确接收到的不完整的段组会发生什么?

服务器是否希望最好,并假设最终失踪的部分将到达? 是否有超时,服务器从缓冲区中清除不完整的信息? 如果是这样,通常多久,超时?

TCP Keep-alive在RFC-1122( http://www.rfc-editor.org/std/std3.txt )的4.2.3.6节中讨论。

如果没有Keepalive重传,TCP连接可以无限期地保持打开状态,无需交换任何段。 如果连接实际上是死的,通常不会发现,直到一方尝试发送新的数据并获得超时或ICMP错误。