MPLS 多协议标签交换技术

包交换

标签交换

MPLS

 构建LSP

构建静态LSP

构建动态LSP

控制层面:

数据层面:

包交换

数据组成数据包,之后在各个网络节点中不断传递,最终到达目标
MPLS 多协议标签交换技术_第1张图片

包交换过程:假设PC1向PC3发数据包。在 PC1 上先进行封装(先三层封装再进行二层封装), 目标 MAC :网关的 MAC 地址 ,数据包来到交换机,交换机基于 MAC 表把数据包交到路由器上,路由器先看二层发现目标MAC 是自己的 MAC 地址,解三层,基于目标 IP 查询本地路由表找到对应的路由条目,根据指示,路由表会指示下一跳和出接口,把数据包从对应接口转发出去。再发出去之前,进行二层封装,源MAC :出接口的 MAC ,目标MAC :①直连网段:目标 IP 对应的 MAC 地址②非直连:下一跳的 MAC 地址,下一跳的 MAC 地址去 ARP 表上查询,ARP 表上有记录直接写,无记录发 ARP 请求获取,封装完成。来到交换机经过二层转发来到目的地。

标签交换

标签交换在二层和三层封装之间,添加一个和路由条目存在映射关系的标签,之后维护一张记录对应关系及转发接口的表,携带标签的数据来到设备上,先看标签,之后基于维护的标签转发表进行转发,而不再需要查看三层的内容。标签交换需要先给数据包中打上标签,之后在到达目标之前还需要将标签弹出

MPLS

MPLS 多协议标签交换技术_第2张图片

MPLS域:所有运行标签交换的路由器组成的转发网络,可以看作是一个MPLS网络

LSR ---标签交换路由器:运行了MPLS的设备

标签 :标签交换前提首先得有标签,标签是每台 LSR 基于本地的路由表中的路由条目来生成的。
FEC ---等价转发类: 所有具有相同特征(所有匹配到同一条路由条目的数据包)的数据包。同一个FEC需要配置同一个标签。
LIB(标签信息表): 存放 每台LSR 将自己的标签和 FEC的映射信息
LFIB表---标签转发信息表:LIB表 和FIB表进行结合,生成 LFIB表
在整个过程中, LSR 设备除了需要自己分配标签以外还需要知道其他 LSR 设备针对同一个
FEC 分配的标签,所以标签交换和包交换一样也分为两个层面---控制层面,数据层面
包交换:
控制层面---路由协议的数据流方向,目的是为了获取未知网段的路由信息,生成路由表。
数据层面---设备基于已经完善的路由表(FIB)来转发具体的数据信息,其方向正好和控制层流量相反。
标签交换:
控制层面---基于FEC分配标签,并获取其他LSR对同一个FEC分配的标签,之后,记录生成LIB表,之后结合FIB生成LFIB表。---这个过程可以基于静态来完成,也可以基于动态协议来完成---LDP协议---标签分发协议
数据层面---设备基于LFIB表,根据标签进行转发。
入站 LSR --- (ingress)MPLS域的边界,当没有标签的数据包来到入站LSR上,需要在数据包中压入标签。
中转 LSR ---(transit)完成标签置换动作的LSR设备。
出站 LSR ---(egress)---也是MPLS域的边界,完成标签的弹出动作。
整个过程中,数据层流量流动的路径为 R1-R2-R3-R4 ,这条路径我们称为 LSP ---标签交换
路径 。需要注意的是,LSP是单向的,如果想让数据双向来回,则还需要构建一条R4-
R3-R2-R1的路径。
MPLS 多协议标签交换技术_第3张图片

 MPLS 多协议标签交换技术_第4张图片

 MPLS 多协议标签交换技术_第5张图片

 构建LSP

构建静态LSP

MPLS 多协议标签交换技术_第6张图片

构建动态LSP

动态搭建LSP,使用LDP协议(标签分发协议);LDP协议基于IGP协议,应用于MPLS的控制层面

控制层面:

1.分配标签

基于FEC分配,标签的分配是每台设备个人行为

分配标签不是所有设备针对自己本地路由表中所有的路由条目分配标签。

主动分配判定自己是到达某网段的出站LSR

要搭建到达目标网段的LSP,所有中间的LSR都需要给对应的FEC分配标签才行。其他设备只有在收到标签和目标网段的映射关系后,才会被动的分配标签

被动分配:先检查,主要检查目标网段在本地路由表是否可达,以及下一跳和通告者是否相同。通过,分配标签 不通过,不能分配标签。

2.传递标签

出站LSR分配完标签之后,需要传递给其他的LSR设备,传递的前提条件是彼此之间得先是LDP对等体关系。而LDP对等体关系建立的前提条件是需要先建立LDP会话

本地LDP会话的建立过程:

1,发现邻居LDP通过组播形式周期性的发送hello包来发现邻居 HELLO包中携带一些参数,其中包含传输地址和LDP ID

传输地址:这个地址主要是后面建立TCP会话时需要用到的地址,使用该设备的LSR ID来作为这个地址。

LDP ID:所有激活LDP协议的LSR设备都要求必须具有一个LDP ID,这个ID 是由48位二进制构成,前32位使用是LSR ID,后16位用0来表示。

MPLS 多协议标签交换技术_第7张图片

 2.建立TCP会话:双方交互完hello包之后,根据双方获取到的传输地址来建立TCP会话。

检查:需要确认收到的传输地址在本地路由表中是否可达,可达则可以正常建立TCP会话。

建立:传输地址大的一方主动建立TCP会话

MPLS 多协议标签交换技术_第8张图片

 3.完成LDP会话建立TCP会话建立之后

主动方:优先使用初始化报文(协商的参数)发给被动方。

被动方:如果确认里面的参数,就回复keeplive报文进行确认,同时发送自己本地的初始化报文。

主动方:收到,将对参数进行确认,如果没问题则也将发送keeplive报文。

双方都收到keeplive报文,代表参数协商成功,LDP会话建立成功。

MPLS 多协议标签交换技术_第9张图片

标签传递模式:

通过下游自主模式DU传递标签,所有LSR在分配好标签之后,可以主动的将标签传递给其他LSR。选择DU模式进行传递标签时,将标签发给所有的对等体关系。当设备收到标签之后,将基于路由表判断上下游关系。华为设备,只有上游设备会记录下游设备发送的标签

数据层面:

在数据层面流量通过的过程当中,入站LSR设备和出战LSR设备都需要查询两张表,一张FIB表,一张LFIB包才能完成转发过程,导致效率降低,需要优化。

优化思路:

入站LSR ---因为入站的数据包中不包含标签,所以,必须查看FIB表。则可以直接将出站标签添加到FIB表中,这样则将不再需要查看LFIB表。

出站LSR ---PHP ---次末跳弹出机制----出站LSR设备在给FEC分配标签时直接分配特殊标签3(隐式空标签),之后,将这个标签传递给自己上游设备,上游将会把这个标签作为出站标签记录在LFIB表中。当有数据来到设备上,匹配LFIB时发现出站标签为3,则将直接把这个标签弹出。这样出站LSR设备收到的将是一个不带标签的数据包,则他可以直接查看FIB表来实现转发。

你可能感兴趣的:(HCIP,网络)