V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
silencil
V2EX  ›  宽带症候群

请教个 Udp 组播问题

  •  
  •   silencil · 2021-09-02 00:09:37 +08:00 via iPhone · 2258 次点击
    这是一个创建于 1204 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我本机网线直连服务器可以组播接收到数据,通过交换机连接接收不到。该交换机其他服务器可通过它组播下发,所以交换机组播的配置应该是没有问题,请问还会有什么情况导致通过交换机组播下发不成功呢?现场网络较复杂,代码公司测试没有问题,在这个网络之前也没有问题,最近开始一直不行
    第 1 条附言  ·  2021-09-02 11:13:03 +08:00
    继续请教,通过交换机看是有组播输入没有输出,这是交换机缺了什么配置吗?
    13 条回复    2021-09-02 19:27:17 +08:00
    raysonx
        1
    raysonx  
       2021-09-02 00:21:08 +08:00
    确定你本机和服务器在同一个 VLAN 内吗?如果不是就要涉及到组播路由了,那就是另一个故事了。
    通常来讲,如果交换机开启了 multicast snooping
    raysonx
        2
    raysonx  
       2021-09-02 00:25:48 +08:00
    交换机会识别 IGMP/MLD 包,并且会启用 IGMP/MLD Querier 来查询哪些端口属于某个组播地址。不排除有些低端交换机对 multicast 的实现有 bug 。
    abcysn
        3
    abcysn  
       2021-09-02 00:40:31 +08:00 via iPhone
    是不是 ttl 设置太小了?
    bin456789
        4
    bin456789  
       2021-09-02 03:05:13 +08:00 via Android
    我买过一个家用交换机,光猫 IPTV 口接交换机 1 口才能正常看 IPTV,其他口不行,就是这么神奇
    semglassiebaba
        5
    semglassiebaba  
       2021-09-02 08:48:37 +08:00
    一般不带 vlan 的交换机会直接把组播变成广播的吧,带 vlan 的要自己设置
    silencil
        6
    silencil  
    OP
       2021-09-02 09:03:55 +08:00 via iPhone
    @raysonx h3c 的交换机应该不会有 bug,测试的时候和服务器是同一个 vlan 下的,也不行,今天去别的机房找个交换机测试下
    @semglassiebaba vlan 由网络专员设置过了
    silencil
        7
    silencil  
    OP
       2021-09-02 12:10:55 +08:00 via iPhone
    @abcysn 找到问题了,确实是 TTL 太小了,为 1
    raysonx
        8
    raysonx  
       2021-09-02 12:43:48 +08:00
    link-local 范围内的组播流量本来就是 TTL 1,而且交换机在转发时也不会减小 TTL 值,明显不是这个原因。
    silencil
        9
    silencil  
    OP
       2021-09-02 14:01:53 +08:00 via iPhone
    @raysonx 确实,增大了 TTL 后同一个网段下的服务器能收到了,不同网段依然收不到。请问在您看来还能有什么情况吗?
    raysonx
        10
    raysonx  
       2021-09-02 14:46:51 +08:00
    都说了同网段和 TTL 为多少没有关系,因为交换机不会减小 TTL 值,只有通过路由器时 TTL 才会减一。

    不知道你用的组播地址是什么。要让 multicast 跨网段首先组播地址不能用 link-local 网段( 224.0.0.0/24 或者 ffx1::/16,ffx2::/16,ffx3::/16 ),然后需要配置路由器来支持组播路由。如果路由器是 Linux 软路由的话可以用 mrouted 或者 smcroute 来实现,硬件路由器的话要去看厂商说明书。
    silencil
        11
    silencil  
    OP
       2021-09-02 15:13:05 +08:00 via iPhone
    @raysonx 嗯,组播地址是 238.1.1.1,应该不在这个网段。网络专员告诉我配置过路由了,有一个别的服务可以推流成功。
    raysonx
        12
    raysonx  
       2021-09-02 17:22:49 +08:00 via iPad
    238.1.1.1 是保留地址,不知道兼容性如何,另一个服务也是用这个组播段吗?

    可以用 socat 之类的工具测试一下你的组播地址能否正确路由,如果能说明是你应用程序的问题,如果不能说明是网络配置或者防火墙的问题。
    silencil
        13
    silencil  
    OP
       2021-09-02 19:27:17 +08:00 via iPhone
    @raysonx 好的 谢谢,才知道这个软件,待会测试下。另一个组播地址是 231.7.200.51 ,现在的情况是组播不下去的服务在 10.73.112 网段下都能收到,10.89.160 这些网段就收不到了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3058 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 14:09 · PVG 22:09 · LAX 06:09 · JFK 09:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.