LDP --- 标签分发协议

LDP --- 标签分发协议 --- 主要应用在MPLS的控制层面
MPLS控制层面需要完成的工作主要就是分配标签和传递标签。分配标签的前提是本地路由表中得先存在标签,传递标签的前提也是得先具备路由基础。所以,LDP想要正常工作,则需要IGP作为基础。

1,分配标签

        分配标签并不是所有设备都针对自己本地路由表中所有的路由条目分配标签,而是在判定自己是到达某网段的出站LSR时,才会 主动 分配标签。
        当然,在构成到达目标网段的LSP过程中,所有中间的LSR都需要给对应的FEC分配标签才行。则其他设备只有在收到标签和目标网段的映射关系后,才会被动的分配标签。分配标签之前需要完成检查动作,主要检查目标网段本地路由表是否可达,以及下一跳和通告者是否相同。检查通过则可以分配标签,不通过则不能分配标签。

LDP的标签分配方式:

1,有序方式 --- 华为设备默认选择的是有序方式分配标签
2,独立方式 --- 不需要确认自己是出站LSR,也可以主动给路由表中路由条目分配标签。

2,传递标签

        出站LSR分配完标签之后,需要传递给其他的LSR设备,传递的前提条件是彼此之间得先是 LDP对等体 关系。而LDP对等体关系建立的前提条件是需要先建立 LDP会话
本地LDP会话 --- 直连的两个设备之间建立LDP会话
远程LDP会话 --- 非直连设备之间,可以通过手工指定的方式来创建远程的LDP会话。
LDP协议在建立本地的LDP会话时,不需要手动指定邻居的IP地址,可以自动的发现邻居关系。主要是因为LDP首先会总过组播(224.0.0.2)的形式周期性发送hello包来发现邻居。hello包使用UDP 646端口来完成。

本地LDP会话的建立过程:

1,在LSR上激活LDP之后,首先周期性的发送hello包来完成对等体的发现工作。

在HELLO包中需要携带一些参数,其中包含传输地址和LDP ID。
传输地址:这个地址主要是后面建立TCP会话时需要用到的地址,默认情况下,我们将使用该设备的LSR ID来作为这个地址。所以要求,LSR ID必须是可用且可达的IP地址。
LDP ID:所有激活LDP协议的LSR设备都要求必须具有一个LDP ID,这个ID是由48位二进制构成,表达方式位32位:16位,前32位使用是LSR ID,后16位用0来表示。这个和标签空间有管,所有基于设备的标签空间,其值都为0。
hello包的发送周期默认为5s,保活时间为3倍hello时间,即默认15秒
2,双方在交互完hello包之后,将获取到对方传输地址,则将根据这个传输地址来建立TCP会话。
在建立TCP会话之间,LDP也存在检查动作,需要先确认收到的传输地址,在本地路由表中是否可达,可达则可以正常建立TCP会话。
如果双方都建立TCP会话,则将创建两条双向通道,造成资源浪费。则在收到对端hello包中的传输地址后,将和本地的传输地址进行对比,传输地址大的一方,我们称为主动方,主动方则可以主动建立TCP会话,而被动方则不建立。

3,完成TCP会话建立之后,传递地址大的一方将优先使用初始化报文,里面包含一些协商的参数发给被动方。对方如果确认里面的参数,则将回复keeplive报文进行确认,同时发送自己本地的初始化报文,携带自己的参数。主动方收到后也将对参数进行确认,如果没问题则也将发送keeplive报文。双方都收到keeplive报文,则代表参数协商成功,LDP会话建立成功。

之后,也需要周期性的发送keeplive报文进行保活,发送周期默认为15S,保活时间为3倍的周期发送时间,则默认为45秒。

上下游关系

由数据层流量流动方向来决定,数据发送方为上游,接受方为下游。
从控制层的角度来看,则标签传递的方向应该是从下游发送到上游。之后上 游设备会去收集下游的标签

标签传递方式 

DU模式 --- 下游自主模式 --- 华为设备默认采用这种模式,所有LSR在分配好标签之后,可以主动的将标签传递给其他LSR
        如果选择的是下游自主模式,则设备在传递标签时,无法判断上下游关系的,则会将标签发给所有的对等体关系。当设备收到标签之后,则将可以基于路由表判断上下游关系。华为设备,只有上游设备会记录下游设备发送的标签,而上游设备发送的标签将不保存。(还有一种标签的保存模式是上下游标签都保存。)
DOD模式 --- 下游按需模式 --- 只有下游设备在收到上游设备通知之后,才会给上游设备发送标签。

数据层面流动过程

在数据层面流量通过的过程当中,入站LSR设备和出战LSR设备都需要查询两张表,一张FIB表,一张LFIB包才能完成转发过程,导致效率降低,需要优化。
优化思路:
入站LSR --- 因为入站的数据包中不包含标签,所以,必须查看FIB表。则可以直接将出站标签添加到FIB表中,这样则将不再需要查看LFPB表。
出站LSR --- PHP --- 次末跳弹出机制 ---- 出站LSR设备在给FEC分配标签时直接分配特殊标签3(隐式空标签),之后,将这个标签传递给自己上游设备,上游将会把这个标签作为出站标签记录在LFIB表中。当有数据来到设备上,匹配LFIB时发现出战标签为3,则他将直接把这个标签弹出。则这样出站LSR设备收到的将是一个不带标签的数据包,则他可以直接查看FIB表来实现转发。
华为设备默认开启次末跳弹出机制。

LDP的配置

1,先在所有LSR上启动IGP协议,保证路由基础
2,配置MPLS的LSR ID
[r1]mpls lsr-id 1.1.1.1
3,激活MPLS和LDP
全局激活
[r1]mpls
Info: Mpls starting, please wait... OK!
[r1]mpls ldp
接口激活
[r1-GigabitEthernet0/0/0]mpls
[r1-GigabitEthernet0/0/0]mpls ldp
[r1]display mpls ldp peer --- 查看LDP对等体关系
[r1]display mpls ldp session --- 查看LDP会话
[r4]display mpls lsp --- 查看LFIB表
注意:华为设备默认只给/32的主机路由分配标签,因为MPLS并没有主要应用在数据转发上,如果路由表中路由条目太多,则将导致生成过多LSP,造成资源浪费。
[r4-mpls]lsp-trigger all -- 这个命令可以让设备给出来/32主机路由外的路由分配标签MPLS解决路由黑洞问题
[r2]route recursive-lookup tunnel --- 在进行路由递归查找的时候,如果有隧道则递归进隧道
[r2]display fib verbose --- 查看FIB表的细节信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一路喝狗狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值