锐捷 | 远程MPLS LDP会话配置案例

锐捷 | 远程MPLS 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相关术语

LSR之间交互标签绑定信息之间必须建立LDP会话,LDP会话可以分为:

  • 本地LDP会话(Local LDP Session):建立会话的两个LSR之间是直连的;

  • 远程LDP会话(Remote LDP Session):建立会话的两个LSR之间是可以直连的,也可以是非直连的。

两台LSR之间交互Hello消息之后,即可建立起邻接(Adjacency)关系。在建立邻接关系的基础上,两台LSR之间交互LDP会话消息,建立起LDP会话,两台设备之间形成对等体关系。

3. 远程LDP会话

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

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

建立连接过程

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

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

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

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

二、远程LDP会话配置案例

案例拓扑

案例需求

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

  • 所有路由器激活MPLS,基于Loopback接口建立LDP邻居,同时在R1和R3建立远程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 12.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 12.1.1.0 0.0.0.255 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 23.1.1.0 0.0.0.255 area 0
R3(config-router)#exit

[Step4] R1上全局开启MPLS转发功能和LDP标签分发协议,指定远端会话设备R3的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 3.3.3.3
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

[Step5] R2上全局开启MPLS转发功能和LDP标签分发协议,开启互联接口的标签交换能力和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)#exit
R2(config)#interface range g0/0-1
R2(config-if-range)#mpls ip
R2(config-if-range)#label-switching 
R2(config-if-range)#exit

[Step6] R3上全局开启MPLS转发功能和LDP标签分发协议,指定远端会话设备R1的LDP RouterID,开启互联接口的标签交换能力和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)#neighbor 1.1.1.1
R3(config-mpls-router)#exit
R3(config)#interface g0/0
R3(config-if-GigabitEthernet 0/0)#mpls ip
R3(config-if-GigabitEthernet 0/0)#label-switching 
R3(config-if-GigabitEthernet 0/0)#exit

[Step7] 查看R1上的LDP发现情况,此时能够看到一个本地LDP会话(2.2.2.2)和远程LDP会话(3.3.3.3)。

R1#show mpls ldp discovery detail 

[Step8] 查看R2上的LDP发现情况,此时能够看到两个本地LDP会话(1.1.1.1和3.3.3.3)。

R2#show mpls ldp discovery detail

[Step9] 查看R3上的LDP发现情况,此时能够看到一个本地LDP会话(2.2.2.2)和远程LDP会话(1.1.1.1)。

R3#show mpls ldp discovery detail 

K8s 核心基础:kubectl 使用、YAML 编写、命名空间及 CRD 实战 2026-05-12

评论区