QFX5120-48Y:25G 的 et- 端口上没有自动协商字段,media 显示 FEC74
正在把一台 QFX5120-48Y 的 25G 上联口连到第二台交换机和几台新服务器。在把这段链路交付出去之前,我想把链路设置正确地记录下来,但找不到这些端口上自动协商的设置在哪里。
- Juniper QFX5120-48Y
- SFP28 插槽里插的是 25G 光模块
- et- 接口上除了一个 description 和 unit 0 之外什么都没配置
show interfaces et-0/0/31 extensive 根本不打印任何自动协商部分——没有状态,没有通告的能力,什么都没有能告诉我它是开还是关。media 视图倒是给了一些信息:
Speed: 25Gbps
Ethernet FEC Mode: FEC74
我试过的:
- 找 et- 接口上的 speed/duplex 语句,结果没有任何适用的
- 跟同一台设备上的一个 1G ge- 端口做对比,那上面自动协商那部分完全按我预期打印出来了
所以:25G 端口上自动协商默认是开着的吗?有没有什么速率或双工的开关是应该设置的?我该怎么验证它的状态?如果根本没有协商这回事,那链路要起来,两端到底需要匹配什么?
Comments 3
你没有漏掉什么隐藏开关——根本没有东西可协商。光口的 10G 和 25G 只存在一种模式,全双工,它们没有 1G 铜口那种握手式的协商,所以在 et- 接口上写 speed 或 duplex 语句毫无意义,extensive 输出里也就没有自动协商状态可打印。拿它跟 ge- 端口做对比,恰恰是误导你的地方。
真正决定 25G 链路能不能训练起来的是 FEC,而且两端必须完全一致,否则链路就是干脆起不来。你这边已经告诉你自己在跑什么了:
所以要么让对端跟着匹配,要么就在两端都显式钉死:
而
show interfaces et-0/0/31 media就是你的验证手段——这里才会同时显示正在使用的速率和当前生效的 FEC 模式。这些端口的运维手册里应该写这条命令,而不是 extensive。补全提示里还有一个坑:它给出的相干模式选项——hgfec、sdfec、sdfec15、sdfec25——是给相干光模块用的,跟 25G 客户端端口毫无关系。那份列表是整个平台支持的所有介质类型的总和,不是你眼前这个端口的可选菜单。
这下解释清楚了缺失的那一块,谢谢。对端是第二台交换机,它当时用的是另一种 FEC 模式,我压根没想过要查这个,因为两边用的光模块型号是一样的。等两端的 media 输出都显示 FEC74 之后,链路就起来了,而且在负载下也一直保持稳定。
现在运维手册上写的是:查 media,不查 extensive,并把 FEC 模式记在端口旁边。
同样的规则在拆分口(breakout)上最容易咬人。把一个 100G 口拆成 4x25G 之后,这条规则是按每条通道分别生效的:四条通道里的每一条都要和它各自对端的 FEC 一致,不一致的那一条就是永远训练不起来——我遇到过 QSFP-100G-PSM4 和 QSFP-100G-XSR4 链路里三条通道都起来了、第四条就是黑的,原因正是这个,不查 FEC 模式的话看起来就像光纤断了。
铜缆也值得说一句。长度改变的不只是余量,而是整套规则:标准把无源线缆分成 CA-N、CA-S、CA-L 三类,区别在于允许的损耗上限,以及是否强制要求纠错。实际影响是:一根较长的 CAB-Q-4S-100G,如果两端没有都开着 RS-FEC,可能根本训练不起来,而隔壁机柜一根更短的线缆,关掉 RS-FEC 反而能起来。如果同一个机柜里混用不同长度的线缆,要把所需的 FEC 模式和长度一起记进台账。第三方无源铜缆通常没问题,只要满足电气要求、并且带一个合规的 SFF-8636 EEPROM 就行,但这一点往往没人验证,直到某条通道一直起不来。