首页/网络/BGP 与广域网速查/LDP 基础:发现与标签分发
MPLS 与专线70 条

LDP 基础:发现与标签分发

LDP 在 IGP 路由基础上分发标签绑定:UDP 646 发现邻居,TCP 646 建会话,按 FEC(前缀)交换标签映射。

BGP 与广域网速查网络更新于 2026-10-13

LDP 是什么

LDP(标签分发协议)负责在 IGP 已收敛的基础上为各前缀分发标签绑定:设备通过链路层的 hello 发现邻居,用 TCP 建立会话,然后按 FEC(转发等价类,通常是前缀)交换标签映射。它不计算路由,只把 IGP 已经算好的路径转换成标签转发项。

基本信息

发现UDP 646,链路 hello 使用组播 224.0.0.2
会话TCP 646,传输地址通常用 loopback 地址
绑定按 FEC 交换 label mapping(前缀到标签)
依赖先有 IGP 路由,再有对应标签绑定
本地标签每台设备为前缀分配本地标签并通告给邻居
验证show mpls ldp discovery / neighbor / bindings

典型使用场景

  • 骨干启用标签转发,为 MPLS VPN 提供承载
  • 城域网内用 LDP 简化核心转发
  • 排障标签路径:逐台核对某前缀的入标签与出标签
  • 新设备接入:确认邻居发现与会话是否建立
  • 迁移到分段路由前梳理现有标签分发关系

状态核查

状态核查
show mpls ldp discovery                 # 邻居发现状态(hello 层面)
show mpls ldp neighbor                  # 会话是否 Oper
show mpls ldp bindings 10.1.1.0 24      # 指定前缀的标签绑定
show mpls forwarding-table 10.1.1.0 24  # 实际转发项:入标签与出标签

两段式建立过程

阶段承载失败时的表现
邻居发现UDP 646 与组播 hellodiscovery 里看不到对端标识
会话建立TCP 646,用传输地址发现正常但 neighbor 状态非 Oper
标签交换会话内交换 label mapping会话正常但 bindings 缺少目标前缀
转发生效生成转发项有绑定但转发项缺失
hello 通但会话不通,问题通常在 TCP 或传输地址(通常是 loopback)的可达性,而不是发现机制本身。
检查顺序:discovery 看发现、neighbor 看会话、bindings 看绑定、forwarding-table 看转发,四步能快速定位卡在哪一层。

端口与地址速查

项目取值说明
发现报文UDP 646链路 hello 定期发送
组播地址224.0.0.2本地链路范围内发现邻居
会话报文TCP 646可靠传输标签映射
传输地址通常为 loopback两端的会话标识来源
标签分配是按前缀进行的:只有存在于 IGP 路由表中的前缀才会生成对应绑定,这也解释了为什么标签问题常要先回到路由表去查。
标签值本身由设备本地分配,两端数值不同是正常的:转发时本机发出的是邻居通告的标签,核对时看的是「入标签到出标签的映射」而不是两侧数值是否相等。

易错点

  • 跳过 IGP 直接查 LDP:没有 IGP 路由就没有对应绑定
  • hello 通但 session 不通:问题在 TCP 或传输地址而非发现
  • 传输地址不可达:会话无法建立,需保证 loopback 地址可路由
  • 只看绑定不看转发表:有绑定但无转发项时业务仍不通

数据来源与参考

  • RFC 5036: LDP Specification
  • Cisco: LDP 配置指南
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌