视频会议花屏找丢包:iPCA端到端染色统计按周期出账

整理自华为官方发布的典型配置案例。

视频会议一卡一花屏,语音断断续续,八成是路径上在丢包。可丢包查起来最难:ping只能证明当下通不通,端口计数器又分不清丢的是谁的业务。华为的iPCA(网络包守恒算法)换了个思路——直接对业务报文做标记,报文进网络时染色、出网络时对账,哪个周期少了多少包一目了然。它对语音、视频这类对丢包敏感的业务做定点统计,不需要镜像、不占额外带宽,二三层网络都适用。和镜像抓包、流量统计那些手段比,iPCA统计的是你指定的那条业务流本身,报表直接回答"这条流每个周期丢了多少",中间节点逐跳部署后还能定位到具体哪一跳在丢。

组网与角色

官方案例的现象是:企业分支与总部用户开视频会议出现花屏、语音延迟,希望对这条业务流做丢包统计,丢包率超7%提前告警,回落到5%以下再报恢复。

配置里三个角色:Switch_1作为DCP1,业务流入口GE1/0/1绑定为测量起点,报文在此染色;Switch_2作为DCP2,出口GE1/0/1是测量终点,报文在此褪色对账;Switch_2同时兼任MCP,把两台DCP的数据汇总出报表,并挂上7%超限、5%恢复两条告警阈值。

开工前有两个硬前提,官方注意事项写得很清楚:一是各设备先配好NTP做到时间同步,时间不同步统计就没法对周期;二是DCP ID、MCP ID必须用设备上实际存在且彼此路由可达的IP地址。另外转发过程中会被改写报文内容的场景(NAT、隧道封装、改优先级)会影响精确匹配,规划测量点时避开这些节点。

Switch_1:DCP1 染色起点

<HUAWEI> system-view
[HUAWEI] sysname Switch_1
[Switch_1] nqa ipfpm dcp //使能全局的DCP功能。
[Switch_1-nqa-ipfpm-dcp] dcp id 10.1.1.1 //配置DCP ID为10.1.1.1。
[Switch_1-nqa-ipfpm-dcp] instance 1 //在DCP上创建统计实例的标识为1。
[Switch_1-nqa-ipfpm-dcp-instance-1] mcp 10.2.1.1 //配置DCP上统计实例所属的MCP。
[Switch_1-nqa-ipfpm-dcp-instance-1] flow bidirectional source 10.1.1.0 24 destination 10.2.1.0 24 //配置DCP上统计实例中目标流为双向对称目标流,源地址为10.1.1.0网段,目的地址为10.2.1.0网段。
[Switch_1-nqa-ipfpm-dcp-instance-1] tlp 1 in-point ingress //配置TLP的ID为1,对进入的目标流进行染色操作,目标流进入该TLP。
[Switch_1-nqa-ipfpm-dcp-instance-1] quit
[Switch_1-nqa-ipfpm-dcp] quit
[Switch_1] interface gigabitethernet 1/0/1
[Switch_1-GigabitEthernet1/0/1] ipfpm tlp 1 //在接口上绑定TLP。
[Switch_1-GigabitEthernet1/0/1] quit
[Switch_1] nqa ipfpm dcp
[Switch_1-nqa-ipfpm-dcp] instance 1
[Switch_1-nqa-ipfpm-dcp-instance-1] loss-measure enable continual //使能DCP上统计实例的连续丢包统计功能。
[Switch_1-nqa-ipfpm-dcp-instance-1] quit
[Switch_1-nqa-ipfpm-dcp] quit

视频会议是双向流,flow bidirectional把它拆成前后向两条单向流分别统计。

Switch_2:DCP2 测量终点兼 MCP

DCP2配置与DCP1对称,测量点换成out-point egress:

<HUAWEI> system-view
[HUAWEI] sysname Switch_2
[Switch_2] nqa ipfpm dcp
[Switch_2-nqa-ipfpm-dcp] dcp id 10.2.1.1
[Switch_2-nqa-ipfpm-dcp] instance 1
[Switch_2-nqa-ipfpm-dcp-instance-1] mcp 10.2.1.1
[Switch_2-nqa-ipfpm-dcp-instance-1] flow bidirectional source 10.1.1.0 24 destination 10.2.1.0 24
[Switch_2-nqa-ipfpm-dcp-instance-1] tlp 2 out-point egress
[Switch_2-nqa-ipfpm-dcp-instance-1] quit
[Switch_2-nqa-ipfpm-dcp] quit
[Switch_2] interface gigabitethernet 1/0/1
[Switch_2-GigabitEthernet1/0/1] ipfpm tlp 2
[Switch_2-GigabitEthernet1/0/1] quit
[Switch_2] nqa ipfpm dcp
[Switch_2-nqa-ipfpm-dcp] instance 1
[Switch_2-nqa-ipfpm-dcp-instance-1] loss-measure enable continual
[Switch_2-nqa-ipfpm-dcp-instance-1] quit
[Switch_2-nqa-ipfpm-dcp] quit

MCP汇总并设阈值,超限7%、恢复5%:

[Switch_2] nqa ipfpm mcp //使能全局的MCP功能。
[Switch_2-nqa-ipfpm-mcp] mcp id 10.2.1.1 //配置MCP ID为10.2.1.1。
[Switch_2-nqa-ipfpm-mcp] instance 1 //在MCP上创建统计实例的标识为1。
[Switch_2-nqa-ipfpm-mcp-instance-1] dcp 10.1.1.1 //在MCP统计实例上关联标识为10.1.1.1的DCP。
[Switch_2-nqa-ipfpm-mcp-instance-1] dcp 10.2.1.1 //在MCP统计实例上关联标识为10.2.1.1的DCP。
[Switch_2-nqa-ipfpm-mcp-instance-1] loss-measure ratio-threshold upper-limit 7 lower-limit 5 //配置MCP统计实例的丢包超限告警阈值为7%,恢复告警的丢包率阈值为5%。
[Switch_2-nqa-ipfpm-mcp-instance-1] quit
[Switch_2-nqa-ipfpm-mcp] quit
[Switch_2] quit

看报表

在MCP上按统计实例出丢包账单,前后向流量分开列:

<Switch_2> display ipfpm statistic-type loss instance 1
Latest loss statistics of forward flow:
Unit: p - packet, b - byte
------------------------------------------------------------------------------------------
 Period               Loss(p)              LossRatio(p)  Loss(b)              LossRatio(b)
------------------------------------------------------------------------------------------
 127636768            381549               4.514649%     40444194             4.514649%
 127636767            381528               4.514620%     40441968             4.514620%
 127636766            381318               4.514996%     40419708             4.514996%

Latest loss statistics of backward flow:
Unit: p - packet, b - byte
------------------------------------------------------------------------------------------
 Period               Loss(p)              LossRatio(p)  Loss(b)              LossRatio(b)
------------------------------------------------------------------------------------------
 127636768            381087               4.513306%     40395222             4.513306%
 127636767            381129               4.513384%     40399674             4.513384%
 127636766            381465               4.513444%     40435290             4.513444%

每个统计周期一行,丢包数与丢包率并排出账:连续看几个周期,趋势比单点数值更能说明问题。超限告警触发后会进设备日志,配合网管告警就能在用户投诉之前先知道网络在劣化。周期性统计还有个附带好处——丢包出现的时段本身就是线索:固定整点丢包增多,先查那段时间有没有备份、同步类任务在抢带宽;随机散丢则更多往线路质量和光链路上怀疑。

这套机制的价值在于把"丢包"从玄学变成账目:业务流自己证明自己丢了多少,责任边界清清楚楚。开会卡顿再不用靠猜,贵州诚鑫致达科技可以帮你把关键业务流纳入丢包监控,欢迎搜索关注交流。

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

做中小企业全能主力存储,群晖机型参考:DS1823xs+ · DS2422+ · DS923+。需要选型建议或上门评估,搜「诚鑫致达」即可找到我们。

服务区域|贵州诚鑫致达

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