IGMP Snooping是Internet Group Management Protocol Snooping(互联网组管理协议窥探)的简称,它是运行在二层设备上的组播约束机制,用于管理和控制组播组。
功能作用:运行IGMP Snooping 的设备通过对收到的IGMP 报文进行分析,为端口和组播地址建立起映射关系,并根据这样的映射关系转发IP组播数据报文。当交换机没有运行IGMP Snooping时,IP组播数据报文在VLAN内被广播;当交换机运行了IGMP Snooping后,已知IP组播组的组播数据报文不会在VLAN内被广播,而是发给指定的接收者。
IGMP Snooping和IGMP协议一样,两者都用于组播组的管理和控制,它们都使用IGMP报文。IGMP协议运行在网络层,而IGMP Snooping则运行在链路层,当二层以太网交换机收到主机和路由器之间传递的IGMP报文时,IGMP Snooping分析IGMP报文所带的信息,在二层建立和维护MAC表,以后从路由器下发的组播报文就根据MAC表进行转发。IGMP Snooping只有在收到某一端口的IGMP离开报文或者某一端口的老化时间定时器超时的时候才会主动向端口发IGMP特定组查询报文,除此之外,它不会向端口发任何IGMP报文。
1.加入组播组
主机主动发送IGMP加入消息加入到特定的IGMP组,当交换机监听到加入报文的时候,就会为监听到的端口所在的vlan创建一个二层的转发条目,如果同一vlan中有其他主机要加入到同一IGMP组,则将他们添加到条目中,交换机为一个VLAN中的同一个组播组只创建一个转发条目,在收到某个组播请求报文的所有端口转发组播报文。当一个组在一个vlan中没有任何一个用户时,既没有监听到任何端口有发送加入请求报文的时候,则会向该vlan所有端口转发组播流量。
2.离开组播组;
加入到组播组的主机必须定期回应组播路由的查询报文,如果想要离开组,可以忽略组播路由器定期发送的查询报文,也可以发送一个指定组的IGMPv2离开报文.IGMP Snooping监听指定组的IGMPv2报文,并向特定端口发送查询消息,以查询该端口是否有同一组内的其他主机存在,如果发送多次查询消息得不到回应,则认为没有,交换机会删除二层转发条目中对应的端口关系,如果收到回应,则不修改转发表.
3.快速离开组播组
当交换机监听到指定组IGMPV2离开消息的时候,不发送查询消息,直接删除二层转发条目中对应的端口关系。如果这时候 某个端口上连接了多台主机,当其中一台离开了组后,该端口上同一组的其他的主机将无法收到该组的组播流量.
常用配置步骤及命令:
一:全局启用: ip igmp snooping
vlan下启用 igmp snooping
vlan 下快速离开功能 igmp snooping fast-leave
二;配置代理查询器:通常情况下一个组播网络中有至少一个组播路由器,定期发送IGMP查询报文,如果网络中没有组播路由器,这时候我们可以配置代理查询器,用于发送IGMP报文查询.
开启代理查询器功能: ip igmp snooping querler
设置查询间隔时间 ip igmp snooping query-interval 10
设置查询最大响应时间 ip igmp snooping query-response-interval
三:配置IGMP代理
当交换机开启了IGMP Snooping与组播路由器连接的时候,开启IGMP代理的作用主要有2点:
1.交换机收到组播路由器发送的查询报文后,会将自己通过IGMP Snooping监听到的报文进行上报,表明 哪些组中有哪些用户存在。
2.当交换机监听到某个组中第一个用户加入或者最后一个用户离开时,它会讲信息上报给组播路由器。
ip igmp snooping proxy
四:限制组播组
1.对组进行ACL过滤
igmp sooping acl 100
2.配置VLAN允许接入的最大组数目
igmp snooping max-group-num 5
3.配置VLAN中某一组允许接入的最大用户数
igmp snooping max-host-in-group 组播地址 用户数
4.配置某一物理端口允许接入的最大用户数
ip igmp snooping limit-num 5
五:静态配置
1.配置vlan下的静态用户 ip igmp snooping static 192.168.1.2 interface f0/1
2.配置vlan下的组播路由端口 igmp snooping mroute interface f0/1 当交换机与不发送查询报文的组播路由器相连时配置
六:IGMP Snooping的维护与诊断
show ip igmp snooping vlan 10 显示指定VLAN的配置信息
show ip igmp snooping port-info vlan 10 显示端口的配置信息
debug ip igmp snooping 调试跟踪