为什么在 Linux 中多播流仅当 224.0.0.0/4 路由到网卡/NIC 时才有效?

为什么在 Linux 中多播流仅当 224.0.0.0/4 路由到网卡/NIC 时才有效?

我的一个项目涉及使用联网的 SAT 调谐器对 DBV-S2 电视频道进行多播流传输。由于没有支持 IGMP 的网络交换机,网络压力很大,因此我设置了一个物理上独立的网络。

这个新网络包含一个 DHCP 服务器(带有 isc-dhcp-server 的 Linux Mint 16;网络调谐器不支持静态 IP)、网络调谐器、一台 Linux(Mint 16)计算机和一台 Windows 7 笔记本电脑。239.5.2.1在这种情况下,网络调谐器将向端口 6670 发送 RTP 流。

这是我的 dhcpd.conf:

ddns-update-style interim;
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.20.255;
subnet 192.168.20.0 netmask 255.255.255.0 {
        interface eth0;
        range 192.168.20.1 192.168.20.10;
}
host tuner {
        hardware ethernet 54:84:7b:00:19:1a;
        fixed-address 192.168.20.2;
}

在 Windows 7 上,VLC 可以rtp://@239.5.2.1:6670正常打开。在 Linux 上,这不起作用。VLC 的消息日志显示:“无法加入多播组。没有这样的设备。”当我添加

sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0

它突然起作用了。我发现了一些这里有解释,但在标准网络中,VLC 可以在没有该路由的情况下播放流。我的网络和常规网络可能有什么不同?我没有安装常规网络,对此不太了解。它还有一个 DHCP。

也许有人可以对此提供一些值得赞赏的启示。

相关内容