I have a Windows 2008 server and an application that connects over Internet to it. From time to time I see that I receive a TCP [RST, ACK] that is ignored by my application. Using TCPViewer I still can see that connection still up. I did different Wireshark captures and I can see that in case of the RST ignore, another packet is send back, and the connection is never dropped.
269037 72.5.42.235 172.16.1.138 TCP 60 9003→54020 [RST, ACK]
Seq=2655287284 Ack=371936778 Win=0 Len=0
269038 172.16.1.138 72.5.42.235 TCP 66 [TCP Dup ACK 268965#33] 54020→9003 [ACK]
Seq=371936778 Ack=2655238984 Win=2097120 Len=0 SLE=2655243124 SRE=2655287284
This usually happens when the connection is bad and I get a lot of latency, delayed packets and retransmission. Can somebody explain the situation when RST may be ignored by an application or operating system?