我们第一次在一个应用程序中使用多播,虽然我已经让它工作了,但我真的很想完全理解它是如何工作的,以及幕后发生的情况。
为了做到这一点,我在我的电脑上运行了 Wireshark,以查看当我的电脑作为源或成员/目的地时发送/接收了哪些 IGMP 数据包。
我很疑惑地发现我的 PC 正在接收与我的 PC 无关的 IGMP 和多播数据包。我感觉我们的交换机只是广播多播,而不是仅向对多播感兴趣的端口发送多播数据包。
经过多次 Google 搜索后,我发现这句话解释并支持了我的想法:
Cisco 组管理协议 (CGMP) 和 Internet 组管理协议 (IGMP) 监听的目的是限制交换网络中的多播流量。默认情况下,LAN 交换机会在广播域内泛洪多播流量,如果许多多播服务器向该网段发送流,这可能会消耗大量带宽。- Cisco
好的……所以我猜我需要在我们的 LAN 上启用 IGMP 侦听。但我不知道的是,我需要在我们所有的 Cisco 交换机(型号 SG300-28P)上启用此功能,还是只需要一个?PS。所有交换机都是第 2 层 - 我们的防火墙在 VLAN 之间路由流量。
我认为我需要的是:
bridge multicast filtering
ip igmp snooping
ip igmp snooping vlan 1
ip igmp snooping vlan 1 querier
另外,我是否应该对每个 VLAN 执行相同的操作(我们只有 2 个,用于语音和数据)。
答案1
回答您的直接问题
每个交换机上都需要这些命令:
bridge multicast filtering
ip igmp snooping
ip igmp snooping vlan 1
您需要在一个交换机上使用此命令,但将它放在多个交换机上也不会有什么坏处。:
ip igmp snooping vlan 1 querier
您可以对您的语音 VLAN 执行相同的操作,也可以不执行,但这并不重要,因为可能没有任何多播通过您的语音 VLAN(可能除了等待音乐)。实施上述操作不会造成任何损害,但对于 VLAN 2 也一样。
谷歌搜索得很好 - 似乎你找到了你需要的东西:)