4. 健康诊断指标体系
在高速以太网(100G/200G/400G/800G)运维中,链路“通不通”只是最低要求,真正决定业务体验的是链路“好不好”。健康诊断指标体系的作用,就是把“好不好”拆解成一组可采集、可比较、可告警的量化指标,并明确每个指标在芯片、模块、端口、队列等不同位置的采集点。本节围绕链路误码、FEC纠错、眼图余量、时延抖动、丢包、拥塞、PFC/ECN七类核心指标展开,说明它们的物理含义、典型采集位置以及相互之间的因果链。
一、物理层指标:误码与FEC纠错
链路误码通常用误码率(BER)或误码计数表示。在PAM4高速链路上,原始误码率(Pre-FEC BER)可能高达1e-5~1e-4,必须依靠FEC才能达到1e-12以下的业务可用水平。采集点主要分布在三个位置:SerDes PMA层的符号错误统计、PCS层的FEC解码前误码、以及FEC解码后的残余误码。工程上最常用的是Pre-FEC BER和Post-FEC BER两个值,前者反映物理链路质量,后者反映最终交付给MAC层的可靠性。
FEC纠错指标包括纠正的码字数(Corrected Codewords)、不可纠正码字数(Uncorrectable Codewords)、以及FEC符号错误分布。以RS(544,514)为例,每544个符号中可纠正15个符号错误。若某端口每秒纠正码字数持续上升,说明链路余量在下降;一旦出现不可纠正码字,就会直接导致丢包。采集点位于PCS子层的FEC解码器输出,可通过芯片寄存器或端口统计计数器读取。
二、信号质量指标:眼图余量
眼图余量(Eye Margin)衡量接收端在采样时刻对噪声和抖动的容忍度,常用水平眼高(Eye Height)和垂直眼宽(Eye Width)表示,也可用BER轮廓(BER Contour)或眼图模板余量(Mask Margin)量化。采集点位于接收端SerDes的CDR之后、均衡器输出处。实际工程中,通过芯片内置的眼图扫描(Eye Scan)功能,可以在不中断业务的情况下获取二维眼图,并计算在目标BER(如1e-6)下的眼高和眼宽。
眼图余量的典型判据是:在目标BER下,眼高和眼宽均需大于模板要求的20%以上。若余量低于10%,链路在温度变化或电压波动时极易出现误码突增。眼图余量是预测性指标,适合用于链路质量趋势分析和模块替换决策。
三、网络层指标:时延抖动与丢包
时延抖动(Jitter)分为两类:物理层抖动(TJ/RJ/DJ)和网络层时延抖动(PDV,Packet Delay Variation)。物理层抖动由SerDes和参考时钟决定,采集点在CDR和PLL输出;网络层时延抖动则通过带时间戳的探测报文(如TWAMP、INT)测量,采集点在端口入队列和出队列的时间戳寄存器。对于金融交易、工业控制等场景,PDV超过100μs即可能影响业务。
丢包指标包括丢包计数、丢包率、丢包突发长度。采集点分布在MAC层、队列出口和FEC解码后。需要区分三类丢包:FEC不可纠正导致的物理丢包、队列溢出导致的拥塞丢包、以及ACL/策略导致的主动丢包。只有定位到丢包类型,才能选择正确的处理路径。
四、拥塞与流控指标:PFC/ECN
拥塞通过队列深度、队列丢弃计数、端口利用率、缓存占用率等指标刻画。采集点在入方向队列和出方向队列的统计寄存器。当出队列深度持续超过阈值(如80%缓存),说明下游存在瓶颈。
PFC(Priority Flow Control)指标包括PFC帧发送计数、PFC帧接收计数、每优先级暂停时长。采集点在MAC控制子层。PFC帧频繁发送说明下游队列即将溢出,但PFC本身会引发队头阻塞和死锁风险,因此需要结合PFC风暴检测。
ECN(Explicit Congestion Notification)指标包括ECN标记包计数、ECN标记率、以及CE(Congestion Encountered)比例。采集点在IP层转发路径的队列管理模块。ECN标记率上升说明拥塞正在形成,但尚未达到丢包程度,是比PFC更温和的拥塞信号。
五、指标间的因果传导与诊断顺序
七类指标并非孤立,而是存在明确的因果传导链。物理层眼图余量下降会导致Pre-FEC BER上升;Pre-FEC BER上升会使FEC纠正计数增加;当误码超出FEC纠错能力时,出现不可纠正码字并导致丢包;同时,链路误码和丢包会引发重传,重传又加剧拥塞,拥塞触发PFC或ECN标记,PFC风暴反过来造成更多丢包。因此,诊断时应遵循“从物理层到网络层、从预测性指标到结果性指标”的顺序。
实际排查中,建议先观察Pre-FEC BER的长期趋势,若其缓慢上升,再检查眼图余量是否同步下降,从而判断是模块老化、光纤污染还是温度漂移。若Pre-FEC BER正常但丢包计数上升,则应转向队列深度、PFC帧计数和ECN标记率,判断是否为拥塞导致。这种分层定位方法可以避免在错误的层级反复排查。
六、采集点与采集方式对照
| 指标 | 典型采集点 | 采集方式 | 告警阈值示例 |
|---|---|---|---|
| Pre-FEC BER | PMA/PCS层 | 芯片寄存器轮询 | >1e-6 关注,>1e-5 告警 |
| FEC纠正码字数 | PCS FEC解码器 | 统计计数器差值 | 每秒增速 >1000 关注 |
| 眼图余量 | RX SerDes CDR后 | Eye Scan / 模板测试 | Mask Margin <20% 告警 |
| 时延抖动 | 端口时间戳寄存器 | TWAMP / INT探针 | PDV >100μs 关注 |
| 丢包率 | MAC层 / 队列出口 | 计数器差值 | >0.001% 告警 |
| 队列深度 | 出队列统计 | 寄存器轮询 | >80%缓存 告警 |
| PFC帧计数 | MAC控制子层 | 计数器差值 | 每秒 >100 关注 |
| ECN标记率 | IP队列管理 | 计数器差值 | >5% 关注 |
七、指标采集的工程实现要点
在工程实现上,指标采集需要解决三个问题:采集频率、数据精度和关联分析。采集频率方面,Pre-FEC BER和FEC计数建议每10秒轮询一次,眼图余量可每5分钟扫描一次,PFC/ECN计数建议每1秒采集一次以捕捉突发。数据精度方面,计数器通常为32位或64位,需注意回绕处理,建议使用差值法而非绝对值判断。关联分析方面,应将同一端口的物理层指标、队列指标和流控指标打上统一时间戳,便于回溯因果链。
以某400G端口为例,假设每10秒采集一次,Pre-FEC BER从1e-7缓慢升至8e-6,同时FEC纠正码字数从每秒200升至每秒1500,眼图余量从35%降至18%,而丢包计数仍为0。此时链路尚未丢包,但已进入亚健康状态,应触发预警并安排模块更换或光纤清洁。若等到丢包计数上升再处理,业务已经受到影响。这正是健康诊断指标体系的核心价值:在业务受损之前发现劣化趋势。
综上,链路误码、FEC纠错、眼图余量、时延抖动、丢包、拥塞、PFC/ECN七类指标分别覆盖了从物理层到流控层的完整观测面。理解每个指标的定义、采集点和相互传导关系,是构建高速网络健康诊断系统的基础。实际部署时,应结合芯片能力、业务SLA和运维成本,选择合理的采集粒度和告警阈值,形成可落地的指标体系。