两种空标签的区别
MPLS 转发靠标签栈,最后一跳要不要留标签,取决于使用哪种空标签。隐式空标签(implicit-null,取值 3)的做法是:倒数第二跳直接把标签弹出,出口路由器收到的是普通 IP 报文,标签栈在这一跳就结束了,不占带宽也更省转发开销。显式空标签(explicit-null,取值 0)则保留标签送到出口路由器,由它来弹标签,好处是标签头部依然存在,EXP 位可以被出口链路的队列机制读取,用于区分优先级。所以取舍点很明确:常规转发用默认的隐式空标签,出口需要按 EXP 做 QoS 时才有必要改成显式空标签。
基本信息
| implicit-null | 取值 3,倒数第二跳弹出 |
|---|---|
| explicit-null | 取值 0,出口路由器弹出 |
| Cisco 命令 | mpls ldp explicit-null(全局配置) |
| 华为命令 | label advertise explicit-null(MPLS 视图,按版本核对) |
| 默认行为 | 多数实现默认隐式空标签 |
| 适用条件 | 出口链路需要按 EXP 位分类排队 |
典型使用场景
- 核心到汇聚的常规转发:保持默认,无需额外配置
- 出口链路需要按标签 EXP 做优先级调度
- 专线交付要求端到端保留标签:按合同与技术方案确认是否启用
- 排障时确认转发路径:观察标签是弹出还是保留可判断空标签类型
- 与第三方设备对接前:确认对方对空标签的处理方式是否一致
配置与验证
配置与验证
# Cisco:全局启用显式空标签
mpls ldp explicit-null
# 华为 MPLS 视图(按版本核对命令)
# label advertise explicit-null
# 查看转发表,Untagged 或 Pop 标签可判断行为
show mpls forwarding-table | include Untagged|Pop|explicit
# 查看 LDP 本地标签绑定
show mpls ldp bindings | include 0|3
# 华为侧对照
display mpls lsp verbose空标签对比
| 类型 | 取值 | 转发行为与代价 |
|---|---|---|
| implicit-null | 3 | 倒数第二跳弹标签,出口收纯 IP 包,开销小 |
| explicit-null | 0 | 出口收带标签报文,可读 EXP 做 QoS |
| 派生影响 | — | 改变空标签类型会触发转发项更新,需评估收敛 |
空标签类型由各设备自行决定并通告给邻居,因此同一条 LSP 上不同网段可能采用不同方式;看到部分路径 Untagged 属正常现象,不必逐项对齐。
只有出口链路确实依赖 EXP 分类时启用显式空标签才有收益;若无 QoS 需求,多保留一层标签只是增加转发处理。