PHP 是什么
PHP(Penultimate Hop Popping,倒数第二跳弹出)是 MPLS 的默认行为之一:出标签方向的最后一跳由倒数第二台设备执行弹出,出口设备只做 IP 查表转发。它依靠出口通过 LDP 通告隐式空标签(implicit-null,标签值 3)实现。好处是出口路由器少一次标签查表,代价是倒数第二跳要理解这条隐式标签。
基本信息
| 入口行为 | 倒数第二跳弹出栈顶标签后再转发 |
|---|---|
| 信令 | 出口向倒数第二跳通告隐式空标签(值 3) |
| 收益 | 出口设备只查 IP 表,减少一次标签处理 |
| 对照 | 显式空标签需显式配置,弹出行为与用途不同 |
| 验证 | show mpls forwarding-table 中出现 Pop Label 条目 |
典型使用场景
- 看转发表时解释为什么某条目的一侧没有出标签
- 排障「最后一段标签去哪了」:确认 PHP 是否按预期工作
- QoS 设计:弹出后 EXP 位不再存在,需评估优先级处理位置
- 与标签合并场景对比:理解显式空标签的用途
- 巡检基线:确认全网 PHP 行为一致,便于横向比对
核查命令
核查命令
show mpls forwarding-table 10.10.0.0 # 观察是否为 Pop Label 条目
show mpls ldp bindings 10.10.0.0 16 detail | include 3 # 确认收到隐式空标签
!
# 出口直连场景出现 Pop Label 属正常现象,不是转发表异常
show mpls ldp discovery标签值含义
| 标签值 | 名称 | 含义 |
|---|---|---|
| 3 | implicit-null | 倒数第二跳弹出,PHP 的默认行为 |
| 0 | explicit-null | 显式空标签,需配置,保留标签头到出口 |
| 其他 | 普通标签 | 中间节点执行标签交换 |
看到 Pop Label 不要当成故障:那是 PHP 的正常表现,出口设备本来就是靠 IP 表转发最后一段。
PHP 生效依赖出口通告隐式空标签:如果出口改用显式空标签或不做通告,倒数第二跳会执行完整交换,转发特征随之改变。
弹出后 EXP 位不再随报文存在:需要按 EXP 做优先级处理的场景,要评估是否改用显式空标签,或把优先级处理安排在其他节点。