物理层原因:光模块、光纤与光衰

做网络这么多年,我发现物理层出问题,常常是排查链路的起点,也是很多人容易忽略的坑。为什么?因为链路抖动(Link Flapping)虽然表现都在协议层,但根子往往埋在最底下的光路里。

我个人习惯是这样:遇到 flapping,先别急着看配置,先看看物理层是不是干净。说白了,如果你光都没对上,BGP 怎么调都没用。

这一章,咱们就重点聊三个物理层杀手:光模块故障、光纤线缆损坏、光衰过大。

核心原则:物理层是一切协议的基础。光口不亮,协议必闪。

光模块故障

光模块这东西,说白了就是一个光电转换的小盒子。它在设备端口上,负责把电信号转成光信号发出去,再把收到的光信号转回电信号。一旦它自己出问题,整个链路就悬了。

常见的故障场景:

  • 模块老化:激光器寿命到了,发光功率掉得厉害。这种一般不会一下全断,而是间歇性丢包、间歇性 flapping。你看着接口状态 up/down 来回跳,特别头疼。
  • 接触不良:模块没插紧,或者金手指氧化了。我记得有一次在数据中心,一个端口一周 flapping 了三次。拔下来一看,金手指上有一层灰膜。用橡皮擦干净重插,直接稳了。
  • 不兼容:用了第三方模块,或者模块和交换机之间没认证。有些厂商会做锁模块,插入非原装模块,设备可能降低功率或者干脆不工作。后果就是端口间歇性 down。
  • 静电击穿:这个比较玄学,但确实存在。尤其冬天干燥,插拔模块不带防静电手环,啪一下,模块就废了。

经验之谈:我建议机房常备几块同型号的备用模块。怀疑光模块问题时,直接换一个测试,这比拿光功率计测半天更直接。换完如果 flapping 消失,那就是模块的锅。

光纤线缆损坏

光纤本身是玻璃丝,很细,很脆。你想想看,它在桥架里、地板下、机柜间穿来穿去,免不了被挤压、被拉扯、被踩到。一旦光纤物理损坏,光信号就不能完整传输了。

典型的物理损伤表现:

  • 断纤:光直接过不去了,端口 down。这个好判断。
  • 微弯损耗:光纤被过度弯曲,光从纤芯泄漏了。表现出来就是光功率下降,但不一定全断。这种情况最容易引发间歇性 flapping。
  • 接头污染:光纤连接器的端面沾了灰尘或油污。这个特别常见。我给你说,大概 7 成光缆 flapping 都是接头不干净导致的。
  • 老鼠咬:这个我没少遇到。尤其是在户外机柜里,老鼠把尾纤当磨牙棒。ODF 架后面线多,不注意根本发现不了。

注意:检查光纤接头时,千万别用肉眼直接对着光口看。激光会伤眼睛。正确做法是用光纤显微镜看端面,或者用光功率计测光衰。

光衰过大

光衰过大,是物理层里最常见、最隐蔽的原因。

什么叫光衰?就是光信号从发送端到接收端,功率下降了。一定范围内的衰减是正常的。但如果衰减超过接收端的接收灵敏度,接收端就收不到正确信号了。

光衰过大的后果:

  • 端口 up,但出现大量 CRC 错包
  • 接口不完全 down,但频繁 reset
  • 链路看上去有流量,但协议一直在重新建立

光衰的成因:

成因 说明 常见场景
距离超长 光纤链路总长度超过模块支持的传输距离 机房到机房跨越楼宇,算距离时没算好
连接器损耗 每个法兰盘或熔接点都有固定损耗 中间有多个交接箱,法兰数量过多
弯曲损耗 光纤弯曲半径过小 机柜后侧走线弯成直角
污染损耗 接头端面脏污 拆装过多次没清洁

怎么判断光衰过大?

用光功率计,这没什么可说的。我一般这么操作:

  1. 把光纤从接收端拔下来,接到光功率计上
  2. 读实时接收光功率(Rx Power)
  3. 跟模块的接收灵敏度对比

举个例子:一个 10km 的 1310nm SFP+ 模块,接收灵敏度一般是 -14.4dBm。如果你测出来接收光功率是 -16dBm,那肯定过大了。这种情况下,链路可能半死不活,端口 up 而协议 flapping。

避坑指南:我曾经遇到过一条链路来回 flapping,查了两天才发现中间有一个法兰盘没拧紧,导致光衰时大时小。所以,测光功率一定要在链路两侧都测,别只测一端。还有,记得清洁接头后再测,否则测出来的值不准。

物理层排查的整体逻辑

为了帮你快速掌握这一章的脉络,我画了一张流程图。它概括了物理层导致 Link Flapping 的三种原因和对应的排查动作。

物理层故障排查逻辑图 物理层 Link Flapping 三大根因与排查 物理层 Link Flapping 光模块故障 光纤线缆损坏 光衰过大 故障表现 模块老化 / 接触不良 不兼容 / 静电击穿 端口间歇性 up/down 故障表现 断纤 / 微弯损耗 接头污染 / 老鼠咬 CRC 错误增加 故障表现 距离超长 / 连接器损耗 弯曲损耗 / 接头污染 Rx Power 低于灵敏度 替换模块 / 清洁光纤 / 测光功率

这张图很简单:物理层 flapping 不外乎这三个方向。你顺着换模块、查光纤、测光功率这三步走,大概率能定位问题。记住,物理层的问题,大部分时候不是靠配置命令解决的,是靠手和工具解决的。

最后提醒一句:千万别在物理层故障还没排除的情况下就去改协议配置。那是往错误的方向上浪费精力。先把光路洗干净、测准了,再谈其他。