【网络协议详解】——MPLS LDP技术(学习笔记)
目录
MPLS LDP简介
定义
目的
LDP基本概念
LDP对等体
LDP邻接体
LDP会话
LDP工作机制
简介
LDP消息类型
LDP工作过程
LDP会话的建立
LDP发现机制
LDP会话的建立过程
LDP LSP的建立
标签的发布和管理
标签发布方式(Label Advertisement Mode)
标签分配控制方式(Label Distribution Control Mode)
标签保持方式(Label Retention Mode)
LDP安全机制
LDP跨域扩展
LDP为BGP路由分标签
LDP FRR
配置远端LDP会话示例
组网需求
配置思路
MPLS LDP简介
定义
标签分发协议LDP(Label Distribution Protocol)是多协议标签交换MPLS的一种控制协议,相当于传统网络中的信令协议,负责转发等价类FEC(Forwarding Equivalence Class)的分类、标签的分配以及标签交换路径LSP(Label Switched Path)的建立和维护等操作。LDP规定了标签分发过程中的各种消息以及相关处理过程。
目的
MPLS支持多层标签,并且转发平面面向连接,故具有良好的扩展性,使在统一的MPLS/IP基础网络架构上为客户提供各类服务成为可能。通过LDP协议,标签交换路由器LSR(Label Switched Router)可以把网络层的路由信息直接映射到数据链路层的交换路径上,动态建立起网络层的LSP。
LDP基本概念
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会话(Local LDP Session):建立会话的两个LSR之间是直连的。
-
远端LDP会话(Remote LDP Session):建立会话的两个LSR之间可以是直连的,也可以是非直连的。
本地LDP会话和远端LDP会话可以共存。
LDP工作机制
简介
LDP协议规定了标签分发过程中的各种消息以及相关的处理过程。通过LDP,LSR可以把网络层的路由信息映射到数据链路层的交换路径上,进而建立起LSP。
LDP消息类型
LDP协议主要使用四类消息:
-
发现(Discovery)消息:用于通告和维护网络中LSR的存在,如Hello消息。
-
会话(Session)消息:用于建立、维护和终止LDP对等体之间的会话,如Initialization消息、Keepalive消息。
-
通告(Advertisement)消息:用于创建、改变和删除FEC的标签映射。
-
通知(Notification)消息:用于提供建议性的消息和差错通知。
为保证LDP消息的可靠发送,除了Discovery消息使用UDP(User Datagram Protocol)传输外,LDP的Session消息、Advertisement消息和Notification消息都使用TCP(Transmission Control Protocol)传输。
LDP工作过程
LDP工作过程主要分为两个阶段:
1.LDP会话的建立通过Hello消息发现邻居后,LSR之间开始建立LDP会话。会话建立后,LDP对等体之间通过不断地发送Hello消息和Keepalive消息来维护这个会话。
-
-
LDP对等体之间,通过周期性发送Hello消息表明自己希望继续维持这种邻接关系。如果Hello保持定时器超时仍没有收到新的Hello消息,则删除Hello邻接关系。邻接关系被删除后,本端LSR将发送Notification消息,结束该LDP会话。
-
LDP对等体之间通过LDP会话连接上传送的Keepalive消息来维持LDP会话。如果会话保持定时器(Keepalive保持定时器)超时仍没有收到任何Keepalive消息,则关闭TCP连接,本端LSR将发送Notification消息,结束LDP会话。
-
-
LDP LSP的建立
会话建立后,LDP通过发送标签请求和标签映射消息,在LDP对等体之间通告FEC和标签的绑定关系,从而建立LSP。
LDP会话的建立
通过LDP发现机制发现LDP对等体用来建立LDP会话。只有建立了LDP会话后,才能建立LDP LSP来承载业务。
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会话的建立过程
两台LSR之间交换Hello消息触发LDP会话的建立。
LDP会话的建立过程如图1所示:
-
两个LSR之间互相发送Hello消息。
Hello消息中携带传输地址(即设备的IP地址),双方使用传输地址建立LDP会话。
-
传输地址较大的一方作为主动方,发起建立TCP连接。
如图1所示,LSR_1作为主动方发起建立TCP连接,LSR_2作为被动方等待对方发起连接。
-
TCP连接建立成功后,由主动方LSR_1发送初始化消息,协商建立LDP会话的相关参数。
LDP会话的相关参数包括LDP协议版本、标签分发方式、Keepalive保持定时器的值、最大PDU长度和标签空间等。
-
被动方LSR_2收到初始化消息后,LSR_2接受相关参数,则发送初始化消息,同时发送Keepalive消息给主动方LSR_1。
如果被动方LSR_2不能接受相关参数,则发送Notification消息终止LDP会话的建立。
初始化消息中包括LDP协议版本、标签分发方式、Keepalive保持定时器的值、最大PDU长度和标签空间等。
-
主动方LSR_1收到初始化消息后,接受相关参数,则发送Keepalive消息给被动方LSR_2。
如果主动方LSR_1不能接受相关参数,则发送Notification消息给被动方LSR_2终止LDP会话的建立。
当双方都收到对端的Keepalive消息后,LDP会话建立成功。
LDP LSP的建立
LDP通过发送标签请求和标签映射消息,在LDP对等体之间通告FEC和标签的绑定关系来建立LSP,而标签的发布和管理由标签发布方式、标签分配控制方式和标签保持方式来决定。
标签的发布和管理
标签发布方式(Label Advertisement Mode)
在MPLS体系中,由下游LSR决定将标签分配给特定FEC,再通知上游LSR,即标签由下游指定,标签的分配按从下游到上游的方向分发。
如表1,标签发布方式有两种方式。具有标签分发邻接关系的上游LSR和下游LSR必须对使用的标签发布方式达成一致。
表1 标签发布方式 | |
标签发布方式 | 含义 |
下游自主方式DU(Downstream Unsolicited) | 对于一个特定的FEC,LSR无需从上游获得标签请求消息即进行标签分配与分发。 |
下游按需方式DoD(Downstream on Demand) | 对于一个特定的FEC,LSR获得标签请求消息之后才进行标签分配与分发。 |
标签分配控制方式(Label Distribution Control Mode)
标签分配控制方式是指在LSP的建立过程中,LSR分配标签时采用的处理方式。
标签分配控制方式有两种方式。
-
独立标签分配控制方式(Independent):本地LSR可以自主地分配一个标签绑定到某个FEC,并通告给上游LSR,而无需等待下游的标签。
-
有序标签分配控制方式(Ordered):对于LSR上某个FEC的标签映射,只有当该LSR已经具有此FEC下一跳的标签映射消息、或者该LSR就是此FEC的出节点时,该LSR才可以向上游发送此FEC的标签映射。
标签保持方式(Label Retention Mode)
标签保持方式是指LSR对收到的、但目前暂时不需要的标签映射的处理方式。
LSR收到的标签映射可能来自下一跳,也可能来自非下一跳。
如表3,标签保持方式有两种方式。
标签保持方式 | 含义 | 描述 |
---|---|---|
自由标签保持方式(Liberal) | 对于从邻居LSR收到的标签映射,无论邻居LSR是不是自己的下一跳都保留。 | 当网络拓扑变化引起下一跳邻居改变时:
|
保守标签保持方式(Conservative) | 对于从邻居LSR收到的标签映射,只有当邻居LSR是自己的下一跳时才保留。 |
-
下游自主方式(DU)+ 有序标签分配控制方式(Ordered)+ 自由标签保持方式(Liberal),该方式为缺省方式。
-
下游按需方式(DoD)+ 有序标签分配控制方式(Ordered)+ 保守标签保持方式(Conservative)。
-
下游自主方式(DU)+ 独立标签分配控制方式(Independent) + 自由标签保持方式(Liberal)。
-
下游按需方式(DoD)+ 独立标签分配控制方式(Independent) + 保守标签保持方式(Conservative)。
LDP安全机制
为了提高LDP报文的安全性,MPLS提供了三种保护机制:LDP MD5认证、LDP Keychain认证和LDP GTSM。
LDP Keychain认证是比LDP MD5认证更安全的加密认证,对于同一邻居,只能选择其中一个加密认证;而LDP GTSM用来防止设备受到非法LDP报文的攻击,其可以与前面两个配合使用。
LDP跨域扩展
LDP跨域扩展通过使能LDP按最长匹配原则查找路由,使LDP能够依据聚合后的路由建立起跨越多个IGP区域的LDP LSP。
LDP为BGP路由分标签
LDP为BGP路由分标签是指LDP为带标签的公网32位掩码的BGP路由建立LDP Egress LSP。
LDP FRR
LDP FRR(Fast Reroute)为MPLS网络提供快速重路由功能,实现了链路备份;当主LSP故障时,流量快速切换到备份路径,从而最大程度上避免流量的丢失。
配置远端LDP会话示例
组网需求
如图1所示,LSRA、LSRC是IP/MPLS骨干网的PE设备。LSRA和LSRC上需要部署MPLS L2VPN业务来实现VPN站点的二层互联,因此LSRA和LSRC之间需要配置远端LDP会话来实现VC标签交换。
配置思路
若LSRA和LSRC直连,在LSR上配置本地LDP会话不仅建立LDP LSP来承载业务,还可以实现VC标签的交换,而本例中因为LSRA和LSRC非直连,所以必须配置远端LDP会话。采用如下配置思路:
- 在LSR上配置OSPF,实现骨干网的IP连通性。
- 在LSRA和LSRC上配置远端LDP会话,实现VC标签的交换。
LSRA的配置文件
#
sysname LSRA
#
mpls lsr-id 10.10.1.1
mpls
#
mpls ldp
#
mpls ldp remote-peer lsrc
remote-ip 10.10.1.3
#
interface GigabitEthernet1/0/0
ip address 10.1.1.1 255.255.255.0
#
interface LoopBack0
ip address 10.10.1.1 255.255.255.255
#
ospf 1
area 0.0.0.0
network 10.10.1.1 0.0.0.0
network 10.1.1.0 0.0.0.255
#
return
LSRB的配置文件
#
sysname LSRB
#
interface GigabitEthernet1/0/0
ip address 10.1.1.2 255.255.255.0
#
interface GigabitEthernet2/0/0
ip address 10.2.1.1 255.255.255.0
#
interface LoopBack0
ip address 10.10.1.2 255.255.255.255
#
ospf 1
area 0.0.0.0
network 10.10.1.2 0.0.0.0
network 10.1.1.0 0.0.0.255
network 10.2.1.0 0.0.0.255
#
return
LSRC的配置文件
#
sysname LSRC
#
mpls lsr-id 10.10.1.3
mpls
#
mpls ldp
#
mpls ldp remote-peer lsra
remote-ip 10.10.1.1
#
interface GigabitEthernet1/0/0
ip address 10.2.1.2 255.255.255.0
#
interface LoopBack0
ip address 10.10.1.3 255.255.255.255
#
ospf 1
area 0.0.0.0
network 10.10.1.3 0.0.0.0
network 10.2.1.0 0.0.0.255
#
return