Сервер в net.tcp://192.168.0.1:22/ServiceName/BufferedPoint отклонил запрос на установление сеанса

#wcf #nettcpbinding

#wcf #nettcpbinding

Вопрос:

У меня есть служба, которая использует WCF для связи с другой службой через брандмауэр на порту 22. Служба имеет около 30 заданий, которые выполняются каждые 5 секунд в цикле. Эти задания в основном вызывают службу на клиенте через брандмауэр (исходящий), и первое, что он делает, это проверяет конфигурацию, чтобы убедиться, что это допустимое задание. Эта настройка выполняется на двух парах для резервирования.

сервер ——> WCF——> клиент (пара 1)

сервер ——> WCF——> клиент (пара 2)

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

Файл журнала на сервере показывает время, в которое была вызвана служба:

-[2011-10-24 12:35:43.726][ ИНФОРМАЦИЯ ] 8268 CL: www.foo.com : Запуск нового экземпляра — j63454750613. Цикл #877

-[2011-10-24 12:35:43.726][ ИНФОРМАЦИЯ ] 8268 CL: j63454750613: Проверка правильности задания сервера…

-[2011-10-24 12:35:43.742][ ОШИБКА] 8268 CL: (evnt: 31975) j63454750613: ОШИБКА: сбой синхронизации с: Ошибка при проверке задания сервера: сервер в net.tcp://192.168.0.1:22/ServiceName/ BufferedPoint отклонил запрос на установление сеанса.

-[2011-10-24 12:35:43.742][ ИНФОРМАЦИЯ ] 8268 CL: j63454750613: Работа выполнена.

Важно отметить, что вызов службы происходит во время цикла проверки правильности задания, и что через 16 мс служба выдает исключение, но в клиентских журналах нет записи о вызове службы.

Я провел некоторые исследования, и специалисты Microsoft говорят, что вероятными причинами этого исключения являются медленный нисходящий канал, слишком загруженный сервер или заблокированный порт 818. В моем случае нисходящий канал — 100BaseT, сервер представляет собой четырехъядерный процессор с 4 гб оперативной памяти, который едва работает, и мы используем порт 22.

Есть идеи, что здесь может происходить? Я хотел бы предоставить более подробную информацию по запросу.

Приветствия.

Комментарии:

1. Что вы подразумеваете под «парой»? Означает ли это, что у вас есть две службы на клиенте, открытые на одном и том же порту? Почему вы злоупотребляете портом 22, который зарезервирован для другого протокола? Если вам нужна такая странная архитектура, открытие порта на брандмауэре должно быть частью процедуры установки вашего приложения.

2. Порт 22 — единственный открытый порт на инфраструктуре, и это решение было принято не мной. На каждом из 4 серверов есть служба, 2 клиента, 2 «сервера». Службы отлично работают на одном наборе серверов, но не на резервной копии; там возникает описанная проблема.

3. Службы, о которых я говорю, — это службы Windows, которые кто-то написал, которые запускаются на серверах. Службы в Интрасети взаимодействуют со службами в DMZ через порт 22, используя WCF.

Ответ №1:

192.168.1.1 на самом деле является закрытым адресом интернет-протокола, который устанавливается в качестве IP-адреса по умолчанию при создании беспроводных маршрутизаторов. Это один из наиболее часто используемых IP-адресов по умолчанию в настоящее время, а также, хотя обычно это зависит от заводских настроек маршрутизатора, его нетрудно изменить в зависимости от удобства и комфорта пользователя с помощью платы модема. По правде говоря, также предлагается изменить его, если у человека возникают трудности с подключением. Модемы Linksys, как правило, с наибольшей вероятностью имеют 192.168.1.1 для своего IP-адреса.

Из-за того, что сервер 192.168.0.1 на самом деле является закрытым IP-адресом, многие считают, что этот конкретный IP-адрес используется различными персональными компьютерами одновременно по всему миру. Тем не менее, это просто вероятно, когда 2 машины, реализующие идентичный Ip (192.168.1.1), работают в отдельных системах. Однако, когда несколько компьютерных систем используют IP-адрес 192.168.1.1 в одной конкретной компьютерной сети, всегда будут проблемы с взаимодействием, а также сетевая система не будет работать должным образом. Это указывает на то, что, хотя можно использовать идентичный IP-адрес в нескольких местах, только до тех пор, пока эти машины не выполняют работу с идентичной системой.