Как настроить сетевой маршрутизатор для переадресации (пересылки) обнаружения wcf
Я не могу выполнить обнаружение wcf через сетевой маршрутизатор.
У меня есть клиентское и серверное приложение. При развертывании этих двух приложений на любых двух компьютерах на одной локальной сети это работает отлично. Клиентское приложение находит приложение сервера и начинает связь. Когда я перемещаю клиента в другую сеть, разделенную маршрутизатором, он не может найти сервер.
Маршрутизатор - Cisco Catalyst 3750. У меня есть полное разрешение на изменение настроек, но я не уверен, какие настройки применяются к пакетам обнаружения wcf.
Моя цель - изменить конфигурацию маршрутизатора таким образом, чтобы пакет обнаружения wcf, который транслировался на локальной сети клиента, ретранслировался через маршрутизатор на локальную сеть сервера.
Можете ли вы привести примеры выполнения обнаружения wcf через маршрутизатор? Знаете ли вы какие-либо настройки маршрутизатора, которые я должен искать?
2 ответа
После долгих исследований я решил, что это либо невозможно, либо, по крайней мере, совершенно нецелесообразно. По определению сети, акт широковещательной рассылки через маршрутизатор не дал бы никакого значимого результата.
Например, давайте предположим, что я мог бы заставить маршрутизатор ретранслировать сообщение всем другим подсетям. Я мог бы получить результаты от 10.0.1.5 в одной подсети (назовем это ПК1) и 10.0.1.5 в другой подсети (ПК2). Технология TCP/IP не имеет возможности их дифференцировать. Кроме того, пытаться открыть канал для 10.0.1.5 и другой канал для 10.0.1.5 было бы просто глупо. Поэтому, хотя я знаю, что получу уникальные результаты в зависимости от топологии сети, маршрутизатор не сможет доказать это.
Что еще хуже, маршрутизатор фактически скрывает от меня ips ПК1 и ПК2. Это делается с помощью технологии NAT (трансляция сетевых адресов). Возможно, мне придется обратиться к 10.3.3.64, чтобы добраться до ПК1, и 10.3.4.64, чтобы добраться до ПК2. Опять же, моя топология не приводит к этим неясным числам, они совершенно уникальны и предсказуемы, но система не может этого доказать.
Вывод: я решил построить "трекер". Так работают P2P-сети. Все компьютеры будут отправлять отчеты известному трекеру, и клиенты будут запрашивать у трекера адреса для серверов, которые ему нужны.
Мы смогли заставить обнаружение WCF работать в разных сетях. По сути, нам пришлось увеличить TimeToLive в WCF, чтобы он был больше значения по умолчанию, равного 1. Вот более подробное объяснение от нашего сетевого консультанта:
Стандартные TTL для пакетов WS-Discovery от WCF: 1. Увеличив это значение до большего числа и включив разреженный PIM на правильных SVI на коммутаторе уровня 3, настроенном как RP, многоадресная маршрутизация позволяет использовать протокол WS-Discovery. пройти через несколько подсетей на уровне более крупного предприятия. Это НЕ будет работать через NAT, межсетевой экран и т. Д. - оно будет работать только между фактическими маршрутизируемыми подсетями (хотя оно должно работать через VTI с шифрованием IPsec с правильно настроенными протоколами IP и многоадресной маршрутизации).