网络操作系统概览
每个交换机厂商都有自己的网络操作系统(NOS),有自己的命令语法、自己显示光模块的方式,以及对无法识别的模块的自己的策略。本文列出会遇到的各系统、它们如何命名事物、光模块相关命令在哪里,以及它们对第三方光模块的默认态度,以便把在工作台上读出的模块与它将要插入的设备对应起来。
全景
| NOS | 厂商 / 平台 | CLI 风格 | 光模块识别信息与 DDM | 第三方光模块(已记录的行为) |
|---|---|---|---|---|
| IOS / IOS-XE | Cisco Catalyst 园区系列(9200/9300/9500……)、ISR/ASR | show | show interfaces transceiver [detail]、show idprom interface | 默认拒绝(%PHY-4-UNSUPPORTED_TRANSCEIVER,errdisable);多数平台可用 service unsupported-transceiver + no errdisable detect cause gbic-invalid |
| NX-OS | Cisco Nexus 数据中心系列 | show | show interface … transceiver details | 多数情况下接受并记录日志;部分平台较严格;service unsupported-transceiver |
| IOS-XR | Cisco ASR 9000、NCS、8000 | show | show controllers optics … | 按平台各异;不受支持的光模块会被标记,部分保持 down |
| EOS | Arista | show | show interfaces transceiver [dom] | 不强制;仅记录日志 |
| Junos / Junos Evolved | Juniper EX、QFX、MX、PTX、ACX | show(层级式配置) | show interfaces diagnostics optics、show chassis hardware | 接受多数模块;show chassis pic 中显示 “unsupported”;未知 PN 的 DDM 可能受限 |
| VRP | Huawei CloudEngine、S 系列、NE | display | display transceiver interface … verbose | 非华为光模块会告警;transceiver phony-alarm-disable 可屏蔽 |
| Comware | H3C | display | display transceiver interface、display transceiver diagnosis | 与 VRP 类似;transceiver phony-alarm-disable |
| AOS-CX / AOS-S(ProCurve) | HPE Aruba | show | show interface transceiver [detail] | AOS-S 默认阻止不受支持的模块,除非设置 allow-unsupported-transceiver;AOS-CX 命令类似 |
| OS10 / OS9 | Dell | show | show interface … transceiver | 多数情况下宽松;PowerConnect 时代:service unsupported-transceiver |
| EXOS / VOSS / Fabric Engine | Extreme | show | show ports transceiver information | 宽松,记录日志 |
| FastIron(ICX) | Ruckus / Brocade | show | show media、show optic | 以太网上宽松;SAN 用的 FOS 很严格 |
| FOS | Brocade/Broadcom SAN | switchshow、sfpshow | sfpshow、porterrshow | 多数平台要求 Brocade 品牌 SFP(FC 光模块) |
| Cumulus Linux / NVUE,Onyx(MLNX-OS) | Nvidia/Mellanox Spectrum | Linux / nv | l1-show、mlxlink -m、ethtool -m | 以太网上宽松;InfiniBand 会校验线缆信息 |
| SONiC | 社区版和厂商版,运行在白牌(Edgecore、Celestica、UfiSpace……)和 OEM 设备上 | Linux / show、config | show interfaces transceiver eeprom -d、sfputil | 宽松;由平台插件决定 |
| RouterOS / SwOS | MikroTik | /interface ethernet | SFP 接口上的 monitor | 接受任何模块;显示 DDM |
| EdgeOS / UniFi | Ubiquiti | GUI / CLI | GUI、ethtool -m | 宽松 |
| Linux 主机 | 服务器、DPU | ethtool | ethtool -m | 取决于网卡驱动(部分 Intel 驱动支持 allow_unsupported_sfp) |
具体行为因平台和版本而异;请把最后一列当作方向性参考,并在厂商文档中或在测试端口上核实(各 NOS 如何校验模块)。
命令族
| 任务 | show 风格(Cisco、Arista、Juniper……) | display 风格(Huawei、H3C) | Linux 风格(SONiC、Cumulus、主机) |
|---|---|---|---|
| 身份信息 | show interfaces transceiver / show chassis hardware | display transceiver interface | show interfaces transceiver eeprom、ethtool -m |
| DDM | … transceiver detail / diagnostics optics | … verbose / display transceiver diagnosis | … eeprom -d、ethtool -m |
| 速率 / FEC / 拆分 | 在接口或机箱层级下的 speed、fec、breakout | speed、fec-mode、port split | config interface speed/fec/breakout、nv set interface … link |
| 错误 | show interfaces counters errors | display interface … counters | show interfaces counters、ethtool -S |
各 NOS 的具体语法参见:端口配置示例;身份校验参见:在交换机上验证光模块。
开放网络
SONiC(Linux 加上覆盖在通用 ASIC 之上的 SAI 抽象层)和 Cumulus/NVUE 把 NOS 变成了可以与硬件分开选择的软件。对光模块而言,这意味着:决定读什么、怎么读的是平台插件,而不是厂商策略;CMIS 支持程度取决于 SONiC 版本;DDM 和 FEC 计数器来自 Linux 工具;兼容性测试要自己来做(兼容性矩阵)。
NOS 如何影响你看到的内容
- 命名:类型字符串(
10GBASE-LR、QSFP-100G-SR4、SFP-10G-LR)由合规代码和 PN 推导而来,各 NOS 的推导方式不同(合规代码)。 - DDM 呈现方式:有的显示阈值和标志位,有的只显示数值;有的应用外部校准,有的不应用(校准)。
- CMIS 支持深度:从完整的数据通路控制,到“释放 LPMode 然后祈祷” (CMIS 问题)。
- 日志:指出拒绝原因的那条消息(
unsupported、invalid、Mod_Inv、phony)是最快的诊断线索(症状索引)。
在 CodingBox 中
光模块概览以 Cisco IOS、 Junos、Huawei VRP 和 Aruba 的风格渲染模块身份,使工作台输出与交换机将打印的内容一致——两者之间的差异,正是编码或策略问题最先显现的地方。
这些系统各自的接口命名语法和管理端口名称参见: 端口命名与 LED;光模块数据的 SNMP MIB 与遥测路径参见: 管理与监测。