通过WAN禁用多播传送多播(到另一个LAN)

我的服务器和客户端软件在Linux上运行。
服务器广播多播,客户端侦听多播。

我的客户必须迁移到另一个站点,
不幸的是,在两个站点之间不允许组播🙁

如何在两个站点之间传递多播?
– 通过TCP或UDP?
– 你推荐什么工具?
– 什么延迟?

我收到了关于思科configuration(GRE)的一个很好的答案,
但其中一个networking团队不想监视/维护它,
=>当传输将中断时,支持团队将花费太多时间来理解和修复。
=>那么,什么应该是GRE的最佳select?

有没有一个基于Linux内核function的解决scheme
或网卡function? (低延迟很重要)
用法示例赞赏:-)


  • 当前:服务器和客户端在同一个站点上

    目前的networking图http://ditaa.org/ditaa/render?grid=%2B%-%2B+%2B%-%2B%0D%0A%7C+服务器++%7C +%7C +客户端++%7C%0D%0A%7C +发送+++%7C +%7C +侦听+%7C%0D%0A%7Cmulticast%7C +%7Cmulticast%7C%0D%0A%7C +++ IP1 +++%7C +%图7C ++ ++++ IP2%7C%0D 0A%%2B —-%2B —-%2B +%2B —%2B —–%2B%0D 0A%+++++%7C ++++++++++%7C%0D 0A%+++++ %2B%2B ———%2B%0D 0A%++++++%7CLAN +网站+ + 1%0D 0A%++++++%7C%0D 0A%++++++%2B ———– ———- WAN

  • 未来:服务器和客户端,每一个在不同的网站上

    未来networking图http://ditaa.org/ditaa/render?grid=%2B%-%2B+%2B%-%2B+++++++++%2B—– ——%2B%0D%0A%7C +服务器++%7C +%7C +++++++++%7C +++++++++%7C +新+主机++%7C ++%0D%0A%7C +发送+++%7C +%7C +++++++++%7C +++++++++%7C +为+客户端%7C ++%0D%0A%7Cmulticast%7C +%7C +++++++++%7C +++++++++%7C +++++++++++%7C ++%0D%0A%7C +++ IP1 +++%7C +%7C +++++++++%7C +++++++++%7C + IP3 +++++++%7C +++%0D%0A%2B —- %2B —-%2B +%2B —%2B —–%2B +++++++++%2B – %2B ——–%2B%0D 0A%+++++%7C ++++++++++%7C ++++++++++++++++++%7C ++++++++++++%7C %0D 0A%+++++%2B%2B ———%2B ++++++++++++++++++%2B%2B ———–%2B-%0D 0A%++++++ +站点%7CLAN + + 1 + +++++++++++++++ +网站%7CLAN + + 2%0D 0A%++++++%7C +++++++++++++++++++++++++++++%7C%0D 0A%++++++%2B ————- —————-%2B%0D 0A%++++++++++++++++++++++++++++广域网

组播频道:225.1.0.1:6666


相关问题

  • UPD多播(D类)=如何通过互联网路由?
  • IGMP中的IGMP /多播路由
  • 组播跨子网和RSVP答案
  • 多个GRE NAT路由器和“多个VPN限制”链接

    我不确定你的问题是否理解你的graphics,但据我所知,你需要通过TCP转发组播数据包? 面向工具的解决scheme可能涉及socat

    例如,组播频道是224.1.0.1:6666。

    在服务器主机上(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 

    在客户端主机(IP = CC.CC.CC.CC)上:

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

    我让你检查如何使用socat手册来调整参数。 一旦你知道你的MULTICAST GROUP和你的networking接口的IP地址,这是非常简单的。 🙂

    一些路由器将允许多播stream量通过IPnetworking链路进行隧道传送。 隧道的两端必须相应configuration。 思科尤其支持在GRE链路上进行隧道传输。 这里有一篇关于如何实现思科的文章

    这是可能的,但是使用像TCP这样的stream协议并不是一个好主意,原因是多个拥塞实现(一次来自TCP,另一次来自试图以智能方式利用UDP的程序) [1] 。

    你有的可能性是隧道解决scheme,例如OpenVPN + TAP(使用UDP传输)或GRE,甚至像L2TP。 [我想知道是否IPIP / IP6IP6隧道工作。]

    Linux内核导向解决scheme:

    mrouted是一个deamon,它可以获取任何多播数据包,并告诉内核将它们转发到哪里。 你将需要用特定的补丁和正确的选项重新编译你的linux内核。 然后configurationmrouted守护进程。 在Linux-Mrouted-MiniHOWTO.html中获取更多细节。

    很好的参考是多播howto ,很好的阅读。

    希望它有帮助。

    史蒂夫·米勒为你的问题发布了很好的教程 。 希望这会帮助你!