VDM 与 FEC 指标:PAM4 链路 · DDM/DOM 诊断 · 光模块与线缆 · 文档 · CodingBox
CodingBox 文档

VDM 与 FEC 指标:PAM4 链路

在每通道 50G 及以上速率下,光功率本身已不足以说明链路的健康状况:一条 Rx 功率完全正常的 PAM4 链路,可能只差一个脏污连接器就会出现不可纠正错误,而最先出现的征兆不是某个 dBm 读数,而是误码率。这个数字来自两个来源:在模块内部,CMIS 的 VDM(多功能诊断监测)按通道报告 pre-FEC BER、SNR 和激光器健康状态;在主机侧,FEC 解码器统计已纠正和未纠正的码字数量。两者结合,可以在链路仍无损传输业务时,显示它距离失效还有多远。

FEC 为何改变了诊断方式

每一种基于 PAM4 的 25G+ 以太网 PMD(以及大多数 25G NRZ PMD)都以 Reed-Solomon FEC 为前提。光模块允许输出 10⁻⁵–10⁻⁴ 的原始误码率,因为 FEC 会将其修正到 10⁻¹² 或更好。由此带来的后果是:一条正在劣化的链路,在 MAC 层看来完全没有错误,直到越过 FEC 的纠正极限才会突然失效。pre-FEC BER 是唯一能平滑反映余量变化的指标。

FEC编码每码字纠正能力输出达到 10⁻¹² 所需的 pre-FEC BER 上限(近似值)应用场景
BASE-R(“FC-FEC”,Clause 74)Fire 码 (2112, 2080)11 位突发≈ 10⁻⁷ … 10⁻⁸,增益约 2 dB10G/25G NRZ、CA-25G-S
RS-FEC KR4(Clause 91/108)RS(528, 514) 基于 GF(2¹⁰)7 个符号≈ 5 × 10⁻⁵25GBASE-CR/SR/LR、100GBASE-SR4/CWDM4/CR4
RS-FEC KP4(Clause 119/134)RS(544, 514)15 个符号≈ 2.4 × 10⁻⁴所有 50G PAM4 通道:50G/100G/200G/400G/800G
级联码 / oFEC(相干)内码 + 外码—≈ 10⁻² … 2 × 10⁻²400ZR (CFEC)、OpenZR+ (oFEC)

配置不匹配的情况:FEC、自动协商与链路训练。

VDM:模块报告的内容

VDM 位于 CMIS 页 20h–2Fh 中(按每 8 通道分 bank),并在页 01h 中声明其支持能力。每个可观测量都有一个描述符(类型、通道)、一个实时采样值、四个阈值和标志位,与经典监测量完全一样。

页内容
20h–23h描述符:对应哪个可观测量、哪个通道、使用哪一组阈值
24h–27h采样值(每个 2 字节)
28h–2Bh阈值:高/低告警,高/低预警
2Ch–2Fh标志位与掩码

可观测量类型(CMIS 4.0/5.x)

ID可观测量单位/格式含义
1激光器寿命消耗% (U16)厂商估算的已消耗寿命
2TEC 电流占最大值的 % (S16)制冷器负载,参见 温度与电压
3激光器频率误差MHz (S16)DWDM/ZR:偏离标准频率栅格的程度
4激光器温度°C (S16, 1/256)制冷型激光器
5 / 6eSNR,媒质侧/主机侧输入dB (U16, 1/256)均衡后的电域信噪比,即 PAM4 的“眼高”;> 18–20 dB 为理想水平,< 15 dB 为临界水平(因厂商而异)
7 / 8PAM4 电平转换参数,媒质侧/主机侧dB四个电平的线性度
9 / 10pre-FEC BER 最小值,媒质侧/主机侧F16统计区间内的最优值
11 / 12pre-FEC BER 最大值F16统计区间内的最差值,是应设置告警的数值
13 / 14pre-FEC BER 平均值F16—
15 / 16pre-FEC BER 当前值F16最近一次采样
17–24FERC(帧误码率计数,frame error ratio count)最小/最大/平均/当前值,媒质侧/主机侧F16FEC 之后仍不可纠正的帧数,应为 0
128+相干参数集(CMIS 5.x):调制器偏置、CD、DGD、SOPMD、OSNR、eSNR、Q 因子、Rx 总功率/信号功率、载波频率偏移…各不相同400ZR/ZR+ 模块

F16 是 CMIS 的 16 位比率格式:5 位指数加 11 位尾数,数值 = 尾数 × 10^(指数 − 24)。例如 1.5 × 10⁻⁶ 的 pre-FEC BER 存储为尾数 1500、指数 15。媒质侧指光纤线路;主机侧指到交换机 ASIC 的电接口:主机侧 BER 异常,说明问题出在连接器或板卡,而不是光纤。

主机侧 FEC 计数器

交换机或网卡按端口(通常也按通道)统计以下计数:

计数器健康警戒故障
已纠正码字数缓慢增长(pre-FEC BER 10⁻⁸ … 10⁻⁶)快速增长(KP4 下达到 10⁻⁵)接近极限
不可纠正码字数0出现任何增量持续增长 = 丢帧
每通道符号错误数各通道均衡某一通道明显偏高该通道的光纤/连接器/激光器有问题
pre-FEC BER(推算值)< 10⁻⁷10⁻⁶ … 10⁻⁵> 10⁻⁴ (KP4)

查看位置:大多数 NOS 上是 show interfaces … fec / phy detail(验证光模块);Linux 上是 ethtool -S(fec_corrected_blocks、fec_uncorrectable_blocks)和 ethtool --show-fec;SONiC 上是 show interfaces counters fec。计数器是累计值,应先清零,再观察其变化速率。

综合解读两类指标

Rx 功率Pre-FEC BER / eSNR不可纠正错误诊断结论
在窗口内< 10⁻⁷,eSNR 高0健康且有余量
在窗口内10⁻⁵,某一通道 eSNR 下降0该通道正在劣化:MPO 光纤污染、VCSEL 老化、连接器接近临界,应在失效前处理(逐通道诊断)
偏低偏高有预算问题,参见 Rx 功率与链路预算
在窗口内,两端均是主机侧偏高有电气问题:笼子/连接器接触、板卡、DAC 质量、均衡设置错误
在窗口内媒质侧偏高,所有通道有色散、传输距离等级不匹配、波长偏离复用器通道、极性部分接反
正常0 错误,链路闪断0不是信号问题:FEC/自动协商不匹配、热问题或软件问题

阈值与告警

VDM 阈值由厂商设定;pre-FEC BER 的典型高预警值约为 FEC 极限的十分之一(KP4 下为 2 × 10⁻⁵)。用于告警时应关注变化速率和趋势:只要 pre-FEC BER 在一周内上升一个数量级,无论是否越过阈值都应作为工单处理(监测)。FEC 之后仍出现的不可纠正错误,任何时候都是一次事故。

VDM 缺失的场景

SFF-8472 和 SFF-8636 模块没有 VDM:10G/25G/100G NRZ 链路只能依靠主机侧 FEC 计数器和 Rx 功率。部分 SFF-8636 模块会在页 20h–21h 或厂商自定义字节中提供厂商私有的 SNR 或 BER,但只能用厂商自己的工具读取。对于没有 FEC 的 NRZ 链路(10G LR、1G),接口上的 CRC/输入错误计数器是唯一的比特级视图。

在 CodingBox 中

对于 CMIS 模块,CodingBox 会读取 VDM 描述符和采样值,并在 DDM 页面中按通道与经典监测量一并显示,同时将 F16 比率解码为普通数值。主机侧的 FEC 计数器不在模块和编程器的范围内,它们来自交换机。


如果您发现本资料中有不准确之处或错误,请选中相应片段并按 Ctrl+Enter,即可。