我有一个在端口1-5的多播通道。在2号端口我有一台电脑。两者都是在VLAN 10无标记和一个更大的网络标记在端口3。
我使用: config、vlan 10、igmp、IGMP查询器启用了igmp
一切似乎都开始了,唯一的问题是,当它得到更多的查询工作时,它仍然把所有的5个渠道推到我的PC上的TCPdump上。
你知道为什么igmp不能正常工作吗?
发布于 2018-07-11 15:00:42
由于PC没有发送任何IGMP加入,您不能真正受益于IGMP窥探。
IGMP监听依赖于侦听(监听)传递IGMP数据包。这些数据包包含PC想要加入的多播组的信息。然后,交换机能够决定要向组发送多播通信量的端口以及要阻止的端口。
现在考虑一个IGMP不运行的组。源和接收器需要在同一个VLAN上。如果在本例中启用了IGMP窥探,并且没有IGMP通信量来窥探,则该交换机的IGMP侦听表中将没有任何端口用于该组,因此流量将被黑洞。为了避免这种情况,如果交换机没有为组接收任何IGMP数据包,它就不会跟踪组,而是淹没通信量。
因此,在您的示例中,由于没有IGMP数据包,组不被学习,因此流量被淹没。
您可以尝试在L3交换机上为VLAN10配置IGMP,尽管如果PC现在没有发送连接,则当它获得查询时可能不会发送它们。
注意:一些供应商只为源实现了一个特性,在VLAN上没有接收者的情况下,可以通过侦听组播源来学习组。IGMP还添加了可以听到IGMP查询器的端口,因此现在交换机可以有效地将流量从源转发到路由器,而无需淹没和不接收任何IGMP数据包。
以下是RFC 4541中讨论这个问题的部分:
未注册分组定义为具有目标地址的IPv4多播分组,该地址与先前IGMP成员资格报告中宣布的任何组不匹配。如果交换机收到未注册的数据包,则必须在IGMP路由器所连接的所有端口上转发该数据包。交换机可以默认在所有端口上转发未注册的数据包。未将未注册数据包转发到所有端口的交换机必须包括一个配置选项,以强制在指定端口上淹没未注册的数据包。
因此,如果您尝试上述建议(在L3核心交换机的VLAN 10上配置“igmp”),您的核心将发送IGMP查询,然后交换机可以了解IGMP路由器的位置。然后,它可能会恢复到仅将未注册组的任何通信量发送到核心。
发布于 2018-07-11 16:19:39
您需要运行show ip igmp来检查IGMP窥探是否配置正确并按要求工作。
我们只使用vlan <vid> ip igmp。我不知道ip igmp querier到底做了什么,手册没有提供太多细节--我认为它开启了默认情况下的查询功能。
vlan <vid> ip igmp querier help显示器
Description: Specify querier/non-querier capability for the VLAN. IGMP
queries are not sent when the mode is disabled. When
enabled, the device cannot become Querier for the subnet
unless the VLAN has an IP Address (use the 'show ip' command
to determine this). Each subnet must have at least one IGMP
Querier-capable device in order for IGMP to function
properly. The querier interval setting modifies the time (in
seconds) between IGMP queries.因此,确保在VLAN上配置了IP地址,或者有另一个交换机/设备用作查询器。
https://networkengineering.stackexchange.com/questions/51719
复制相似问题