其他分享
首页 > 其他分享> > MPLS LDP协议

MPLS LDP协议

作者:互联网

一、LDP 协议

  LDP(Label Distribution Protocol,标签分发协议),应用于MPLS网络,具有配置简单、可提供路由拓扑驱动建立LSP、支持大容量LSP等优点。

  LDP的工作需要依靠底层的IGP协议。是MPLS的一种控制协议,LDP通过Hello报文发现邻居,并且基于TCP建立邻居间的会话,能够动态地为FEC分配标签,并建立LSP(Label Switched Path,标签交换路径)。

 

二、LDP对等体及LDP会话

  LDP对等体

  LDP对等体是指相互之间存在LDP会话、使用LDP来交换标签信息的两个LSR。LDP对等体通过它们之间的LDP会话获得对方的标签映射,LDP对等体也称为LDP邻居。

  LDP会话

  

  本地LDP会话(Local LDP Session):建立会话的两个LSR之间是直连的。(如图:R1和R2、R2和R3、R3和R4)

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

 

三、LDP四种报文类型

  (1)发现(Discovery)报文:用于通告和维护网络中LSR的存在,使用Hello报文。

  (2)会话(Session)报文:用于建立、维护和终止LDP对等体之间的会话,如Initialization报文、Keepalive报文。

  (3)通告(Advertisement)报文:用于创建、改变和删除FEC的标签映射。

  (4)通知(Notification)报文:用于提供建议性的报文和差错通知。

  为保证LDP报文的可靠发送,除了Discovery报文使用UDP传输外,LDP的Session报文、Advertisement报文和Notification报文都使用TCP传输

 

四、基本概念

  4. 1 LSR ID

  (1)每一台运行MPLS的LSR必须拥有一个域内唯一的LSR ID

  (2)激活MPLS之前,必须为设备配置 MPLS ID使用配置命令 mpls lsr-id)。

  (3)LSR ID长度为32bit,与IPv4地址的格式相同。

  (4)通常情况,我们选择使用Loopback接口地址作为 LSR ID。

 

  4.2 LDP ID

  (1)每一台运行了LDP的LSR设备必须拥有LSR ID外,还必须拥有LDP ID。

  (2)LDP ID的长度为48bit,由32bit的LSR ID 与 16bit的标签空间标识符(Label Space ID)构成。

  (3)LDP ID以 “LSR ID : 标签空间标识” 的形式表示,如 2.2.2.2:0。

  (4)标签空间标识一般存存两种形态:

    值为0:表示基于设备(或基于平台)的标签空间。

    值为1:表示基于接口的标签空间。

 

  4.3 传输地址

  (1)互为邻居的LSR需基于双方的传输地址(Transport Address)建立TCP连接。

  (2)邻居之间通过Hello报文知晓邻居的传输地址

  (3)在邻居知道了通信双方的传输地址后,邻居之间尝试TCP三次握手(基于传输地址),来交互LDP的初始报文、标签映射报文,这些报文都使用传输地址来通信。

  (4)传输地址会被用于邻居间TCP连接,因此LSR必须拥有到达邻居传输地址的路由

  (5)缺省情况下,公网LDP的传输地址等于设备的LSR ID,私网的传输地址等于接口的主IP地址。

  (6)在接口视图下,使用mpls ldp transport-address命令,可以修改传输地址

 

 五、LDP会话建立过程

  

  (1)通过发Hello报文发现邻居。

  (2)通过TCP三次握手来创建会话。

 

六、在MPLS中,运行LDP协议的过程

  (1)LSR 首先通过运行IGP协议(如:OSPF、IS-IS)来构建路由表,FIB表

  (2)LDP根据相应的模式,为路由表中的路由前缀(FEC)分配标签。

  (3)LDP根据相应的模式,将自己为路由前缀分配的标签,通过LDP通告给LDP邻居。

  (4)LSR将自己为路由前缀分配的标签,以及LDP邻居为路由前缀通告的标签存储起来,并形成关联。

  (5)当LSR转发到达目的网络的标签时,所使用的出站标签总是下游LDP邻居所通告的标签(即设备到达目的网络的下一跳设备)

 

七、隐定空标签、PHP特性

  PHP(Penultimate hop popping,次末跳弹出);值为3的标签,被称为隐式空标签(Implicit Null Label)。

  (1)倒数第地跳LSR进行标签交换时,如果发现交换后的标签值为3,则将标签弹出,并将报文直接发给最后一跳,最后一跳收到报文直接进行IP转发或下一层标签转发。

  (2)MPLS标签在LSP的最后一跳是没有使用价值的,因此可以在倒数第二跳就弹出MPLS标签,从而提升转发效率。

  

八、显示空标签

  为了保证端到端的Qos信息不丢失,在配置MPLS Qos的应用时,需要配置 label advertise explicit-null,使LSR设备在给最后一跳设备传值时,使用的是显示空标签。标签值为特殊的值:0

 

九、LDP的基础配置

  

  (1)在R1、R2、R3、R4上运行OSPF,实现全网互通。

  (2)在RR1、R2、R3、R4上激活MPLS及LDP,设备的Loopback 0接口作为LSR ID。

  (3)R1的配置如下(R2、R3、R4配置类拟):

    [R1] mpls lsr-id 1.1.1.1                   //配置lSR-ID

    [R1] mpls ldp                                  //激活全局ldp功能

    [R1-ldp] lsp-trigger all                     //配置LSP触发策略

    [R1] int gi0/0/0

    [R1-Gi0/0/0] mpls en                       //在接口激活mpls

    [R1-Gi0/0/0] mpls ldp  en                //激活ldp功能

 

九、相关命令

  dis mpls ldp peer                              //查看LDP的邻居

  dis mpls interface                             //查看MPLS的接口信息

  dis mpls ldp interface                       //查看LDP的接口信息

  dis mpls lsp                                      //查看MPLS的LSP路径

  dis mpls lsp ver                                //查看MPLS的LSP路径详细

  dis mpls ldp lsp                                 //查看LDP的LSP路径

  [mpls] label advertise { explicit-null | implicit-null | non-null }      //分别对应显示空标签、隐式空标签、正常标签

  ping lsp                                            //ping命令

  tracert lsp                                        //tracert命令

标签:协议,标签,报文,MPLS,LDP,LSR,ID
来源: https://www.cnblogs.com/PBDragon/p/13460642.html