业务配置
在交换机上配置igmp snooping 包括以下内容。
1. 使能或关闭igmp snooping 功能
set igmp snooping {enable|disable}
igmp snooping 功能的缺省状态是关闭的。
当igmp snooping 功能关闭时,对于组播流根据set port multicast-filter 命令的配置进行处理,如果选择参数disable 则对相应端口进行转发,如果选择enable 则对相应端口丢弃。
使能igmp snooping 功能后,对于组播流首先根据监听到的组播转发表来转发,如果没有查找到该组播转发表,则按照上述的配置针对端口决定转发或丢弃。
当igmp snooping 关闭时,对于非路由端口,最好关闭端口的组播转发功能;而对于路由端口,最好开启端口的组播转发功能。
2. 添加对指定vlan 的igmp snooping 功能
set igmp snooping add vlan [vlanlist]
3. 删除对指定vlan 的igmp snooping 功能
set igmp snooping delete vlan [vlanlist]
只有添加对指定的vlan 进行组播监听的功能,才能监听到相应的组播转发表。本交换机最多支持同时监听256 个vlan。
4. 使能或关闭对指定vlan 的igmp query 功能
set igmp snooping query vlan [vlanlist] {enable|disable}
使能了igmp snooping 功能后,如果没有igmp query 路由器存在,则无法完成正常的igmp snooping 的功能,这时可以开启交换机的igmp query 的功能。
如果所监听的vlan 存在igmp query 路由器,最好关闭本交换机的igmp query 功能。交换机运行的igmp query 版本是v2.0,遵循v2.0 igmp query 路由器选举功能。当配置了三层端口的ip 和mac 地址,则igmp query 的源ip 和源mac 使用三层配置;否则使用223.255.255.255 和交换机的mac 地址作为igmp query 的源。
5. 添加基于vlan 的静态组播组
set igmp snooping vlan [vlanname] add group [a.b.c.d]
6. 删除基于vlan 的静态组播组
set igmp snooping vlan [vlanname] delete group [a.b.c.d]
当已添加了基于此vlan 和某些端口的静态组播组后,则不再允许添加仅基于此vlan 的静态组播组;同时,当删除基于vlan 的静态组播组时,则已添加了基于此vlan 和某些端口的静态组播组也被同时清除。
7. 添加基于vlan+端口或vlan+聚合口的静态组播组
set igmp snooping vlan [1-4094] add group [a.b.c.d] port [portlist]
或set igmp snooping vlan [1-4094] add group [a.b.c.d] trunk [trunklist]
8. 删除基于vlan+端口或vlan+聚合口的静态组播组
set igmp snooping vlan [1-4094] delete group [a.b.c.d] port [portlist]
或set igmp snooping vlan [1-4094] delete group [a.b.c.d] trunk [trunklist]
或set igmp snooping vlan [1-4094] delete group [a.b.c.d]
当运行了igmp snooping 的功能,允许以本交换机的名义注册基于vlan 或基于vlan+端口的静态组播组,本交换机支持最多对64 个静态组播组的注册。
注册的静态组播组只能是用户组播地址224.x.x.x~239.x.x.x,不能是保留的组播地址。224.0.0.x 的组播地址不允许注册。
注册的静态组播组所在vlan 必须是已被监听的vlan。
9. 设置基于vlan 的组播组数目限制
set igmp snooping add maxnum [1-256] vlan [vlanlist]
10. 清除基于vlan 的组播组数目限制
set igmp snooping delete maxnum vlan [vlanlist]
缺省状态下,每个被监听的vlan 所能建立的组播组数目为256,当设置了此vlan 的组播组数目后,此vlan 上所能建立的组播组条目不会大于此vlan 限制的组播组数目。
11. 设置组播成员/路由超时
set igmp snooping timeout [100-2147483647] {host|router}
12. 设置查询周期
set igmp snooping query_interval [10-2147483647]
13. 设置查询响应周期
set igmp snooping response_interval [10-250]
14. 设置最后的成员查询周期
set igmp snooping lastmember_query [10-250]
15. 使能或关闭igmp 的快速离开功能
set igmp snooping fastleave {enable|disable}
运行了igmp snooping 功能,并正确地监听到了主机加入的端口后,当该端口收到igmp 离开报文时,如果关闭了igmp 的快速离开功能,则交换机将向该端口发送两次特定组查询,以确认是否在组播转发表中删除该端口;如果使能了igmp 的快速离开功能,则不进行特定组查询,直接从组播转发表中删除该端口。
当跨vlan 的组播监听从使能状态变为关闭状态时,经过跨vlan 组播监听的某些监听结果要经过相应的超时时长才能正确删除掉。
16. 使能或关闭跨vlan 的igmp snooping 功能
set igmp snooping crossvlan {enable|disable}
当运行了igmp snooping 功能,并利用pvid(default vlan_id)正确地配置一对多的端口转发形式后,可以利用本交换机跨vlan 的igmp snooping 功能对不同vlan 之间的igmp 信息进行监听并进行跨vlan的组播转发。
17. 使能或关闭组播过滤功能
set igmp filter {enable|disable}
组播过滤功能的缺省状态是关闭的。
当使能组播过滤功能后,对于组播加入请求的处理,将按照添加的组播过滤条目对其进行过滤后再进行处理;如果组播过滤功能关闭,对于端口的加入请求,将不作任何基于源地址或组地址的过滤操作。
18. 添加基于vlan 的组播组地址过滤
set igmp filter add groupip [a.b.c.d] vlan [vlanlist]
在组播过滤使能后,设置了基于vlan 的组播组地址过滤条目后,此vlan内的端口如果收到组地址为此过滤地址的组播加入请求时,本端交换机不对此端口的加入请求进行处理。
19. 删除基于vlan 的组播组地址过滤
set igmp filter delete groupip [a.b.c.d] vlan [vlanlist]
20. 添加基于vlan 的组播源地址过滤
set igmp filter add sourceip [a.b.c.d] vlan [vlanlist]
在组播过滤使能后,设置了基于vlan 的组播源地址过滤条目后,此vlan内的端口如果收到源地址为此过滤地址的组播加入请求时,本端交换机不对此端口的加入请求进行处理。
21. 删除基于vlan 的组播源地址过滤
set igmp filter delete sourceip [a.b.c.d] vlan [vlanlist]
22. 显示组播监听的配置
show igmp snooping
23. 显示组播监听结果
show igmp snooping vlan [[vlanname] [host|router]]
24. 显示组播过滤状态
show igmp filter
25. 显示某监听vlan 的组播地址过滤条目
show igmp filter vlan [1-4094]