Cisco UDLD 是什么
UDLD 是 Cisco 的单向链路检测协议,用来发现光纤接错、单纤故障等导致的单向链路。它分两个档:normal 模式只在能够确定链路单向时告警;aggressive 模式还会在超时无法确认时把端口置为 err-disable,保护动作更激进,但能更快切断有问题的链路。
基本信息
| 适用平台 | Cisco IOS / IOS-XE 交换机 |
|---|---|
| normal 模式 | 确定性检测,判断为单向时告警 |
| aggressive 模式 | 配合超时判定,异常时直接 err-disable |
| 典型场景 | 光纤链路、设备之间成对连接 |
| 查看命令 | show udld interface |
| 恢复方式 | 按 err-disable 流程恢复端口 |
典型使用场景
- 机房设备间光纤互联:防止单纤故障造成静默丢包
- 跨机房链路:链路 up 但只单向可达时快速定位
- 更换模块或跳线后验证双向正常
- 与聚合配合:避免单向链路被算作可用成员
- 对接第三方设备时由本侧承担单向检测职责
配置与查看
配置与查看
udld enable # 全局开启
interface GigabitEthernet1/0/1
udld port aggressive # 或使用正常模式
show udld interface GigabitEthernet1/0/1 # 查看检测状态与邻居
show interfaces GigabitEthernet1/0/1 # 核对是否被置为 err-disable
show errdisable recovery # 查看恢复策略两种模式对照
| 模式 | 检测行为 | 异常时的动作 |
|---|---|---|
| normal | 仅在能确定单向时判定 | 告警,端口保持转发 |
| aggressive | 配合超时判定,不确定也处理 | 直接 err-disable 端口 |
| 两端不一致 | 判定结果不完整 | 可能出现一侧关闭一侧仍在转发 |
| 未启用 | 不检测 | 单向链路被长期使用,静默丢包 |
部署注意
- 成对链路两端统一模式,避免一侧保护一侧放任
- aggressive 模式要同时配置 err-disable 恢复策略,明确自动还是手动
- 检测周期与超时值按平台默认或文档建议设置,不要自行调到极端值
- 启用后把邻居信息与端口状态纳入巡检,才能发现『单向但还没触发关闭』的中间状态
两端模式不同会造成误判,成对链路统一规划模式;一侧 aggressive 一侧 normal 时,保护动作只在一侧生效,现象会不对称。
aggressive 模式关闭端口后要按 err-disable 流程恢复:先查原因再恢复,直接恢复会在故障未排除时反复进入关闭状态。