监控组播一条链路扛不住?让组播流摊到几条等价路上走

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

监控、IPTV这类组播业务一上量,网络里就会出现一个怪现象:明明源到接收者之间有三条等价路径,单播流量三五分流跑得欢,组播流量却死认一条路,其余两条干瞪眼。原因在组播的路由检查规则——RPF检查默认只在等价路由里挑一条来转发,流量一大,那条独木桥就开始丢包,业务画质跟着遭殃。

解决办法是打开组播负载分担,把不同的组播表项摊到几条等价路径上。官方案例的组网很典型:源经SwitchA,中间SwitchB、SwitchC、SwitchD三条等价路径,全部汇到接收者侧的SwitchE,HostA挂在SwitchE下面长期收流。下面按案例步骤走。

第一步,全网接口地址配好,跑IS-IS单播互通,且所有路由开销一致——等价关系是负载分担的前提,开销不一致就谈不上等价。

第二步,所有交换机使能组播路由,各接口使能PIM-SM,并把SwitchA的环回口设成静态RP:

[SwitchA] multicast routing-enable
[SwitchA] interface vlanif 10
[SwitchA-Vlanif10] pim sm
[SwitchA-Vlanif10] quit
[SwitchA] interface vlanif 20
[SwitchA-Vlanif20] pim sm
[SwitchA-Vlanif20] quit
[SwitchA] pim
[SwitchA-pim] static-rp 10.1.1.1
[SwitchA-pim] quit

第三步,在接收者侧的SwitchE上配置稳定优先的负载分担。这个模式的意思是:组播表项一旦摊到某条路径上,就稳定待着不折腾,只有拓扑变化才重新分布,避免表项在等价路之间反复横跳:

[SwitchE] multicast load-splitting stable-preferred

第四步,让HostA长期收的频道以静态方式批量加入。用递增掩码方式一次加三个组:

[SwitchE] interface Vlanif140
[SwitchE-Vlanif140] igmp static-group 225.1.1.1 inc-step-mask 32 number 3
[SwitchE-Vlanif140] quit

验证时看SwitchE的PIM路由表概要:225.1.1.1到225.1.1.3这些表项的上游接口,会分别落在三条等价链路上——一条链路一个频道,各走各的,谁也不挤谁。

第五步是进阶玩法:几条链路带宽不一样怎么办?给接口配权值,做不均衡分担。比如把三条上游链路按能力分成三档:

[SwitchE] interface Vlanif60
[SwitchE-Vlanif60] multicast load-splitting weight 3
[SwitchE-Vlanif60] quit
[SwitchE] interface Vlanif80
[SwitchE-Vlanif80] multicast load-splitting weight 2
[SwitchE-Vlanif80] quit

权值大的口会分到更多组播表项,随后再静态加入三个新频道(225.1.1.4到225.1.1.6)验证,表项会按权值比例重新分布。负载分担算法对(*,G)和(S,G)表项分别处理、规则相同,不管业务是任意源组播还是指定源组播都能摊开。

有两个容易忽略的点:一是stable-preferred之外还有按源、按组分担等模式,选型看业务形态——频道多而稳定选稳定优先,源侧切来切去多的场景再细究;二是改分担模式或权值会引起表项重分布,收流会出现短暂中断,安排在业务低峰做。

酒店、园区这类IPTV和监控并存的网络里,组播负载分担值得列为标配:三链路跑一条链路的流量纯属浪费,摊开之后链路利用率上来了,画面卡顿的工单也就下去了。欢迎搜索关注贵州诚鑫致达科技,了解更多组播网络优化实战配置。

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

做海量监控接入与长期归档,群晖机型参考:HD6500 · RS3621xs+ · DS2422+。需要选型建议或上门评估,搜「诚鑫致达」即可找到我们。

服务区域|贵州诚鑫致达

贵州群晖NAS、贵阳存储、数据备份、信创云盘或 IT 集成服务,可联系贵州诚鑫致达科技,服务范围覆盖贵州全省各市州。云南昆明企业 NAS 存储方案与备份容灾,支持远程与上门服务。