Multicast-DNS \ Service Discovery über Router

1044
Kirill

Ich verwende Apples mDNSResponder. Es funktioniert in einem einzigen Netzwerk. Gibt es eine Möglichkeit, damit es funktioniert, auch wenn zwischen Computern, die nach Diensten suchen, und Computern, die Dienstanbieter sind, ein Router vorhanden ist?

Ich bin nicht gut in der Vernetzung, aber es scheint mir, dass Multicast-Pakete normalerweise nicht über einen Router laufen.

Ich habe also zwei mögliche Optionen vor Augen:

  1. In einigen Netzwerkprotokollen gibt es möglicherweise einen Schlüssel, der den Router dazu zwingt, das Multicast-Paket in ein anderes Netzwerk zu übersetzen.
  2. Es gibt ein Programm, das Sie auf dem Router installieren können (wenn nein, ist es überhaupt möglich, eines zu schreiben?).
1

1 Antwort auf die Frage

0
grawity

Ja, es gibt Methoden für das Multicast-Routing . Das derzeit bevorzugte Protokoll ist PIM, das das ältere DVMRP ersetzt . Es wird sogar in verschiedenen akademischen Netzwerken wie GÉANT unterstützt. (Zum Beispiel hier ein Artikel über Multicast im gesamten CUDN .)

(Ich habe es auch nicht ausprobiert; den Routern in Netzwerken, die ich betreue, mangelt es an Unterstützung.)


Alternativ gibt es IGMP-Proxying . Es wird breiter unterstützt und ist einfacher einzurichten ... Andererseits ist es direktional (wahrscheinlich für die Verwendung mit IPTV ausgelegt). Statt eines ordnungsgemäßen Routings müssen Sie eine Netzwerkschnittstelle als "Upstream" (Quelle für Multicast) konfigurieren Daten) und der Rest als "Downstream" (die passiven Empfänger).

Es könnte also für Peer-to-Peer-Szenarien wie mDNS funktionieren, aber ich würde keine Zeit verschwenden.

Außerdem verwenden einige mDNS-Implementierungen TTL = 1, sodass Router dies ohnehin verwerfen würden. (Dies ist ein Problem beim Routing und beim IGMP-Proxying.)


Ihre dritte Option ist also mDNS-Proxying . Wenn der Router Linux mit Avahi ausführt, finden Sie die "Reflektor" -Optionen in avahi-daemon.conf:

[reflector] enable-reflector=yes