Мультикаст днс \ обнаружение сервиса через роутер

Я использую mDNSResponder от Apple. Работает в единой сети. Есть ли способ заставить его работать, даже если есть роутер между компьютером, который просматривает сервисы, и компьютером, который является поставщиком услуг?

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

Итак, я имею в виду два возможных варианта:

  1. В каком-то сетевом протоколе может быть какой-то ключ, который заставляет маршрутизатор ретранслировать многоадресный пакет в другую сеть.
  2. Для этого на роутере можно установить программу (если нет, то можно ли ее написать?).

1 ответ

Решение

Есть методы для многоадресной маршрутизации, да. В настоящее время предпочтительным протоколом является PIM, который заменяет старый DVMRP. Это даже поддерживается в различных академических сетях, таких как GÉANT. (Например, вот статья о многоадресной рассылке через CUDN.)

(Я тоже не пробовал; маршрутизаторам в сетях, которыми я управляю, не хватает поддержки.)


Кроме того, есть IGMP-прокси. Он более широко поддерживается и проще в настройке... Но, с другой стороны, он направленный (вероятно, предназначен для использования с IPTV) - вместо правильной маршрутизации вы должны настроить один сетевой интерфейс как "восходящий" (источник многоадресной рассылки). данные), а остальные как "вниз по течению" (пассивные получатели).

Таким образом, это может работать для одноранговых сценариев, таких как mDNS, но я бы не стал тратить время впустую.

Кроме того, некоторые реализации mDNS используют TTL=1, поэтому маршрутизаторы в любом случае откажутся от этого. (Это проблема как с маршрутизацией, так и с IGMP-прокси.)


Таким образом, ваш третий вариант - прокси mDNS. Если роутер работает под управлением Linux с Avahi, вы можете найти параметры "отражателя" в avahi-daemon.conf:

[reflector]
enable-reflector=yes
Другие вопросы по тегам