前言:
MPLS是一种根据标签报文中携带的短而定长的标签来转发数据的技术
- MPLS的一个基本概念就是两台LSR(标签交换路由器)必须对在它们之间转发的数据的标签使用上“达成共识”。LSR之间可以运行标签分发协议(Label Distribution Protocol,LDP)来告知其他LSR本设备上的标签绑定信息,从而实现标签报文的正确转发
- MPLS的标签共识机制:两台LSR必须对转发数据的标签使用达成一致
- 标签分发协议(LDP)的作用:通过LDP交换标签绑定信息,确保标签报文正确转发
LDP
标签分发协议LDP(Label Distribution Protocol)是多协议标签交换MPLS的一种控制协议,相当于传统网络中的信令协议,负责转发等价类FEC(Forwarding Equivalence Class)的分类、标签的分配以及标签交换路径LSP(Label Switched Path)的建立和维护等操作
核心作用:
- 标签分发:通过LDP协议,LSR(Label Switched Router)动态分配标签,并将标签映射关系通告给邻居
- LSP建立:基于路由信息(如IGP或BGP)动态建立LSP,实现数据报文的快速转发
- 邻居发现:通过多播/单播Hello报文发现本地或远端邻居,建立LDP会话
工作过程:
- LSR之间建立LDP会话(只有建立了LDP会话后,才能建立LDP LSP来承载业务)
- LSR之间基于LDP会话动态交换标签与FEC的映射信息,并根据标签信息建立LSP
LDP消息类型
LDP协议主要使用四类消息:
发现(Discovery):用于通告和维护网络中LSR的存在,如Hello消息
会话(Session):用于建立、维护和终止LDP对等体之间的会话,如Initialization消息、Keepalive消息
通告(Advertisement):用于创建、改变和删除FEC的标签映射
通知(Notification):用于提供告警消息和错误通知
LDP对等体
LDP对等体是指相互之间存在LDP会话、使用LDP来交换标签消息的两个LSR。LDP对等体通过它们之间的LDP会话获得对方的标签
LDP邻接体
当一台LSR接收到对端发送过来的Hello消息后LDP邻接体建立。LDP邻接体存在两种类型:
本地邻接体(Local Adjacency):以组播形式发送Hello消息(即链路Hello消息)发现的邻接体
远端邻接体(Remote Adjacency):以单播形式发送Hello消息(即目标Hello消息)发现的邻接体
LDP通过邻接体来维护对等体的存在,对等体的类型取决于维护它的邻接体的类型。一个对等体可以由多个邻接体来维护
如果由本地邻接体和远端邻接体两者来维护,则对等体类型为本远共存对等体
LDP会话
LDP会话用于LSR之间交换标签映射、释放等消息。只有通过LDP发现机制发现LDP对等体才能建立LDP会话,LDP会话分为两种类型:
本地LDP会话(Local LDP Session):建立会话的两个LSR之间是直连的
远端LDP会话(Remote LDP Session):建立会话的两个LSR之间可以是直连的,也可以是非直连的
本地LDP会话和远端LDP会话可以共存
LDP发现机制
LDP发现机制用于LSR发现潜在的LDP对等体。LDP有两种发现机制:
基本发现机制:用于发现链路上直连的LSR
LSR通过周期性地发送LDP链路Hello消息(LDP Link Hello),实现LDP基本发现机制,建立本地LDP会话
LDP链路Hello消息使用UDP报文,目的地址是组播地址224.0.0.2。如果LSR在特定接口接收到LDP链路Hello消息,表明该接口存在LDP对等体
扩展发现机制:用于发现链路上非直连LSR
LSR周期性地发送LDP目标Hello消息(LDP Targeted Hello)到指定IP地址,实现LDP扩展发现机制,建立远端LDP会话
LDP目标Hello消息使用UDP报文,目的地址是指定IP地址。如果LSR接收到LDP目标Hello消息,表明该LSR存在LDP对等体
只有建立了LDP会话后,才能建立LDP LSP来承载业务