从discarding状态到网络畅通:一次S5700交换机STP环路排查实战

从discarding状态到网络畅通:一次S5700交换机STP环路排查实战 1. 深夜告警当S5700交换机开始丢包那天晚上11点半我正敷着面膜追剧手机突然像催命符一样震动起来。运维监控系统弹出一连串告警核心机房的S5700-28P-LI汇聚交换机CPU利用率飙到98%下联的二十多台服务器全部失联。同事在微信群里已经炸锅完了完了财务系统月底结账卡死了VPN连不上生产环境第一反应和所有网工一样——硬件故障。毕竟这台服役5年的老将最近总闹脾气风扇噪音大得像拖拉机。但当我远程登录交换机时发现管理界面还能操作只是不断刷出两行刺眼的日志%May 13 21:05:23:819 2023 HUAWEI STP/4/STP_DISCARDING:The port has been set to discarding state... %May 13 21:05:25:112 2023 HUAWEI STP/4/STP_TOPOLOGY_CHANGE:Bridge topology change detected...这两个关键词立刻让我汗毛直立discarding状态和拓扑变更。就像老司机看到仪表盘上同时亮起机油灯和发动机灯这绝对不是简单重启能解决的问题。2. STP协议网络世界的交通警察要理解这个故障得先搞懂**STP生成树协议**的工作原理。想象一个没有红绿灯的十字路口所有车辆数据包都在疯狂转圈——这就是二层网络出现物理环路时的场景。STP就像个智能交警通过阻塞特定端口相当于设置红灯来逻辑上切断环路。为什么会有环路常见原因包括冗余设计为了防止单点故障我们会用多条线路连接交换机误操作菜鸟运维把两根网线插在同一台交换机的两个端口上设备异常某些网络设备故障后开始疯狂泛洪广播包当STP检测到环路时会立即把问题端口置为discarding状态相当于封路阻止数据包进入环路。但副作用是——这个端口下的所有设备都会失联。3. 破案三部曲从告警到根因3.1 第一步STP拓扑速诊连上交换机后我第一时间敲下黄金命令HUAWEI dis stp brief输出结果像张X光片清晰显示各个端口的状态Port Role STP State Protection Gig0/0/1 ALTERNATE DISCARDING NONE Gig0/0/2 ROOT FORWARDING NONE关键发现Gig0/0/1端口被STP强制阻塞而且角色是ALTERNATE备用端口。这说明网络中存在另一个更优路径STP选择阻塞当前端口来避免环路。3.2 第二步LLDP邻居侦查接下来用邻居发现协议抄家底HUAWEI dis lldp neighbor brief返回信息让我瞳孔地震Local Interface Neighbor Device Neighbor Interface Gig0/0/1 ACCESS-SWITCH Gig0/0/24 Gig0/0/2 CORE-SWITCH Gig0/0/10正常情况下Gig0/0/1应该连接核心交换机现在却接了个接入层交换机相当于本该直通高速公路的入口被接到了乡间小道上。3.3 第三步物理链路追凶带着打印出来的LLDP信息冲到机房顺着网线摸查发现某个实习生把两台接入交换机用网线背靠背直连了还得意地说这样传输更快。这就形成了典型的物理环路[核心交换机]----[S5700]----[接入交换机A][接入交换机B] 违规直连线4. 止血与预防运维人的自我修养拔出那根罪恶的网线后监控大屏上的流量曲线立刻恢复正常。但作为老司机我还做了这些加固操作边缘端口防护在所有接入端口开启BPDU保护[SW] stp edged-port enable [SW] stp bpdu-protection拓扑变更监控配置SNMP trap实时捕获STP事件物理端口管理启用接口描述模板interface GigabitEthernet0/0/1 description TO-CORE-SWITCH-PORT10这次故障给我最深的教训是90%的硬件故障都是配置问题。下次再看到discarding状态告警不妨按这个检查清单操作查看dis stp brief确认阻塞端口用dis lldp neighbor排查异常连接检查最近是否有网络变更记录最后才考虑重启或更换设备凌晨两点走出机房时保安大爷笑着问我又救火啊我晃了晃手里那根惹祸的蓝色网线逮到只捣乱的小老鼠。