一、MPLS-概述

1 MPLS概述

1.1 IP路由回顾

交换方式:
1、 进程交换:使用系统缓存,整个过程CPU全程参与每一个数据包,CPU负担非常大

2、 快速交换:路由缓存,第一个包使用进程交换,然后放入缓存。

3、思科CEF交换,基于硬件平台,全部预存

1.2 MPLS介绍

MPLS基于2.5层,在IP头前面加标签头,转发交换依据标签头。

跑MPLS之前,先运行动态路由协议学路由。而且需要CEF支持。

1.2.1 MPLS初体验

1.2.1.1 第1步:运行IGP协议,维护RIB和CEF表

此处体验用IGP的OSPF讲解。

运行OSPF后,路由器之间彼此学习路由,放入RIB表。此时转发IP报文是可以的。

1.2.1.2 第2步:运行LDP,维护LIB表

路由器需要能支持MPLS,且能运行标签分发协议,主要为LDP、TDP、RSVP、MP-BGP等。
激活MPLS,运行标签分发协议LDP后:为路由表路由前缀捆绑标签,维护LDP邻居关系,同时将捆绑的标签通告为LDP邻居。

分发完后,形成新的LIB表项(本地捆绑的标签是给邻居用的)。此处没有全部标注,R1从邻居R2学标签200,R2也会从R1学标签100。

1.2.1.3 第3步:更新CEF表,维护LFIB表

标签包查的就是LFIB表,IP包查的是FIB表(CEF表),先查LFIB表,查入栈->出栈标签及出栈接口。

PC通过R1给30.0网段发数据流程:

PC发出IP包,R1收到IP包后,由于是IP包,所以查CEF表,即FIB表;如果收到的是标签包,则查LFIB表;

R1查询FIB表,找到30.0信息,下一跳为R2,需要压入标签,标签值为200;

R2收到R1发过来的标签包后,发现是标签包,则查LFIB表,显示入栈为200,对应出栈是300,出接口为S0/1。

则R2把标签200替换为300后,把新的标签包从出栈口转发出去。(R2同时能学到R1R3的标签,为什么不替换为R1的100,而是R3的300,这时借助于RIB表)

R3收到后,查LFIB表,入栈300对应的出栈动作为POP,移除标签值。通过查FIB表对IP包进行路由,转发出去。

信息最终存储在LFIB表中,LFIB表的构建基于LIB、RIB、CEF表构建的。

1.2.2 小结

直接根据标签值进行交换,不需要查询IP内容。

1.3 MPLS架构

1.3.1 控制层面

IGP:负责路由器交互路由信息,通过IGP,路由器能学到整个MPLS网络中的路由信息,填充RIB表;

标签交换协议:为路由表中所有路由条目前缀在本地分配路由标签,放入LIB表中;邻居之间相互发标签和路由条目的映射关系,并保存在各自的LIB表中。

首先运行ROUTING PROTOCOLS,负责和其他路由器交换路由信息,学到后,放入RIB表。RIB表的变化会直接影响FIB表的变化。

1.3.2 数据层面

基于标签的数据转发,主要就是一些表

路由器收到IP包,则查FIB表(CEF表),包含包目的地址对应路由前缀条目,指示是直接转给下一跳,还是压上标签头再转出去。所以有可能是IP包进来,IP包出去,也可以压上标签头后发出去。

如果收到的是标签包,则查询LFIB表,根据标签找到入栈出栈及出接口,将标签转出去,也有可能出栈是POP操作,则弹出标签头后,变成普通IP包再路由。

1.4 MPLS概念

1.4.1 LSR标签交换路由器

LSR:支持且激活了MPLS的路由器;
角色1:边界LSR,即LER,同时处理IP和标签报文。
图中左边路由器为入栈LSR
图中右边路由器为出栈LSR
图中中间路由器为中间LST

1.4.2 FEC转发等价类

1.4.3 LSP即LSR序列

LSP为单向路径

1.5 MPLS标签

1.5.1 标签结构:2.5层协议

在IP头前面插入标签字段4B。即在帧头和IP头之间。(二层帧头中有字段指示帧内容是什么类型的包)

如PING包,ICMP中,在IP头和HDLS头之间夹着MPLS头,常说的2.5层协议就是这么来的。

标签头包括了标签值,QOS等值。

1.5.2 多标签

二三层之间可以压入多个标签头,标签栈,BOS标记是否是栈底。

1.5.3 标签处理动作

入栈(标签压入),交换(标签置换),移除(标签弹出)

交换、入栈只针对栈顶操作

出栈也是,只弹出顶层标签

去除标签:不论多少个标签,一下移除栈中所有标签

1.5.4 带标签的报文

二层帧头类型,不同类型下,后续跟MPLS标签时的类型

如MPLS包,8847

普通的IPV4的PING报,转载的是0800

1.5.5 标签查找

IP包直接在CEF中查找,查找完后,出去可能是IP包,也可能是标签包

标签包直接在LFIB中查找,查找完后,出去的可能是IP包,也可能是标签包

有LABEL,说明转发前会压入标签

发表回复