TCP / IP не удалось установить исходящее соединение

Мы видим предупреждение TCP / IP и довольно много сбоев соединения на нашем веб-сервере и сервере SQL (Win 2008 SP1 с включенным IPv6), и это происходит чаще, когда рабочий процесс / процесс SQL-сервера работает в течение нескольких дней непрерывно , Мне интересно, что вызывает эти предупреждения? Каково допустимое количество подключений TCP по умолчанию и как мы можем это решить?

TCP / IP не удалось установить исходящее соединение, потому что выбранная локальная конечная точка недавно использовалась для подключения к одной и той же удаленной конечной точке. Эта ошибка обычно возникает, когда исходящие соединения открываются и закрываются с высокой скоростью, заставляя все доступные локальные порты использоваться и заставляя TCP / IP повторно использовать локальный порт для исходящего соединения. Чтобы свести к минимуму риск повреждения данных, для стандарта TCP / IP требуется минимальный промежуток времени между последовательными подключениями от данной локальной конечной точки к данной удаленной конечной точке.

wcf,tcp,

0

Ответов: 4


2 принят

Это похоже на то, что ваши соединения начинают сбой, а затем автоматически повторяются. Если повторы происходят достаточно быстро, TCP может циклически перемещаться по всему диапазону портов, и все ваши порты будут находиться в состоянии TIME-WAIT (IIRC - это то, что вызвало состояние, прошло немного времени с тех пор, как я подробно отлаживал TCP).

Несколько вещей, чтобы понять сначала:

  1. Кто создает соединение (ы) и для чего они должны использоваться?
  2. Проверьте частоту отказов подключения, я, как правило, использую Wireshark для такого рода вещей.

Затем вам нужно искать подсказки относительно того, почему соединение терпит неудачу. Возможно, исходящее подключение к серверу, сервер работает и работает? Почему сервер не принимал соединение - это процесс / поток, ответственный за принятие блокировки соединения, блокировку чего-либо или его выход? Является ли сеть между исходником и сервером нормальной?


0

Вот страница TechNet для этой ошибки.


0

вы используете что-то вроде

setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)

он позволяет повторно использовать один и тот же сокет дважды без предупреждения


0

Это выглядит так, как будто это сообщение об ошибке ... ваши порты исчерпаны. Это подразумевает много исходящих соединений.

По умолчанию не ограничено количество подключений tcp (я полагаю, вы ограничены только количеством портов, возможно, с портов от 1024 до 65534)

Я бы начал исследовать, почему вы так много времени встречаете исходящие соединения за такое короткое время.

ФОС, TCP,
Похожие вопросы
Яндекс.Метрика