有 2^28 个可能的 IP 多播地址,但只有 2^23 个可能的以太网 (MAC) 多播地址(http://technet.microsoft.com/en-us/library/cc957928.aspx),这就是为什么 224.1.1.1 得到映射到同一个 MAC 地址作为 224.129.1.1。
这可能是低效的,因为只对前一个地址感兴趣的主机最终也会接收后一个地址的数据包,即过滤不是由交换机/路由器完成,而是由主机本身完成。
现在 IGMP 使用 IP 地址工作,而 IGMP 侦听交换机无论如何都会下降到第 3 层。这是否意味着 IGMP 侦听交换机不会受到 MAC 多播地址模糊问题的影响,并且可以以仅对 224.1.1.1 感兴趣的主机不会收到 224.129.1.1 的数据包的方式进行路由?
答案1
互联网草案IGMPv3 和 IGMP 侦听交换机认为以下情况在 IGMP 侦听交换机中最为常见:
组成员身份仅基于多播 MAC 地址
换句话说:IP 到 MAC 多播地址最常见的 IGMP 侦听交换机仍然存在歧义。
这是有道理的:正常多播流量的路由,即所有未设置“路由器警报”IP 标志的多播数据包(不包括 IGMP 报告,这些数据包确实需要在第 3 层进行监听和检查)可以在第 2 层完成,这样效率更高。
然而,这些 CISCO 文档指示可配置性:
您可以为每个 VLAN 配置 IGMP 侦听查找方法。第 3 层 IGMP 侦听查找使用第 2 层多播表中的目标 IP 地址(这是默认设置)。第 2 层 IGMP 侦听查找使用第 2 层多播表中的目标 MAC 地址。