锐捷 | 一对多场景下LDP远程LDP会话轻量化配置

锐捷 | 一对多场景下LDP远程LDP会话轻量化配置

_

一、LDP基本原理

1. 标签分发协议LDP

LDP(Label Distribution Protocol,标签分发协议)采用UDP、TCP双协议承载机制。其中LDP Hello报文基于UDP协议封装,以组播方式实现LDP邻居发现与邻居关系保活。其余LDP控制报文均基于TCP协议传输,默认监听端口为646,负责完成LDP会话建立、参数协商及标签通告等交互过程。

LDP是MPLS体系的核心控制协议,对标传统网络的信令协议,主要承担FEC分类、标签分配、LSP隧道建立与维护等功能,同时标准化了标签分发过程中的各类交互信息与处理机制。LDP的工作流程分为两个核心阶段,首先在LSR设备间完成LDP会话建立,再基于LDP会话动态交互标签与FEC的映射关系,从而生成LSP转发路径。

MPLS数据转发的核心机制是标签交换,整体以FEC为依据为数据流分配标签,构建LSP。MPLS可以通过多种协议动态分配标签,不同协议适配不同的路由场景:

  • LDP协议为IGP协议、静态路由分配标签。

  • MP-BGP为VPNv4路由分配标签。

  • RSVP协议为MPLS-TE的数据包分配标签。

2. 远程LDP会话

远程LDP会话,也叫非直连LDP会话,是指两台物理非直连、但三层路由可达的LSR,通过手动配置LDP邻居IP,跳过中间设备,直接建立LDP TCP邻居会话,交互FEC与标签映射、建立端到端LSP,不依赖直连链路。

建立远程LDP会话的前提是两台LSR之间三层路由互通(静态路由/IGP均可),路由可达是建立远程LDP会话的基础。通过手动将对端LSR的Loopback地址配置为LDP远程邻居,不通过LDP链路Hello报文自动发现,手动静态指定邻居。

建立连接过程

  • 设备根据配置的远端Loopback地址,主动发起TCP连接(LDP默认TCP646端口);

  • TCP链路建立后,交互LDP初始化消息、会话参数协商;

  • 会话建立成功后,直接交换FEC-标签映射、标签回收、通知等LDP消息;

  • 不经过中间路由器参与LDP邻居协商,两端直连交互标签信息。

3. LDP接收目标Hello报文

两台设备构建LDP远端对等体关系时,可以在一端配置“neighbor x.x.x.x”,对端设备无需手动添加邻居配置,只需要开启LDP远端Hello报文接收能力,即可正常建立远端LDP对等体连接。

在删除远端对等体连接时操作同样便捷,只需要删除“neighbor x.x.x.x”配置,对等体关系便会自动失效。该部署模式能够有效缩减配置工作量、降低运维复杂度。特别是在一对多拓扑批量搭建远端LDP对等体的应用场景中,实用性能力尤为突出。

二、LDP接收特定目标Hello报文案例

案例拓扑

案例需求

  • R1、R2、R3、R4运行OSPF路由协议,进程号为1,归属区域为0,通告直连接口及Loopback0接口

  • 所有路由器激活MPLS,基于Loopback接口建立LDP邻居

  • 相邻设备间建立本地LDP会话,R1和R4、R2和R4建立远程LDP会话

[Step1] R1上的OSPF路由配置。

R1(config)#router ospf 1
R1(config-router)#router-id 1.1.1.1
Change router-id and update OSPF process! [yes/no]:yes
R1(config-router)#network 1.1.1.1 0.0.0.0 area 0
R1(config-router)#network 13.1.1.0 0.0.0.255 area 0
R1(config-router)#exit

[Step2] R2上的OSPF路由配置。

R2(config)#router ospf 1
R2(config-router)#router-id 2.2.2.2
Change router-id and update OSPF process! [yes/no]:yes
R2(config-router)#network 2.2.2.2 0.0.0.0 area 0
R2(config-router)#network 23.1.1.0 0.0.0.255 area 0
R2(config-router)#exit

[Step3] R3上的OSPF路由配置。

R3(config)#router ospf 1
R3(config-router)#router-id 3.3.3.3
Change router-id and update OSPF process! [yes/no]:yes
R3(config-router)#network 3.3.3.3 0.0.0.0 area 0
R3(config-router)#network 13.1.1.0 0.0.0.255 area 0
R3(config-router)#network 23.1.1.0 0.0.0.255 area 0
R3(config-router)#network 34.1.1.0 0.0.0.255 area 0
R3(config-router)#exit

[Step4] R4上的OSPF路由配置。

R4(config)#router ospf 1
R4(config-router)#router-id 4.4.4.4
Change router-id and update OSPF process! [yes/no]:yes
R4(config-router)#network 4.4.4.4 0.0.0.0 area 0
R4(config-router)#network 34.1.1.0 0.0.0.255 area 0
R4(config-router)#exit

[Step5] R1上全局开启MPLS转发功能和LDP标签分发协议,指定远端会话设备R4的LDP RouterID,开启互联接口的标签交换能力和LDP协议。

// 全局开启MPLS转发功能
R1(config)#mpls ip
// 全局开启LDP标签分发协议
R1(config)#mpls router ldp
// 指定LDP的Router-ID,使用force强制属性使其立即生效
R1(config-mpls-router)#ldp router-id interface loopback 0 force
// 指定远端会话设备的LDP Router ID
R1(config-mpls-router)#neighbor 4.4.4.4
R1(config-mpls-router)#exit
R1(config)#interface g0/0
// 接口下开启LDP协议
R1(config-if-GigabitEthernet 0/0)#mpls ip
// 缺省情况下,三层接口只能识别IP数据包,需要开启接口的标签交换功能
R1(config-if-GigabitEthernet 0/0)#label-switching
R1(config-if-GigabitEthernet 0/0)#exit

[Step6] R2上全局开启MPLS转发功能和LDP标签分发协议,指定远端会话设备R4的LDP RouterID,开启互联接口的标签交换能力和LDP协议。

R2(config)#mpls ip 
R2(config)#mpls router ldp 
R2(config-mpls-router)#ldp router-id interface loopback 0 force
R2(config-mpls-router)#neighbor 4.4.4.4 
R2(config-mpls-router)#exit
R2(config)#interface g0/0
R2(config-if-GigabitEthernet 0/0)#mpls ip
R2(config-if-GigabitEthernet 0/0)#label-switching 
R2(config-if-GigabitEthernet 0/0)#exit

[Step7] R3上全局开启MPLS转发功能和LDP标签分发协议,开启互联接口的标签交换能力和LDP协议。

R3(config)#mpls ip 
R3(config)#mpls router ldp 
R3(config-mpls-router)#ldp router-id interface loopback 0 force
R3(config-mpls-router)#exit
R3(config)#interface range g0/0-2
R3(config-if-range)#mpls ip
R3(config-if-range)#label-switching 
R3(config-if-range)#exit

[Step8] R4上新建ACL列表,匹配允许建立远端LDP邻居的LDP Router ID。

R4(config)#access-list 10 permit host 1.1.1.1 
R4(config)#access-list 10 permit host 2.2.2.2

[Step9] R4上全局开启MPLS转发功能和LDP标签分发协议,配置LDP接收目标Hello报文,开启互联接口的标签交换能力和LDP协议。

R4(config)#mpls ip
R4(config)#mpls router ldp 
R4(config-mpls-router)#ldp router-id interface loopback 0 force 
R4(config-mpls-router)#discovery targeted-hello accept from 10
R4(config-mpls-router)#exit
R4(config)#interface g0/0
R4(config-if-GigabitEthernet 0/0)#mpls ip
R4(config-if-GigabitEthernet 0/0)#label-switching 
R4(config-if-GigabitEthernet 0/0)#exit

[Step10] 验证:查看R4上的LDP发现情况,此时能够看到两个远程LDP会话(1.1.1.1和2.2.2.2)。

R4#show mpls ldp discovery detail 

[Step11] 在R1上对去往4.4.4.4/32的MPLS IPv4 LSP执行连通性检测,能够正常连通。

R1#ping mpls ipv4 4.4.4.4/32

[Step12] 在R2上对去往4.4.4.4/32的MPLS IPv4 LSP执行连通性检测,能够正常连通。

R2#ping mpls ipv4 4.4.4.4/32

锐捷 | MPLS LSP连通性检测 2026-05-21
锐捷 | MPLS LDP标签接收策略 2026-05-27

评论区