用户只订了一个频道的组播却收到五个?华为IGMP基本功能加过滤策略

本文整理自华为官方发布的典型配置案例,命令与步骤均按原始文档呈现,供现场实施参考。

企业里跑组播业务的场景不少:园区 IPTV、监控视频分发、培训直播流。常见的需求是"按订阅分配"——不同用户群买了不同的节目包,A 用户群只该收到自己订阅的那一路组播,B 用户群可以全收。如果交换机侧不做限制,用户端软件一发起加入请求,什么组都收得到,订阅管理就成了空话。

华为交换机的做法是:三层接口上开 IGMP 收用户的加入请求,再用 ACL 组过滤策略限定该接口能加入的组播组范围。本文示例:PIM 网络中传播视频的组播组为 225.1.1.1~225.1.1.5;SwitchA 连接用户网段 N1,其中的 HostA 只购买了 225.1.1.1 的节目;SwitchB 连接用户网段 N2,HostC 购买了全部节目。目标是 HostA 只能收到 225.1.1.1,HostC 不限。

先说一个文档里的前提警告:该场景下请确保互联接口的 STP 处于未使能状态,同时将互连接口退出 VLAN1,避免形成环路——因为在使能 STP 的环形网络中,若用交换机的 VLANIF 接口构建三层网络,会导致某个端口被阻塞,三层业务无法正常运行。

第一步,配接口 IP 和单播路由(组播工作的基础)。SwitchA 为例:

<HUAWEI> system-view
[HUAWEI] sysname SwitchA
[SwitchA] vlan batch 10 11
[SwitchA] interface gigabitethernet 1/0/0
[SwitchA-GigabitEthernet1/0/0] port link-type hybrid
[SwitchA-GigabitEthernet1/0/0] port hybrid untagged vlan 10
[SwitchA-GigabitEthernet1/0/0] port hybrid pvid vlan 10
[SwitchA-GigabitEthernet1/0/0] quit
[SwitchA] interface gigabitethernet 2/0/0
[SwitchA-GigabitEthernet2/0/0] port link-type trunk
[SwitchA-GigabitEthernet2/0/0] port trunk allow-pass vlan 11
[SwitchA-GigabitEthernet2/0/0] quit
[SwitchA] interface vlanif 10
[SwitchA-Vlanif10] ip address 10.110.1.1 24
[SwitchA-Vlanif10] quit
[SwitchA] interface vlanif 11
[SwitchA-Vlanif11] ip address 192.168.1.1 24
[SwitchA-Vlanif11] quit
[SwitchA] ospf
[SwitchA-ospf-1] area 0
[SwitchA-ospf-1-area-0.0.0.0] network 10.110.1.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0] quit
[SwitchA-ospf-1] quit

第二步,全局使能组播路由,各接口使能 PIM-SM:

[SwitchA] multicast routing-enable
[SwitchA] interface vlanif 10
[SwitchA-Vlanif10] pim sm
[SwitchA-Vlanif10] quit
[SwitchA] interface vlanif 11
[SwitchA-Vlanif11] pim sm
[SwitchA] quit

第三步,全网配统一的静态 RP(本例为 SwitchD 的 VLANIF40 地址 192.168.4.1,所有交换机都要配):

[SwitchA] pim
[SwitchA-pim] static-rp 192.168.4.1
[SwitchA-pim] quit

第四步,在面向用户的接口上使能 IGMP:

[SwitchA] interface vlanif 10
[SwitchA-Vlanif10] igmp enable
[SwitchA-Vlanif10] quit

第五步,关键限制:建 ACL 只放行 225.1.1.1,应用到 SwitchA 的用户接口:

[SwitchA] acl number 2001
[SwitchA-acl-basic-2001] rule permit source 225.1.1.1 0
[SwitchA-acl-basic-2001] quit
[SwitchA] interface vlanif 10
[SwitchA-Vlanif10] igmp group-policy 2001
[SwitchA-Vlanif10] quit

验证两步。先看接口 IGMP 状态与策略挂载:

[SwitchA] display igmp interface vlanif 10
Interface information of VPN-Instance: public net 
 Vlanif10(10.110.1.1):
  IGMP is enabled
  Current IGMP version is 2
  IGMP state: up 
  IGMP group policy: 2001 
  IGMP limit: - 
  Value of query interval for IGMP (negotiated): -
  Value of query interval for IGMP (configured): 60 s 
  Value of other querier timeout for IGMP: 0 s 
  Value of maximum query response time for IGMP: 10 s
  Querier for IGMP: 10.110.1.1 (this router)
 Total 1 IGMP Group reported

再对比两台交换机的 PIM 路由表:SwitchA 上只有 225.1.1.1 的表项,而未配过滤的 SwitchB 上有 225.1.1.1 和 225.1.1.2 等多个表项——过滤策略精确生效。组播这一套(单播路由打底、PIM-SM 组网、静态 RP 统一、IGMP 面向用户、ACL 管订阅)结构清晰,照着搭不容易乱。企业要上组播业务时,订阅权限这类细节建议在接入三层口就规划进去,方案设计欢迎找贵州诚鑫致达科技一起把关。

企业存储选型参考|贵州诚鑫致达

做核心业务 SAN 存储与高可靠应用,群晖机型参考:UC3400 · UC3200 · SA3600。需要选型建议或上门评估,搜「诚鑫致达」即可找到我们。

服务区域|贵州诚鑫致达

贵州群晖NAS、贵阳存储、数据备份、信创云盘或 IT 集成服务,可联系贵州诚鑫致达科技,服务范围覆盖贵州全省各市州。四川成都群晖存储部署、机房建设与数据安全集成服务。