4. 列车以太网VLAN划分错误导致丢包的排查
故障场景与排查思路
某六编组列车,TCMS(列车控制与管理系统)业务报文在1车与6车之间出现周期性丢包,丢包率约3%~8%,而同一车厢内设备互ping正常。初步判断为跨车厢链路问题,但物理层测试(线缆、M12连接器)均通过。此时应优先怀疑VLAN配置不一致:跨车厢流量经过多台车载交换机级联的Trunk链路,若某台交换机端口PVID或Trunk允许列表与业务VLAN不匹配,报文会在该节点被丢弃或打上错误标签。
排查的核心是三个对象:业务VLAN归属(TCMS设备应属于哪个VLAN)、接入端口PVID(Access端口收到无标签帧时打上的VLAN)、Trunk允许列表(级联链路上放行哪些VLAN)。三者任一错配,都会造成"同车厢通、跨车厢不通"的典型现象。
关键配置核对与修复
以华为/H3C风格的车载交换机命令为例(不同厂商命令略有差异,逻辑一致)。先在SW4上核对VLAN表与端口状态,确认错配点:
# 在 SW4 上查看 VLAN 表,确认 VLAN10 是否存在及成员端口
display vlan 10
# 查看各端口 PVID 与链路类型
display port vlan
# 查看级联 Trunk 口的允许 VLAN 列表
display port trunk
典型错配输出特征:SW4 的 TCMS 接入端口显示 PVID: 1、Link Type: Access,而其他车厢同位置端口为 PVID: 10。此时该端口收到的无标签帧被打上 VLAN1 标签,进入 Trunk 后因允许列表不含 VLAN1 而被丢弃,表现为跨车厢丢包、同车厢正常。
修复动作(在SW4上执行):
system-view
interface GigabitEthernet 0/0/5 # TCMS 设备接入端口
port link-type access
port default vlan 10 # 修正 PVID 为业务 VLAN
quit
interface GigabitEthernet 0/0/24 # 级联 Trunk 口
port link-type trunk
port trunk allow-pass vlan 10 # 确保放行 VLAN10
quit
修复后不要只看配置回显,必须做业务验证:从1车 TCMS-A 持续 ping 6车 TCMS-B(如
ping -c 200 -i 0.2 192.168.10.20),观察丢包率是否归零;同时在SW4上 display interface GigabitEthernet 0/0/5 查看入方向是否有丢弃计数增长。验证与判读
| 检查项 | 修复前(SW4) | 修复后(SW4) | 判读依据 |
|---|---|---|---|
| 接入端口 PVID | 1 | 10 | 与业务VLAN一致 |
| 接入端口链路类型 | Access | Access | 终端不打标签 |
| Trunk允许列表 | 含10 | 含10 | 级联放行VLAN10 |
| 跨车厢 ping 丢包率 | 3%~8% | 0% | 200包无丢失 |
| 端口入方向丢弃计数 | 持续增长 | 稳定不增 | 无VLAN错配丢弃 |
若修复PVID后仍有丢包,需继续核对对端交换机的Trunk允许列表是否包含VLAN10,以及是否存在VLAN裁剪(如 port trunk permit vlan 1 20 漏掉10)。VLAN错配的排查顺序建议为:先确认业务VLAN号 → 逐台核对接入端口PVID → 逐段核对Trunk允许列表,避免在物理层反复无效测试。