标签发布控制是什么
LDP 默认会为路由表里的前缀分配标签并向所有 LDP 邻居发布,这在接口数量不多时没问题,但边界设备上容易把不必要的前缀标签发出去,占用对端标签空间也增加转发表规模。Cisco 提供 mpls ldp advertise-labels 在 LDP 层面做发布策略,语法里有两组限定:for 指定哪些前缀可以被发布,to 指定只向哪些邻居发布。需要注意它与 IGP 路由过滤是两回事:它不会改变路由本身是否被学习或通告,只改变标签绑定是否对外发布,因此不会影响 IP 可达性,但会直接影响 MPLS 转发能否建立。
基本信息
| Cisco 语法 | mpls ldp advertise-labels [for <前缀ACL>] [to <邻居ACL>] |
|---|---|
| for 参数 | 限定可发布标签的前缀范围 |
| to 参数 | 限定接收标签通告的邻居 |
| 边界 | 只影响标签发布,不影响 IGP 路由 |
| 副作用 | 对端缺少绑定则无法建立标签转发路径 |
| 核对 | show mpls ldp bindings 与对端转发表现 |
典型使用场景
- PE 边界设备:只向核心发布必要前缀的标签
- 限制非核心设备获取全量标签,降低对端表项规模
- 专线接入场景:确保对端只拿到约定网段的绑定
- 排障时确认标签绑定是否已发布到对端
- 标签空间紧张的设备上做容量优化
配置与核对
配置与核对
# 前缀 ACL:只发布 10.10.0.0/16 范围
access-list 10 permit 10.10.0.0 0.0.255.255
# 邻居 ACL:只向 2.2.2.2 发布
access-list 20 permit 2.2.2.2
mpls ldp advertise-labels for 10 to 20
! 核对绑定是否已按策略发布
show mpls ldp bindings 10.10.1.0 24
show mpls ldp neighbor 2.2.2.2
! 查看本地标签使用量
show mpls label table | count策略参数对照
| 参数 | 限定对象 | 配置缺失的后果 |
|---|---|---|
| for | 前缀范围 | 默认可发布全部前缀 |
| to | 邻居范围 | 默认向所有邻居发布 |
| 两者组合 | 前缀与邻居交叉 | 只发布交集,范围最可控 |
| ACL 顺序 | 匹配顺序 | 写错会连必要前缀也一起挡掉 |
标签绑定是双向的:本端控制发布范围,对端也控制自己的发布范围。两端策略不对称时,可能只在某个方向无法建立 LSP,排查要两个方向分别确认。
IP 可达性不受该配置影响:标签没发出去时 IP 仍可通,但 MPLS 转发会退回逐跳或直接不通,这是判断问题归属的关键线索。