fragen stichworte

Übermitteln Sie Multicast (in ein anderes LAN) über WAN, indem Sie Multicast deaktivieren

Meine Server- und Client-Software werden beide unter Linux ausgeführt.
Der Server überträgt Multicast, der Client hört Multicast.

Mein Client muss zu einer anderen Site migrieren,
und leider ist Multicast zwischen den beiden Standorten nicht erlaubt :-(

Wie vermittelt man Multicast zwischen den beiden Standorten?
 - Über TCP oder UDP?
 - Welche Tools empfehlen Sie?
 - Was ist mit der Latenz?

Ich habe eine gute Antwort zur Konfiguration von Cisco (GRE),
erhalten aber eines der Netzwerkteams möchte es nicht überwachen/warten,
=> Wenn die Übertragung unterbrochen wird, wird das Supportteam zu viele Stunden für das Verständnis und die Reparatur aufwenden.
=> Was sollte also die beste Alternative zu GRE sein?

Gibt es eine Lösung, die auf den Linux-Kernelfunktionen
basiert oder auf Netzwerkkartenfunktionen? (niedrige Latenz ist wichtig)
Anwendungsbeispiele werden geschätzt :-)


Multicast-Kanal: 225.1.0.1:6666


Verwandte Fragen

antworten

Bei einigen Routern kann Multicast-Verkehr über IP-Netzwerkverbindungen getunnelt werden. Beide Enden des Tunnels müssen entsprechend konfiguriert werden. Insbesondere Cisco unterstützt das Tunneln von Multicast-Verkehr über GRE-Verbindungen. Hier ist ein Artikel darüber, wie das Cisco

erreicht werden kann

Ich kann Ihre Grafik in Ihrer Frage nicht genau verstehen, aber soweit ich verstanden habe, müssen Sie das Multicast-Paket über TCP weiterleiten. Eine toolorientierte Lösung kann socat beinhalten:

Der Multicast-Kanal ist beispielsweise 224.1.0.1:6666.

Auf dem Serverhost (IP = SS.SS.SS.SS):

$socat -v UDP4-RECVFROM:6666,ip-add-membership=224.1.0.1:CC.CC.CC.CC,fork TCP:destination.hostname:4444

Auf dem Client-Host (IP = CC.CC.CC.CC):

$socat -v TCP-LISTEN:4444,fork UDP4-DATAGRAM:224.1.0.1:6666,range=SS.SS.SS.SS/24

Mit dem socat -Handbuch können Sie überprüfen, wie Parameter eingestellt werden. Es ist ziemlich einfach, wenn Sie Ihre MULTICAST GROUP und die IP-Adressen Ihrer Netzwerkschnittstelle kennen. :-)

Es ist möglich, aber die Verwendung eines Stream-Protokolls wie TCP ist keine gute Idee, weil mehrere Überlastungsimplementierungen (einmal von TCP und einmal von Programmen, die UDP auf intelligente Weise verwenden möchten) [1].

Ihre Möglichkeiten sind getunnelte Lösungen, z. OpenVPN + TAP (mit UDP-Transport) oder GRE oder sogar Dinge wie L2TP. [Ich frage mich, ob das IPIP/IP6IP6-Tunneln auch funktionieren würde.]

Linux-Kernel-orientierte Lösung:

mrouted ist ein Deamon, der Multicast-Pakete abruft und dem Kernel mitteilt, wohin er diese weiterleiten soll. Sie müssen Ihren Linux-Kernel mit einem bestimmten Patch und den richtigen Optionen neu kompilieren. Konfigurieren Sie anschließend den Daemon mrouted. Weitere Informationen finden Sie in Linux-Mrouted-MiniHOWTO.html.

Eine gute Referenz ist das Multicast-Howto, gute Lektüre.

Ich hoffe es hilft.

Steve Miller hat ein gutes Tutorial für Ihr Problem gepostet. Hoffe das wird dir helfen!