Почему это соединение продолжает закрываться - SYN-> SYN, ACK-> ACK-> RST, ACK - PullRequest
0 голосов
/ 27 апреля 2011

У меня есть приложение, которое отправляет веб-запросы, и через некоторое время мы получаем ошибки тайм-аута соединения.Анализ пакетов TCP / IP показывает следующее, возникающее для каждой попытки подключения:

Нет.Информация о целевом источнике протокола времени

98635 2011-04-21 10: 13: 47.192237 172.22.3.250 172.22.3.100 TCP [повторно используемые номера портов TCP] httpx> http-alt [SYN] Seq = 0 Win = 65535 Len= 0 MSS = 1460

98639 2011-04-21 10: 13: 47.192397 172.22.3.100 172.22.3.250 TCP http-alt> httpx [SYN, ACK] Seq = 0 Ack = 1 Win = 5840 Len =0 MSS = 1460

98641 2011-04-21 10: 13: 47.192425 172.22.3.250 172.22.3.100 TCP httpx> http-alt [ACK] Seq = 1 Ack = 1 Win = 65535 Len = 0

98646 2011-04-21 10: 13: 47.192502 172.22.3.250 172.22.3.100 TCP httpx> http-alt [RST, ACK] Seq = 1 Ack = 1 Win = 0 Len = 0

Как только это произойдет, клиентский компьютер должен быть перезагружен, чтобы устранить проблему.Перезапуск клиентского или серверного приложения или перезагрузка сервера не имеют никакого эффекта.Сравнение деталей пакета между рабочими и нерабочими сообщениями не показывает различий для флагов и т. Д.

Спасибо,

Neil

1 Ответ

0 голосов
/ 27 апреля 2011

TCP Port numbers reused это ключ. Возможно, ваш клиент повторно использует номера портов старого соединения, которое должно быть закрыто.

Ваш клиент привязывается к порту статического источника? Если да, возможно, клиентская операционная система отклоняет пакеты с сервера, поскольку считает, что они принадлежат старому соединению ОС отклоняет пакеты, поэтому проблему решает только перезагрузка клиента. (Или попробуйте подождать пару минут).

При открытии соединения на клиенте не назначайте исходный порт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...