赶紧收藏起来,一文详解MPLS基础和工作原理

MPLS是一种在IP骨干网上利用标签来指导数据报文高速转发的协议,相较于传统的IP路由方式,MPLS提供了一种类似于交换机转发的新的网络交换方式,它将IP地址映射为简短且长度固定、只具有本地意义的标签,以标签交换替代IP查表,从而显著提升转发效率。

很多人会有疑惑,MPLS可是骨干网上的东西,路由数量也非常多,那路由条目的数量十分庞大,那么会带来的问题,要从路由转发原理看起,路由转发很简单,一句话,根据路由表转发,有则转发,无则丢弃,当路由器收到1个数据包,查看数据包的目标ip,然后要把所有的路由条目全部查一遍,再选择其中最优的一条进行发送。

这一千多万条路由,从头查到尾,必然带来延迟,所以就在想,为什么要从头查到尾,匹配到不就行了吗,一千万条路由,查到第1万条的时候匹配到数据包的目标地址了,为什么不直接转发?

因为路由条目是有优先级比较的,他不知道后面还有没有更优的,所以要一千万条从头查到尾。

而交换机就不同了,当交换机收到1个数据包,看数据包的目标mac,然后根据mac地址表从对应的接口直接发出,

因为交换没有复杂的优先级比较机制,转发不需要遍历整个mac表,每个mac对应唯一的接口,也容易把mac表下发到硬件转发引擎上,更好的提高效率。

MPLS技术,会给数据包打上一个标签,然后再产生一个标签转发表。这个标签转发的机制,类似于交换转发的机制,效率很高。

这样当路由器收到1个包,不需要再看路由表,直接按标签来转发,延迟就低了。

mpls的报文封装,在二层和三层报头之间,加入了mpls标签,所以mpls也经常被叫做2.5层技术。

路由器的角色:

1.LER(Label Edge Router): 标签边界路由器,在MPLS网络中,具备标签分配功能,用于标签的压入或弹出,并且同时连接IP与MPLS网络的路由器,如上图中的RTB,RTD。

入站LER:负责对接收到的IP报文压入标签

出站LER:负责给离开MPLS网络的报文弹出标签

2.LSR(Label Switched Router):标签交换路由器,在MPLS网络中,具有标签分配和标签转发能力的路由器,用于标签的交换,如图中的RTC

3.LSP(Label Switched Path):标签交换路径,即到达同一目的地址的报文在MPLS网络中经过的路径(单向路径)

入节点(Ingress):LSP的入口LER

中间节点(Transit): 位于LSP中间的LSR

出节点(Egress):LSP的出口LER

4.FEC(Forwarding Equivalent Class):转发等价类,一般指具有相同转发处理方式的报文。在MPLS网络中,到达同一目的地址(网络前缀相同的IP地址)的所有报文就是一个FEC (FEC:华为默认32位的主机路由)

FEC的划分方式非常灵活,可以是以源地址、目的地址、源端口、目的端口、协议类型或VPN等为划分依据的任意组合

MPLS体系结构:LSP建立到分发标签的整个过程

控制平面:负责产生和维护路由信息以及标签信息

路由信息表RIB(Routing Information Base):由IP路由协议生成,用于选择路由

标签分发协议LDP(Label Distribution Protocol):负责标签的分配、标签转发信息表的建立、标签交换路径的建立、拆除等工作

标签信息表LIB(Label Information Base):由标签分发协议生成,用于管理标签信息

转发平面:即数据平面(Data Plane),负责普通IP报文的转发以及带MPLS标签报文的转发

转发信息表FIB(Forwarding Information Base):从RIB提取必要的路由信息生成,负责普通IP报文的转发

标签转发信息表LFIB(Label Forwarding Information Base):简称标签转发表,由标签分发协议建立LFIB,负责带MPLS标签报文的转发

MPLS路由器上,报文的转发过程:

当收到普通IP报文时,查找FIB表:

如果Tunnel ID(隧道id)为0x0,则进行普通IP转发

如果Tunnel ID为非0x0,则查找LFIB表,进行MPLS转发

当收到带标签的报文时,查找LFIB表:

如果对应的出标签是普通标签,则进行MPLS转发

如果对应的出标签是特殊标签,如标签3,则将报文的标签去掉,进行IP转发

猜你喜欢

转载自blog.csdn.net/zhynet000001/article/details/125278315