(1)当二层设备上没有开启IGMP Snooping时,用户能否收到组播数据,请说明原因。

可以收到,原因如下:

1)交换机收到流量,根据目标MAC地址的第8bit判断是否为组播数据,如果第8bit为1,则为组播数据,否则为单播数据。

2)交换机收到组播数据,默认在广播域内泛洪。即如果二层网络vlan设置正确,在一个广播域内,正常能够收到组播数据。

(2)在当前的环境中,哪个端口属于路由器口,是如何产生的?

SW1的G0/0/1为路由器端口,路由器端口可以通过两种方式产生:

1)手动指定连接PIM路由,IGMP查询器的三层设备为路由端口,配置如下:

依图:

igmp-snooping enable //全局使能igmp-snooping功能
igmp-snooping enable vlan1 //针对vlan 1使能igmp-snooping
interface GigabitEthernet0/0/1 
igmp-snooping static-router-port vlan 1 //指定该接口为vlan 1的路由接口

2)G0/0/1接口收到PIM hello报文或者IGMP查询消息,且消息的源地址非0,那么将该接口作为路由器接口,如果已经作为路由器接口,则刷新老化计时器。

(3)设备配置igmp Snooping后,导致一些用户无法收到组播数据,可能有什么原因导致(至少说出两点)

因为开启igmp Snooping之后,交换机监听IGMP消息,根据生成的路由器和成员接口表项,维系2层组播转发表(L2-multicastforwarding-table)。如果部分用户而非所有用户无法收到,原因可能如下:

A.如果成员端口是手动指定,那么可能手动指定错误,导致l2-multicast forwarding-table中不存在该用户接口,无法泛洪数据。

B.部分成员端口提前老化,导致l2-multicastforwarding-table中没有该用户接口。

情况一:二层设备配置的igmp snooping查询间隔比上游查询器设置的小

则本地igmp Snooping设备的成员端口老化时间根据本地设置计算,如果小于上游查询间隔,则会发生本地igmp Snooping成员端口提前老化,导致组播数据无法从该端口转发。

情况二:成员端口配置快速离开功能

如果成员端口下有多个成员主机,其中一个主机发送离组消息,在开启快速离开功能时,配置如下:

vlan 1
igmp-snooping prompt-leave

交换机不会发送特定组查询,直接删除成员接口,导致其他成员主机接收不到组播数据。