У меня есть сервер Windows 2008 и приложение, которое подключается к нему через Интернет. Время от времени я замечаю, что получаю TCP [RST, ACK], который мое приложение игнорирует. Используя TCPViewer, я все еще вижу это соединение. Я сделал разные захваты Wireshark и вижу, что в случае игнорирования RST другой пакет отправляется обратно, и соединение никогда не разрывается.
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
Обычно это происходит, когда соединение плохое, и я получаю много задержек, задержанных пакетов и повторной передачи. Может кто-нибудь объяснить ситуацию, когда RST может игнорироваться приложением или операционной системой?