TCP / IP не удалось установить исходящее соединение - PullRequest
1 голос
/ 17 июня 2009

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

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

Ответы [ 4 ]

2 голосов
/ 17 июня 2009

Звучит так, будто ваши соединения начинают обрываться, а затем автоматически повторяются. Если повторные попытки происходят достаточно быстро, TCP может циклически проходить через весь диапазон портов, и все ваши порты будут в состоянии ВРЕМЯ ОЖИДАНИЯ (IIRC - это то, что называется состоянием, прошло немного времени, так как я подробно отлаживал TCP). 1001 *

Сначала нужно понять пару вещей:

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

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

0 голосов
/ 17 июня 2009

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

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

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

0 голосов
/ 17 июня 2009

Мне кажется, что именно это и указывает на сообщение об ошибке ... ваши порты исчерпаны. Это подразумевает МНОГО исходящих соединений.

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

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

0 голосов
/ 17 июня 2009

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

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