如果您的基础设施建于 2016 年之前,那么您是围绕一个简单的思维模型来构建它的:更高的速度意味着同一事物变得更大、更快。一旦您跨入 25G 及以上的领域,这个模型就完全失效了。通道架构变了,光模块变了,纠错要求变了,故障模式也变了。这些都不是一次固件更新就能解决的。

这是高速以太网系列文章的第一篇。在我们深入探讨光模块、极性和 FEC 的细节之前,以下是您需要首先理解的架构。

通道才是关键单元,而非“速度”

一条通道是一条以固定信号速率运行的单一电气或光学路径。所有 10G 以上的速率都是通过捆绑多条通道实现的,而不是靠调高一个旋钮。

  • - 10G = 一条10G通道

  • - 25G = 一条25G通道(802.3by,2016年批准)

  • - 40G = 四条10G通道(802.3ba)

  • - 100G = 四条25G通道(802.3bm,以及后来的802.3cd版本)

这正是许多困惑的起点,因为 “四条通道” 在不同方案中并不代表相同的物理实体。40GBASE-LR4和100GBASE-LR4/ER4确实是在一根单模光纤上通过 CWDM(粗波分复用——多个波长间隔足够大,激光器无需精确温控,在光模块内部完成合波与分波) 运行多个波长,这是真正的波分复用。但数据中心实际部署最多的短距离方案——40GBASE-SR4和100GBASE-SR4——使用的是并行光纤:一个 MPO/MTP 连接器内有四对独立的发送/接收光纤,每对在多模光纤上承载各自的通道。不涉及波长复用。将这两种模式混淆,是人们首次部署 100G 时最常见的误解之一,而一旦您在排查链路、试图判断自己面对的是波长问题还是光纤对问题时,这一点就至关重要了。简而言之,SR4 和 LR4 都带“4”,但一个指四根光纤,另一个指四种颜色——这恰恰决定了故障链路是光纤对问题还是波长问题。

对于那些即将问“那 50G 呢”的人:50G 的扩展方式与 40G 和 100G 不同。后两者是在固定的单通道速率下捆绑更多通道——分别是四条 10G 通道和四条 25G 通道。而单通道 50G(802.3cd) 保持一条通道不变,转而改变调制方式,在一条通道上使用 PAM4 信号(每符号四个幅度电平,每个信号间隔携带 2 比特)来达到 50 Gbps;相比之下,100GBASE-SR4 使用的是四条 NRZ 信号通道(较旧的两电平方案,每个间隔携带 1 比特)。不同的调制方式、不同的通道数量、不同的电气特性。50G 在架构上是独立的一代,而不是 25G 和 100G 之间的过渡阶梯。

为什么 40G 并未消亡

速度的采用是从核心向外围推进的——金融交易大厅和超大规模用户率先推动 100G,其他用户则沿着一条更慢的曲线跟进。目前,40G 和 25G 正处于性价比最佳点,适用于园区汇聚、推送实时影像和患者数据的医院网络,以及没有超大规模用户预算和超大规模流量的本地数据中心。

40G存续的两个实际原因:

  1. 1. 服务器通常是瓶颈,而非链路本身。如果应用程序、PCIe总线或存储后端无法供给网卡,把网卡从40G换到100G也没用。

  2. 2. QSFP+(40G)模块与 QSFP28(100G)端口在机械结构上兼容。您通常可以将核心交换机升级到 100G,同时让 40G 的汇聚交换机继续挂在其下——前提是交换机的 ASIC 和固件确实支持混合速率运行,而这并非普遍支持,值得在假设之前先与厂商确认。在支持的情况下,这能让您以外科手术式的方式升级核心,而不是一次性拆除整个布线系统。

25G:基础单元,以及它为何敏感

每通道 25G 成为行业的基础单元,因为其数学扩展非常规整——4×25G 得到 100G,4×100G 得到 400G。它在经济上也很有吸引力:25G 光模块的价格已大幅下降,如今已在叶脊架构中大规模常规部署,常见布局为 48×25G 服务器端口 / 6×100G 上行链路的机架配置,全部运行相同的底层通道技术。

问题在于信号容限。25G 通道对损耗和反射的容忍度,远低于在同一物理布线上运行的 10G 通道。

专业提示:

专业提示:多年来干净承载 10G 的 OM4 多模光纤,并不自动准备好支持 25G 或 100G-SR4。一个略微脏污或端面有轻微损伤的连接器,在 10G 下几乎不会表现为问题,但在 25G 下会导致持续丢包。请清洁并检测您的连接器,并在割接前测试实际链路——不要因为光纤布线在较低速率下一直“安静无事”,就假设它“合格”。

100G 不会产生新问题,它只是把 25G 的问题复制了四份

因为 100G-SR4 是四条独立的 25G 通道,任何单条 25G 通道能勉强容忍的边缘状况都会在整条链路上被成倍放大。一条对 40G(4×10G,NRZ,容忍度更高) 来说“足够好”的布线系统,在 100G 下可能直接不合格,表现为随机丢包和链路震荡——不是因为发生了什么变化,而是因为每通道 10G 时存在的误差余量,在每通道 25G 时根本不存在。

部署前有两个具体细节值得了解:

FEC 通常必须手动配置,而非自动协商。对于使用 Clause 82/91 编码的光模块,FEC 通常是链路两端的手动设置——两端设备之间 FEC 设置不匹配,是链路“本应正常工作”却无法工作的典型原因。(使用 Clause 73 自动协商的背板/铜缆链路是例外——那里的 FEC 可以自动协商。)请明确检查两端;不要假设。(注意:这些 Clause 编号是 IEEE 802.3 标准中的章节号,并非厂商设置项。)

光纤上没有自动 MDIX 的对应服务。Auto-MDIX 是铜缆的概念。在光纤上,TX/RX 极性必须在 MPO 配线盒、主干光缆和跳线之间正确管理,一旦出错,不会抛出明显的错误——它只是无法建立链路,或者建立后出现看起来与极性无关的故障。我们将在本系列中专门用一整篇文章来梳理这个问题。

互操作性与测试

IEEE 标准是底线,而非上限——厂商经常在其之上构建专有功能。BiDi 光模块就是一个很好的例子:早期的专有 BiDi 实现会将您锁定在单一厂商的光模块上,不过如今来自多家光模块厂商的基于标准的 BiDi 在许多情况下已经可以互操作。值得明确确认兼容性,而不是想当然地假设能或不能,因为这因厂商和产品线而异。

混合厂商风险仍然非常真实的地方在于故障排查:如果您使用的是第三方光模块,而链路发生故障,厂商支持往往会首先把矛头指向模块,无论它是否真的是原因。这就是厂商中立测试设备的实际价值所在——它让您能够验证物理层、确认两端的 FEC 设置、读取每条通道的纠错前误码率(pre-FEC BER),并使用您实际部署的模块验证端到端性能,这一切都在任何东西触及生产环境之前完成。纠错前误码率是值得坚持索要的那个数字。FEC 会完全掩盖一条边缘通道:链路在纠错后看起来完美无瑕,而纠错却在悄然接近其极限运行,然后当布线系统上任何东西发生变化时——跳线重新插拔、温度波动、连接器沾染灰尘——它就会崩溃。纠错后干净告诉你链路今天能工作。纠错前告诉你还剩多少余量,而这正是每通道 25G 时的核心问题。我们将在本系列后续文章中回到这一点。它把“换零件看看问题是否消失”变成了真正的诊断。