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会话,
而被动方则不建立。
分区
!](https://img-blog.csdnimg.cn/5e543c3db92348848cd24e2d9b3e5eba.png)
!](https://img-blog.csdnimg.cn/02d38eaf87c54a31950d565f9f1bad90.png)
3,完成TCP会话建立之后,传递地址大的一方将优先使用初始化报文,里面包含
一些协商的参数发给被动方。对方如果确认里面的参数,则将回复keeplive报文进
行确认,同时发送自己本地的初始化报文,携带自己的参数。主动方收到后也将对
参数进行确认,如果没问题则也将发送keeplive报文。双方都收到keeplive报文,
则代表参数协商成功,LDP会话建立成功。
之后,也需要周期性的发送keeplive报文进行保活,发送周期默认为15S,保活时
间为3倍的周期发送时间,则默认为45秒。
分区7.5HCIP中心暑假 的第3 页
上下游关系— 由数据层流量流动方向来决定,数据发送方为上游,接受方为下
游。从控制层的角度来看,则标签传递的方向应该是从下游发送到上游。之后上游
设备会去收集下游的标签。
标签传递方式— 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
hcip 第14天学习笔记
最新推荐文章于 2024-07-10 21:46:36 发布
本文详细介绍了MPLS的标签分发协议(LDP)在控制层面的工作原理,包括标签分配的有序和独立方式,以及标签的传递过程。LDP依赖IGP作为基础,通过LDP会话建立、TCP连接和初始化报文协商来完成标签的传递。此外,还讨论了标签分配的上下游关系和DU/DOD模式。最后,阐述了MPLS的优化机制如PHP,以提高数据转发效率。
摘要由CSDN通过智能技术生成