您的当前位置:首页正文

LDP协议介绍

2024-11-27 来源:个人技术集锦

LDP介绍

1.LDP协议概述

LDP(Label Distribution Protocol)规定了标签分发过程中的各种消息以及相关的处理过程。LSR之间将依据本地转发表中对应于一个特定FEC的入标签、下一跳节点、出标签等信息联系在一起,从而形成标签交换路径LSP。

2.LDP邻接体

当一台LSR接收到对端发送过来的Hello消息后LDP邻接体建立。LDP邻接体存在两种类型:本地邻接体(Local Adjacency)和远端邻接体(Remote Adjacency)。

  • 本地邻接体(Local Adjacency):链路Hello消息发现的邻接体叫做本地邻接体。
  • 远端邻接体(Remote Adjacency):Target Hello消息发现的邻接体叫做远端邻接体。
3.LDP对等体

LDP对等体是指相互之间存在LDP会话、使用LDP来交换标签消息的两个LSR。
LDP对等体通过它们之间的LDP会话获得对方的标签。

4.LDP会话

LDP会话用于LSR之间交换标签映射、释放等消息。LDP会话分为两种类型:
建LDP会话就是用来交换标签的,使用的是TCP连接。LDP会话的hello和超时分别是60秒和180秒。如果LDP邻居关系丢失,那么LDP会话也会断开。

  • 本地LDP会话(Local LDP Session):本地邻接体之间建立的会话是本地会话。建立本地会话的两个LSR之间是直连的。
  • 远端LDP会话(Remote LDP Session):远端邻接体之间建立的会话是远端会话。建立远端会话的两个LSR之间可以是直连的,也可以是非直连的。
5.LDP消息类型

LDP协议主要使用四类消息:

  • 发现(Discovery)消息:用于通告和维护网络中LSR的存在;
  • 会话(Session)消息:用于建立、维护和终止LDP对等体之间的会话;
    -通告(Advertisement)消息:用于创建、改变和删除FEC的标签映射;
  • 通知(Notification)消息:用于提供建议性的消息和差错通知。

为保证LDP消息的可靠发送,除了发现消息使用UDP外,LDP的会话消息、通告消息和通知消息都使用TCP传输。

6.LDP标识符(LDP Identifier)

用于标识特定LSR的标签空间范围。LDP标识符的格式为LSR ID:Label space ID,长度为六字节,其中:

  • LSR ID:表示LSR标识符,占四字节。
  • Label space ID:表示标签空间标识符,占两字节。
7.LDP会话
7.1LDP发现机制
  • 基本发现机制:用于发现链路上直连的LDP Peer
    LSR通过周期性的发送LDP Hello消息,实现LDP基本发现机制,建立LDP本地会话。
    LDP Hello消息使用UDP(Dport:646)协议,目的地址是组播地址224.0.0.2,报文中携带LDP Identifier及一些其他信息(例如hello-hold time、transport address)。这个hello包是不能跨网段传递的,而这个hello包被称为LDP Link Hello。
  • 扩展发现机制:用于发现链路上非直连LDP Peer。
    LSR周期性的发送Targeted Hello消息到目的地址,实现LDP扩展发现机制,建立LDP远端会话。
    Targeted Hello消息使用UDP(Dport:646)协议,目的地址是单播地址.报文携带LDP Identifier及一些其他信息(例如hello-hold time、transport address)。这样的hello称为LDP Targeted Hello。
7.2LDP会话建立


当双方都收到对端的Keepalive消息后,LDP会话建立成功。

抓包过程如下:

8.LDP LSP标签的建立和分发

LSP的建立过程实际就是将FEC和标签进行绑定,并将这种绑定通告LSP上相邻LSR的过程。

  • 当网络的路由改变时,如果有一个边缘节点发现自己的路由表中出现了新的直连路由,并且这一路由不属于任何现有的FEC,则该边缘节点需要为这一路由建立一个新的FEC。
  • 如果MPLS网络的出节点有可供分配的标签,则为FEC分配标签,并主动向上游发出标签映射消息,标签映射消息中包含分配的标签和绑定的FEC等信息。
  • 收到标签映射消息的LSR在其标签转发表中增加相应的条目,然后主动向上游LSR发送对于指定FEC的标签映射消息。
  • 当入节点LSR收到标签映射消息时,它也需要在标签转发表中增加相应的条目。这时,就完成了LSP的建立,接下来就可以对该FEC对应的数据分组进行标签转发。

标签映射信息如下:

9.LDP会话保护

当LDP本地会话间的直连链路出现故障时,LDP的邻接关系将被拆除,对应LDP会话和标签也将被删除。直到此直连链路恢复后,LDP会话重新建立并分发标签,最终达到LDP LSP重新收敛。但在这期间会导致LDP LSP流量的丢失。
在LDP本地会话两端配置了LDP会话保护后,会话的双方都会向对方发送Link Hello建立LDP本地会话,同时发送Targeted Hello消息建立LDP远端会话,Targeted Hello建立的远端邻接关系将为Link Hello建立的本地邻接关系提供冗余备份,形成LDP本地会话保护。

但要做这样的保护,LSR之间必须得有备用链路,否则无效。


10.IGP和LDP同步

在存在主备链路的组网中,当主链路发生故障时,IGP和LSP均切换到备份链路上。但当主链路从故障中恢复时,由于IGP比LDP收敛速度快,IGP会先于LDP切换回主链路,而此时主链路的LSP还没有建立,因此造成LSP流量丢失。
LDP和IGP同步的基本原理是:通过设置IGP的cost(65535)值来推迟路由的回切,直至LDP完成收敛。也就是在主链路的LSP建立之前,先保留备份链路LSP,让流量继续从备份链路转发。直至主链路的LSP建立成功,再删除备份LSP。

在Hold-max-cost时间内,如果LDP邻居一直没建起来,IGP也会将cost值恢复为正常值,切换到原转发路径。


A11和B1直连链路恢复之后,LDP会话建立之前,A11和B1之间链路的cost值保持65535;
等A11和B1之间LDP会话重新建立之后,cost值恢复为正常值。

显示全文