1
raysonx 2021-09-02 00:21:08 +08:00
确定你本机和服务器在同一个 VLAN 内吗?如果不是就要涉及到组播路由了,那就是另一个故事了。
通常来讲,如果交换机开启了 multicast snooping |
2
raysonx 2021-09-02 00:25:48 +08:00
交换机会识别 IGMP/MLD 包,并且会启用 IGMP/MLD Querier 来查询哪些端口属于某个组播地址。不排除有些低端交换机对 multicast 的实现有 bug 。
|
3
abcysn 2021-09-02 00:40:31 +08:00 via iPhone
是不是 ttl 设置太小了?
|
4
bin456789 2021-09-02 03:05:13 +08:00 via Android
我买过一个家用交换机,光猫 IPTV 口接交换机 1 口才能正常看 IPTV,其他口不行,就是这么神奇
|
5
semglassiebaba 2021-09-02 08:48:37 +08:00
一般不带 vlan 的交换机会直接把组播变成广播的吧,带 vlan 的要自己设置
|
6
silencil OP |
8
raysonx 2021-09-02 12:43:48 +08:00
link-local 范围内的组播流量本来就是 TTL 1,而且交换机在转发时也不会减小 TTL 值,明显不是这个原因。
|
9
silencil OP @raysonx 确实,增大了 TTL 后同一个网段下的服务器能收到了,不同网段依然收不到。请问在您看来还能有什么情况吗?
|
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 来实现,硬件路由器的话要去看厂商说明书。 |
11
silencil OP @raysonx 嗯,组播地址是 238.1.1.1,应该不在这个网段。网络专员告诉我配置过路由了,有一个别的服务可以推流成功。
|
12
raysonx 2021-09-02 17:22:49 +08:00 via iPad
238.1.1.1 是保留地址,不知道兼容性如何,另一个服务也是用这个组播段吗?
可以用 socat 之类的工具测试一下你的组播地址能否正确路由,如果能说明是你应用程序的问题,如果不能说明是网络配置或者防火墙的问题。 |