CodingBox 說明文件

網絡作業系統實用指南

每個交換機廠商都有自己的網絡作業系統(NOS),有自己的命令語法、自己顯示光模組的方式,以及對無法識別的模組的自己的策略。本文列出會遇到的各系統、它們如何命名事物、光模組相關命令在哪裏,以及它們對第三方光模組的預設態度,以便把在工作台上讀出的模組與它將要插入的設備對應起來。

全景

NOS廠商 / 平台CLI 風格光模組識別資訊與 DDM第三方光模組(已記錄的行為)
IOS / IOS-XECisco Catalyst 園區系列(9200/9300/9500……)、ISR/ASRshowshow interfaces transceiver [detail]show idprom interface預設拒絕(%PHY-4-UNSUPPORTED_TRANSCEIVER,errdisable);多數平台可用 service unsupported-transceiver + no errdisable detect cause gbic-invalid
NX-OSCisco Nexus 數據中心系列showshow interface … transceiver details多數情況下接受並記錄日誌;部分平台較嚴格;service unsupported-transceiver
IOS-XRCisco ASR 9000、NCS、8000showshow controllers optics …按平台各異;不受支援的光模組會被標記,部分保持 down
EOSAristashowshow interfaces transceiver [dom]不強制;僅記錄日誌
Junos / Junos EvolvedJuniper EX、QFX、MX、PTX、ACXshow(層級式配置)show interfaces diagnostics opticsshow chassis hardware接受多數模組;show chassis pic 中顯示「unsupported」;未知 PN 的 DDM 可能受限
VRPHuawei CloudEngine、S 系列、NEdisplaydisplay transceiver interface … verbose非華為光模組會警報;transceiver phony-alarm-disable 可屏蔽
ComwareH3Cdisplaydisplay transceiver interfacedisplay transceiver diagnosis與 VRP 類似;transceiver phony-alarm-disable
AOS-CX / AOS-S(ProCurve)HPE Arubashowshow interface transceiver [detail]AOS-S 預設阻止不受支援的模組,除非設定 allow-unsupported-transceiver;AOS-CX 命令類似
OS10 / OS9Dellshowshow interface … transceiver多數情況下寬鬆;PowerConnect 時代:service unsupported-transceiver
EXOS / VOSS / Fabric EngineExtremeshowshow ports transceiver information寬鬆,記錄日誌
FastIron(ICX)Ruckus / Brocadeshowshow mediashow optic以太網上寬鬆;SAN 用的 FOS 很嚴格
FOSBrocade/Broadcom SANswitchshowsfpshowsfpshowporterrshow多數平台要求 Brocade 品牌 SFP(FC 光模組
Cumulus Linux / NVUE,Onyx(MLNX-OS)Nvidia/Mellanox SpectrumLinux / nvl1-showmlxlink -methtool -m以太網上寬鬆;InfiniBand 會校驗線纜資訊
SONiC社區版和廠商版,運行在白牌(Edgecore、Celestica、UfiSpace……)和 OEM 設備上Linux / showconfigshow interfaces transceiver eeprom -dsfputil寬鬆;由平台插件決定
RouterOS / SwOSMikroTik/interface ethernetSFP 介面上的 monitor接受任何模組;顯示 DDM
EdgeOS / UniFiUbiquitiGUI / CLIGUI、ethtool -m寬鬆
Linux 主機伺服器、DPUethtoolethtool -m取決於網卡驅動(部分 Intel 驅動支援 allow_unsupported_sfp

具體行為因平台和版本而異;請把最後一列當作方向性參考,並在廠商文件中或在測試端口上核實(各 NOS 如何校驗模組)。

命令族

任務show 風格(Cisco、Arista、Juniper……)display 風格(Huawei、H3C)Linux 風格(SONiC、Cumulus、主機)
身份資訊show interfaces transceiver / show chassis hardwaredisplay transceiver interfaceshow interfaces transceiver eepromethtool -m
DDM… transceiver detail / diagnostics optics… verbose / display transceiver diagnosis… eeprom -dethtool -m
速率 / FEC / 拆分在介面或機箱層級下的 speedfecbreakoutspeedfec-modeport splitconfig interface speed/fec/breakoutnv set interface … link
錯誤show interfaces counters errorsdisplay interface … countersshow interfaces countersethtool -S

各 NOS 的具體語法參見:端口配置示例;身份校驗參見:在交換機上驗證光模組

開放網絡

SONiC(Linux 加上覆蓋在通用 ASIC 之上的 SAI 抽象層)和 Cumulus/NVUE 把 NOS 變成了可以與硬件分開選擇的軟件。對光模組而言,這意味著:決定讀甚麼、怎麼讀的是平台插件,而不是廠商策略;CMIS 支援程度取決於 SONiC 版本;DDM 和 FEC 計數器來自 Linux 工具;兼容性測試要自己來做(兼容性矩陣)。

NOS 如何影響你看到的內容

  • 命名:類型字元串(10GBASE-LRQSFP-100G-SR4SFP-10G-LR)由合規代碼和 PN 推導而來,各 NOS 的推導方式不同(合規代碼)。
  • DDM 呈現方式:有的顯示閾值和旗標,有的只顯示數值;有的應用外部校準,有的不應用(校準)。
  • CMIS 支援深度:從完整的數據通路控制,到「釋放 LPMode 然後祈禱」(CMIS 問題)。
  • 日誌:指出拒絕原因的那條消息(unsupportedinvalidMod_Invphony)是最快的診斷線索(症狀索引)。

在 CodingBox 中

光模組概覽以 Cisco IOS、 Junos、Huawei VRP 和 Aruba 的風格渲染模組身份,使工作台輸出與交換機將打印的內容一致——兩者之間的差異,正是編碼或策略問題最先顯現的地方。

Linux 主機這一行的展開內容——網卡廠商、驅動及其模組相關命令,參見: 網卡工具與診斷帶光口的網卡

這些系統各自的介面命名語法和管理端口名稱參見: 端口命名與 LED;光模組數據的 SNMP MIB 與遙測路徑參見: 管理與監測


如果您發現本文有不準確之處或錯誤,請選取相應片段並按 Ctrl+Enter,即可