mpls

tech2026-02-16  1

目录

概述名次解释mpls multi-protocol label switching小结标签交换路由器FEC forwarding equivalence classlsp标签参考文献

概述

交换:处理而二层到三层的地址映射,并且把包转换到目的端口 工业界的三种交换方式:

进程交换process switching: 一条数据流的第一个包放到系统缓存中,他的目的地址会拿到路由表中查询对比,路由器的处理器(cpu or process)进行crc校验,重写mac地址,对这条流中其他的包也这样操作,查询路由,重写mac,crc等。显然延迟较大,利用system buffer还有processor 处理每一个包。

但是这种方式依旧可以使用,比如在基于每个包的负载分担,或者debug ip packet.

fast switch : 快速交换使用了route cache,路由缓存,存储关于某个数据流的信息,比如目的mac,目的借口等,但是我们只需要为第一个包做process switching, 信息存到cache, 后续不需要其他的包分别做路由处理了。ces cisco express forwarding 思科cef 是一种三层协议,基于硬件,不仅仅是将整个数据存入system buffer,而是将整个路由表,拓扑表,下一跳的地址,mac地址都进行预存,只要路由表中存在的条目,都会提前预读取,当有新的数据请求发送时,不需要cpu查询目的接口,目的mac等,直接从缓存读取。

名次解释

路由表:rib route information base 思科在cef中使用的不是路由表,而是转发信息库,fib。转发表:fib–转发信息库 forwarding information base。 转发表包括前缀信息(路由表)下一跳,出接口标签信息库:lib,存放路由前缀和标签的捆绑,比如我自己的,以及我的邻居传给我的。lfib表:由lib和cef共同维护的。

mpls中,标签包查找的就是lfib表; 普通的IP包,查找的表就是cef表,也就是fib。

mpls multi-protocol label switching

在ip头前插入一个mpls字段,在前面时一些二层信息,数据在传输过程中,不关心三层数据,只看mpls标签。

mpls一种新的转发机制,根据标签信息进行转发mpls的标签一般对应目的地址(路由前缀mpls以来ip路由以及cef交换(比如运行之前可能需要动态路由协议,学习路由mpls 基于报文头部进行转发mpls可以承载多种三层协议 所有的路由器运行一个路由协议,比如ospf, 学习路由,维护rib以及cef表路由器运行标签分发协议ldp,维护lib表。ldp首先会为rib中的所有路由前缀,本地捆绑一个标签; 把自己捆绑的标签通过ldp通告给邻居。 其实捆绑的本地标签时为了给邻居。路由器更新cef表,维护lfib表。

这一条形成的路径就叫lsp:标签交换路径。

小结

避免了ip的逐跳转发情况,减少了对数据包的深入分析,借助标签快速转发路径,使得数据沿着一条预先建立的路径快速转发。数据包在进入mpls网络入口路由器上被进行一次三层查找,在此后的lsr只是进行简单的标签交换动作,无需进一步分析三层信息。每个lsr在数据转发之前需要建立好lib,以及lfib,当lsr收到一个标签数据帧时,将数据帧的标签在lfib中进行查找,在根据lfib中指示的相关动作进行压入,弹出交换移除等动作。

标签交换路由器

支持mpls的路由器,可以理解mpls标签,并且在链路层面对mpls标签包进行交换,有三种类型:

ingress LSRs:收到一个ip包没有标签,在包前插入一个标签,发送数据包。egress LSRs: 收到标签包,移除标签,发送数据包。上述两种数据标签路由器 edge LSRsintermeditae LSRs

FEC forwarding equivalence class

转发等价类

在转发过程中,具有相同处理方式的一组数据,可 通过地址,隧道,cos等方式标示,通常在一台设备上,对于一个fec分配相同的标签属于一个fec的流量具有相同转发方式,但是并不是拥有相同标签的报文都属于同一个fec,因为这些报文exp值可能不同,执行方式可能不同。决定报文属于哪一个fec的路由器时入站lsr,它对报文进行分类和压入。

lsp

实际上就是lsr的一个序列。穿越mpls网络或者部分mpls网络的路径。 mpls是一个单项路径,去的时候一条路,回去未必同一条。

标签

多标签: 一般mpls只是处理最顶层标签 标签栈设计时判断是否,根据bos位。

参考文献

红茶三杯

最新回复(0)