MPLS LDP 基础

基本概念

LDP

LDPMPLS的一种控制协议,相当于传统网络中的信令协议,负责FEC的分类、标签的分配以及LSP的建立和维护等操作。LDP规定了标签分发过程中的各种消息以及相关处理过程。

LDP工作步骤

LSR之间建立LDP会话。

LSR之间基于LDP会话动态交换标签与FEC的映射信息,并根据标签信息建立LSP

LDP会话

本地LDP会话:建立会话的LSR之间是直连

远程LDP会话:建立会话的LSR之间是直连或者不直连

LDP-ID

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

标签空间标识符:值为0,则表示基于设备的标签空间

                             值不为0,则表示基于接口的标签空间

LDP消息

消息类型

消息名称

传输层协议

作用

Discovery Message

Hello

UDP

LDP发现机制中宣告本LSR并发现邻居

Session Message

Initialization

TCP

LDP Session建立过程中协商参数

Keepalive

监控LDP SessionTCP连接的完整性

Advertisement

Message

Address

宣告接口地址

Address Withdraw

撤消接口地址

Label Mapping

宣告FEC/Label映射信息

Label Request

请求FEC的标签映射

Label Abort Request

终止未完成的Label Request Message

Label Withdraw

撤消FEC/Label映射

Label Release

释放标签

Notification Message

Notification

通知LDP Peer错误信息

LDP消息类型:

发现消息( Discovery Message):用来宣告和维护网络中一个 LSR 的存在;用于通告和维护网络中 LSR 的存在,如 Hello 报文。
会话消息( Session Message):用于建立、维护和终止 LDP 对等体之间的会话,如 Initialization 报文、 Keepalive 报文。
通告消息( Advertisement Message):用来生成、改变和删除 FEC 的标签映射。
通知消息( Notification Message):用来宣告告警和错误信息。
LDP消息承载在UDP TCP 之上,端口号均为 646 。其中发现消息基于 UDP 传递;会话消息、通告消息、通知消息都基于 TCP 传递。

LDP报文封装

LDP 头部长度为 10 Byte ,包括 Version PDU Length LDP Identifier 三部分。
Version 占用 2 Byte ,表示 LDP 版本号,当前版本号为 1
PDU Length 占用 2 Byte ,以字节为单位表示除了 Version PDU Length 以外的其他部分的总长度。
LDP Identifier ,即 LDP ID ,长度 6 Byte ,其中前 4 Byte 用来唯一标识一个 LSR ,后 2 Byte 用来表示 LSR 的标签空间。
LDP 消息包含五个部分。
U 占用 1 bit ,为 Unknown Message bit 。如果对端收到的 LDP 消息中“ Message type ”字段为未知的 LDP 消息类型,且“ U ”字段的值为“ 0 ”,则向源端发送通知消息;如果对端收到的 LDP 消息中“ Message type ”字段为未知的 LDP 消息类型,且“ U ”字段的值为“ 1 ”,则忽略该未知消息。
Message Length 占用 2 Bytes ,以字节为单位表示 Message ID Mandatory Parameters Optional Parameters 的总长度。
Message ID 占用 32 bit ,用来标识一个消息。
Mandatory Parameters Optional Parameters 分别为可变长的该消息的必须的参数和可选的参数。
Message Type 表示具体的消息类型,目前 LDP 定义的常用的消息有 Notification Hello Initialization Keepalive Address Address Withdraw Label Mapping Label Request Label Abort Request Label Withdraw Label Release

工作原理

LDP状态机

Non-Existent:TCP建立之前处于该状态;

Initialized:TCP建立完成处于该状态;

Opensent:主动端发送init报文处于该状态;

OpenRec:被动端接收到init报文处于该状态;

Operational:处于OpenRec状态下,接收到Keepalive报文,则进入到该状态,标明LDP会话建立成功。

会话建立过程

发现阶段和TCP建立

1.设备周期发送LDP链路Hello报文,实现LDP发现机制。//基本发现机制只能发现直连邻居,通过扩展发现机制发现非直连的邻居

2.Hello报文中携带传输地址,通过UDP(646)组播(224.0.0.2)发送

TCP建立

1.由传输地址大的发起TCP连接  //传输地址必须路由可达

会话建立与保持

1.主动方发送LDP初始化报文,协商建立LDP会话的参数;

2.协商成功发送keepalive报文

3.收到keepaliv,则进入operational状态,LDP会话建立成功,之后周期发送keepalive报文确认存活。

标签的发布与管理

内容

名称

默认

含义

标签发布方式

(Label Advertisement Mode)

下游自主方式(Downstream UnsolicitedDU

对于一个特定的FECLSR无需从上游获得标签请求消息即进行标签分配与分发。

下游按需方式(Downstream on DemandDoD

对于一个特定的FECLSR获得标签请求消息之后才进行标签分配与分发。

标签分配控制方式

(Label Distribution Control Mode)

独立方式(Independent

本地LSR可以自主地分配一个标签绑定到某个FEC,并通告给上游LSR,而无需等待下游的标签。

有序方式(Ordered)

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

标签保持方式

(Label Retention Mode)

自由方式(Liberal)

对于从邻居LSR收到的标签映射,无论邻居LSR是不是自己的下一跳都保留。

保守方式(Conservative)

对于从邻居LSR收到的标签映射,只有当邻居LSR是自己的下一跳时才保留。

注:华为设备目前缺省模式为下游自主方式( DU )+ 有序标签分配控制方式( Ordered )+ 自由标签保持方式( Liberal )。

PHP特性

PHPPenultimate Hop Popping,次末跳弹出),如果激活了PHP特性,那么egress节点在为本地路由分配标签的时候,会分配一个特殊标签(3)隐式空标签

作用:减轻Egress路由器的压力

但在Qos的场景下,标签被弹出后,其中的优先级也会一并丢失。此时需要显式空标签机制,Egress节点向倒数第二跳分配特殊标签(0)显式空标签

缺省情况下分配的是隐式空标签。

label advertise { explicit-null | implicit-null | non-null }  //配置分配给倒数第二跳标签。

基本配置

R1

mpls lsr-id 1.1.1.1
mpls
#
mpls ldp
#                                                                                                                                                   interface GigabitEthernet0/0/0
 ip address 10.0.12.1 255.255.255.0 
 mpls
 mpls ldp

[Huawei-mpls] lsp-trigger { all | host | ip-prefix ip-prefix-name | none }

[Huawei-GigabitEthernet0/0/0] mpls ldp advertisement { dod | du }

[Huawei-mpls-ldp] label distribution control-mode { independent | ordered }

  • 24
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值