IGMP 侦听未按预期工作

IGMP 侦听未按预期工作

我正在 LAN 上设置几个多播音频流。我在 Linux 机器上使用 vlc 传输流,命令行如下:

/usr/bin/vlc -I dummy --sout'#rtp{dst=224.0.0.0,port=5004,sap,name=test}'--no-sout-all --sout-keep --repeat --quiet test.mp3

此配置将在指定的多播组上发送音频流,并在知名 SAP 多播组上发送 SAP 公告。在接收端,我有一台 Windows 10 PC,我计划在其上运行 vlc 作为客户端来“收听”其中一个多播流并通过 PC 扬声器播放。Linux 机箱和 Windows 机箱连接到交换机,交换机又上行连接到我的网络的其余部分。我显然希望避免用来自这些音频流的 RTP 数据包冲击我的网络的其余部分;为此,我将这两台机器连接到支持 IGMP 侦听的交换机。预期的行为是,除非连接到该端口的机器发出了 IGMP 加入请求(交换机从流量中嗅探到该请求),否则多播流量将不会转发到交换机上的端口。但是,我看到的情况并非如此 - 相反,使用 Wireshark 时,我看到所有多播流量都转发到交换机上的所有端口,即使该端口上的机器尚未发出任何 IGMP Join 数据包(即我尚未在 Windows 机器上启动 vlc 客户端)。我的理解是,用所有多播数据包的副本淹没所有端口是交换机的默认行为。

我尝试了多台声称支持 IGMP 监听的交换机,包括 TP-Link TL-SG108、TP-Link TL-SG116、Cisco SF200-24P 和 Trendnet TPE-80WS。所有这些交换机都表现出相同的“泛洪”行为,将所有多播数据包复制到交换机上的所有端口。对于 Cisco,我遵循了此处的说明 (https://www.cisco.com/c/en/us/support/docs/smb/switches/cisco-small-business-200-series-smart-switches/smb94-configure-internet-group-management-protocol-igmp-snooping-o.html) 配置交换机的 IGMP 侦听,但无济于事。Trendnet 交换机在其管理 Web 界面中有类似的设置,而 TP-Link 交换机似乎根本没有任何管理网页。

所以我的问题是:有人能确认我对 IGMP 监听应该如何工作的理解是正确的吗?如果是这样,有什么建议可以正确配置这些交换机之一吗?是否有更好/更容易配置的交换机型号可用于此目的?

相关内容