Linux 虚拟交换机中的多播帧

Linux 虚拟交换机中的多播帧

我有一个网络拓扑,其中“Dell PE860”运行 Linux 虚拟交换机br0

Linux 桥图

现在,如果我从“IBM ThinkCentre”发送以太网帧到广播地址:

17:10:23.569021 00:a1:ff:01:02:05 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 34: 127.0.0.1 > 127.0.0.1:  ip-proto-0 0

..然后我在两个虚拟机中都看到了这个框架。如果我将以太网帧发送到 MACbr0地址表中未知的 MAC 地址,则该帧br0也会正常运行,并将该帧泛洪到该帧传入的所有端口(eth1在本示例中)。但是,如果我从“IBM ThinkCentre”发送多播帧:

17:17:05.513283 00:a1:ff:01:02:05 > 01:33:44:55:66:77, ethertype IPv4 (0x0800), length 34: 127.0.0.1 > 127.0.0.1:  ip-proto-0 0

..然后由于某种原因,Linux 虚拟交换机不会将其泛洪到所有端口(除了帧来自的端口)。为什么会这样?我希望交换机像处理广播帧一样处理多播帧。

答案1

为了启用多播以太网帧的转发,需要在 下禁用多播侦听/sys/devices/virtual/net/<br_name>/bridge/multicast_snooping

答案2

组播仅发送到已加入组播组的新娘端口。因此,除非有客户端对端口上的多播数据感兴趣并且已向网桥发送 igmp join 消息,否则不会将多播帧转发到该端口。

可以在以下情况下禁用多播侦听/sys/devices/virtual/net/<br_name>/bridge/multicast_snooping

相关内容