MPLS LDP

LDP 邻接体:
1、 本地邻接体(Local Adjacency):链路 Hello 消息发现的邻接体叫做本地邻接体。
2、 远端邻接体(Remote Adjacency): Target Hello 消息发现的邻接体叫做远端邻接体。


LDP 会话:
1、 本地 LDP 会话(Local LDP Session):建立会话的两个 LSR 之间是直连的。
2、 远端 LDP 会话(Remote LDP Session):建立会话的两个 LSR 之间可以是直连的,也可以是非直连的。


LDP 消息类型:
1、 发现(Discovery)消息:用于通告和维护网络中 LSR 的存在;
2、 会话(Session)消息:用于建立、维护和终止 LDP 对等体之间的会话;
3、 通告(Advertisement)消息:用于创建、改变和删除 FEC 的标签映射;
4、 通知(Notification)消息:用于提供建议性的消息和差错通知。
注:Discovery 消息使用 UDP,Session 消息、Advertisement 消息和 Notification 消息使用TCP传递。


标签空间:
1、 全局标签空间(Per-Platform Label Space):整个 LSR 使用一个标签空间。(目前主要使用全局标签空间)
2、 接口标签空间(Per-Interface Label Space):为 LSR 的每个接口指定一个标签空间。


LDP 发现机制:
1、 基本发现机制:用于发现链路上直连的 LSR。(LSR 通过周期性的发送 LDP Hello 报文,实现 LDP 基本发现机制,建立本地 LDP 会话)
2、 扩展发现机制:用于发现链路上非直连 LSR。(LSR 周期性的发送 Targeted Hello 消息到指定地址,实现 LDP 扩展发现机制,建立远端 LDP会话)


LDP 会话建立过程:
MPLS LDP_第1张图片
1、 两个 LSR 之间互相发送 Hello 消息。
2、 Hello 消息中携带传输地址,双方使用传输地址建立 LDP 会话。(选择传输地址较大的一方作为主动方,发起建立 TCP 连接)
3、 TCP 连接建立成功后,由主动方 LSRA 发送初始化消息,协商建立 LDP 会话的相关参数,包括 LDP 协议版本、标签分发方式、 Keepalive 保持定时器的值、最大 PDU 长度和标签空间等。
4、 被动方 LSRB 收到初始化消息后,如果不能接受相关参数,则发送 Notification 消息终止 LDP会话的建立;如果被动方 LSRB 能够接受相关参数,则发送初始化消息,同时发送Keepalive 消息给主动方 LSRA。
5、 主动方 LSRA 收到初始化消息后,如果不能接受相关参数,则发送 Notification 消息给被动方 LSRB 终止 LDP 会话的建立;如果能够接受相关参数,则发送 Keepalive 消息给被动方LSRB。
6、 当双方都收到对端的 Keepalive 消息后, LDP 会话建立成功。


标签发布方式(Label Advertisement Mode):
标签由下游指定,即标签的分配按从下游到上游的方向分发。
1、 下游自主方式 DU(DownstreamUnsolicited,华为默认方式):对于一个特定的 FEC, LSR 无需从上游获得标签请求消息即进行标签分配与分发;
2、 下游按需方式 DoD(Downstream on Demand):对于一个特定的 FEC, LSR 获得标签请求消息之后才进行标签分配与分发。

标签分配控制方式(Label Distribution Control Mode):
1、 独立标签分配控制方式(Independent):本地 LSR 可以自主地分配一个标签绑定到某个 FEC,并通告给上游 LSR,而无需等待下游的标签;
2、 有序标签分配控制方式(Ordered,华为默认方式):对于 LSR 上某个 FEC 的标签映射,只有当该 LSR 已经具有此FEC 下一跳的标签映射消息、或者该 LSR 就是此 FEC 的出节点时,该 LSR 才可以向上游发送此 FEC 的标签映射。

标签保持方式(Label Retention Mode):
1、 自由标签保持方式(Liberal,华为默认方式):对于从邻居 LSR 收到的标签映射,无论邻居 LSR 是不是自己的下一跳都保留。
2、 保守标签保持方式(Conservative):对于从邻居 LSR 收到的标签映射,只有当邻居 LSR 是自己的下一跳时才保留。