30、MPLS LDP
LDP基本概念
LSR之间可以运行标签分发协议(Label Distribution Protocol,LDP)来告知其他LSR本设备上的标签绑定信息,从而实现标签报文的正确转发。
LDP是MPLS的一种控制协议,相当于传统网络中的信令协议,负责FEC的分类、标签的分配以及LSP的建立和维护等操作。LDP规定了标签分发过程中的各种消息以及相关处理过程。
LDP的工作过程主要分为两部分:
- LSR之间建立LDP会话。
- LSR之间基于LDP会话动态交换标签与FEC的映射信息,并根据标签信息建立LSP。

下游设备向上游设备发送自己的入标签信息,上游设备收到后,自然就知道需要发给下游设备时的出标签需要为,下游设备的入标签。
上游:信息流的起始方向。
下游:信息流的终点方向。
会话建立
LSR之间交互标签绑定消息之前必须建立LDP会话。LDP会话可以分为:
- 本地LDP会话(Local LDP Session):建立会话的两个LSR之间是直连的;
- 远程LDP会话(Remote LDP Session):建立会话的两个LSR之间可以是直连的,也可以是非直连的。
两台LSR之间交互Hello消息之后,即建立起邻接体(Adjacency)关系;
交互LDP会话消息,建立起LDP会话,两台设备之间形成LDP对等体关系:
LSR ID与LDP ID
每一台运行了LDP的SR除了必须配置LSR ID,还必须拥有LDP ID。
LDP由LSR ID+标签空间标识符构成。例如2.2.2.2:0。
标签空间标识一般存在两种形态:
- 值为0:表示基于设备(或基于平台)的标签空间;
- 值非0:表示基于接口的标签空间。

目前学的,均使用基于设备(或基于平台)的标签空间。
LDP消息
运行LDP协议的LSR之间通过交换LDP消息来实现邻居发现、会话建立与维护以及标签管理等功能。

LDP报文封装

LDP工作原理
LDP会话建立
LDP使用5种状态描述LDP会话状态机。

发现阶段与TCP连接建立阶段
Hello包UDP646端口,IP组播224.0.0.2。

根据抓包结果:Hello包的UDP报文中,源和目的端口都是646。
后续的TCP报文,是主动方通过随机端口发送给被动方的TCP646端口,建立TCP连接并保持LDP会话。
LDP会话建立与保持
缺省情况下,公网的LDP传输地址等于设备的LSR ID,私网的传输地址等于接口的主IP地址。

LDP邻居状态

LDP会话状态

标签的发布和管理
在MPLS网络中,下游LSR决定标签和FEC的绑定关系,并将这种绑定关系发布给上游LSR。
LDP通过发送标签请求和标签映射消息,在LDP对等体之间通告FEC和标签的绑定关系来建立LSP标签的发布和管理由标签发布方式、标签分配控制方式和标签保持方式来决定。

DU下游自主模式:下游自动将标签信息发送给上游
DoD下游按需模式:上游请求了,下游才发
Independent独立模式:即使本设备上没有标签映射,也可以自己产生一个标签信息,并向上游发送。
例如,下图中,R3没有到达4.0网段的这个FEC下一条的标签映射,仍然可以向上游通告。

Ordered有序模式:只有当该LSR已经具有此FEC下一跳的标签映射消息、或者该LSR就是此FEC的出节点时,该LSR才可以向上游发送此FEC的标签映射。

Liberal自由模式:对于从邻居收到的标签映射,无论邻居是否时自己的下一跳都保留。

Conservative保守模式:只有当邻居时自己的下一跳时才保留。

PHP特性
PHP(Penultimate Hop Popping,次末跳弹出),如果激活了PHP特性,那么egress节点在为本地路由分配标签的时候,会分配一个特殊标签3,该标签被称为隐式空标签(Implicit NULL Label)。
当LSR转发一个标签报文时,如果发现对应的出标签值为3,则LSP会将栈顶标签弹出,并将里面所封装的数据转发给下游LSR。

隐式空标签于显式空标签
缺省情况下,Egress节点向倒数第二跳分配隐式空标签(implicit-null),即特殊标签3。
但在部署QoS的场景下,标签被弹出后,其中的优先级也会一并丢失。

显式空标签机制,Egress节点向倒数第二跳分配特殊标签0。
R3在转发标签报文时,若出标签封装为0,则不会将标签头部弹出,标签头部中的QoS信息得以保存。R4在收到带0标签的报文的时候,直接弹出标签,不用去查找ILM表项。
缺省情况下,Egress?分配的是隐式空标签。

LDP工作过程概述
- LSR首先通过运行IGP协议(例如OSPF、IS-IS等)来构建路由表、FIB表;
- LDP根据相应的模式,为路由表中的路由前缀(FEC)分配标签;
- LDP根据相应的模式,将自己为路由前缀分配的标签,通过LDP标签映射报文通告给LDP邻居;
- LSR将自己为路由前缀分配的标签,以及LDP邻居为该路由前缀通告的标签存储起来,并与出接口、下一跳地址等信息形成关联(标签转发表项);
- 当LSR转发到达目的网络的标签报文时,所使用的出站标签总是下游LDP邻居所通告的标签,此处所指的下游邻居,是设备的路由表中到达该目的网络的下一跳设备。
LDP基本配置命令

缺省情况下,根据32位地址的IP路由出发LDP建立LSP。也就是说,默认情况下,display mpls lsp看到的就都只有主机路由的lsp。


配置案例
# 配置lsr-id
mpls lsr-id 1.1.1.1
# 使能mpls
mpls
# 使能mpls ldp (全局或mpls视图下都可)
mpls ldp
# 在接口下使能mpls和mpls ldp
mpls
mpls ldp

路由器之间跑ospf,并把环回口也加入到ospf,保证各网段路由可达。
思考题

-
C
-
B


浙公网安备 33010602011771号