1.MPLS的背景
一个数据包从源发送到目的主机,沿途所经过的路由器都必须有通往目的地址的路由,在广域网或者是LSP的路由器是很多路由条目的,如果还跟传统方式一样去查表转发的话,那么报文转发就是显得非常的缓慢
2.MPLS的定义
MPLS位于TCP/IP协议栈中的数据链路层和网络层之间,可以向所有网络层提供服务,通过在数据链路层和网络层之间增加额外的MPLS头部,基于MPLS头部实现数据快速转发
3.MPLS的基本概念(一)
MPLS域: 一系列运行MPLS的设备构成了一个MPLS域
LSR:标签交换路由器,运行了MPLS协议的路由器都是标签交换路由器
LER:标签边缘路由器,在MPLS域边缘的路由器,同时连接着ip网络的路由器
4.MPLS的基本概念(二)
入站LSR:LSR收到ip报文会添加一层MPLS的头部
中转LSR:LSR收到携带MPLS头部的数据包,经过系列的处理之后,会重新使用一个新的标签发给下一个LSR,这个动作叫做标签置换
出站LSR:出站LSR是MPLS网络中最后一台路由器,这台路由器连接着ip网络设备,当收到数据包携带者MPLS的头部的时候,会把MPLS的头部剥掉,因为客户端的路由器无法识别这个MPLS的头部
5.MPLS的基本概念(三)
FEC:是一组具有某些共性的数据流的集合,这些数据流在转发过程中被网络节点以相同方式处理,一般来说划分FEC的依据是目的地址和掩码
6.MPLS的基本概念(四)
LSP:标签交换路径,一个MPLS的数据包去往目的地址沿途经过的路径就是一个LSP
7.MPLS的标签报文
基于2.5层,在数据链路层与网络层之间
lable:20bit,表示所属的标签
EXP:用于QOS的场景,3bit
S:1bit用于标识MPLS标签是否为最后一层(栈底),如果为1表示是最后一个,如果为0表示后面还有标签
TTL:8bit,生存时间,和ip报文当中的TTL的值一个作用,都是用来防止环路,TTL的作用,因为在MPLS网络中的LSR是不会去解析IP报文,所以在MPLS标签中需要加入一个TTL来防止产生环路
8.标签的空间
标签空间:标签空间就是标签的范围
0-15:特殊标签,0为显示空,3位隐士空
16-1023:用于静态LSP的共享标签空间
1024~1048575:用于标签分发协议所保留的标签范围
9.标签的处理
push:压入,LSR收到ip报文会给这个报文添加一层MPLS标签,如果这个报文已经有了一层标签,那么就新增加一层标签,新增加的标签是距离数据链路层比较近的,旧的标签是距离网络层比较近的,标签的压入只能由入站LSR来完成的
swap:标签交换,LSR收到MPLS标签会使用一个新的MPLS标签替代掉原来的标签,然后发给下一个LSR,这个只能由中转LSR来完成
pop:标签弹出,LSR收到MPLS标签会把这个标签弹出,变成普通的ip报文发送给客户路由器,标签的弹出只能由出站路由器来完成
10.MPLS的体系结构
也是由控制平面和转发平面构成
控制平面有以下:
ip路由协议:运行的动态路由器,会根据这个路由协议本身的机制去计算路由,这些路由会存放到协议路由表里
路由信息表:每一个动态路由协议或者是动态路由协议都会下发到本地路由表里面
标签分发协议:LDP、MP-BGP、RSVP
标签信息表:通过标签分发协议或者静态LSP生成的标签会保存到标签信息表
转发平面有以下:
转发信息表:本地路由表里面的条目会生成最优路径下载到转发表里面,路由器转发数据就依靠转发表
标签转发信息表:标签信息表有的标签也是会下发到这个标签信息转发表,LSR是根据标签转发信息表来转发的
11.LSP建立原则
如果LSR需要建立某个FEC的标签,那么这个路由器的IP路由表必须拥有这个FEC的标签,否则不会建立(当网络层协议为IP协议),本地路由器的出标签要等于下一条路由器的入标签
12.LSP的建立方式
静态:手工配置,需要去手动配置出标签以及入标签,还有路由器的角色(出站LSR、中转LSR、出站LSR),适用于小型网络,当拓补发生变化的时候,LSP不会跟着变化
动态:通过在LSR上配置标签分发协议来自动生成标签,适用于大型网络,当网络拓补发生变化时,LSP会跟着自动适应
13.标签转发
FTN:FTN(FEC-to-NHLFE):当LSR收到IP报文并需要进行MPLS转发时使用,FTN只在Ingress存在,FTN包括:Tunnel ID、FEC到NHLFE的映射信息,LSR会根据FIB表当中的Tunnel ID对数据包进行转发,如果数据包的Tunnel ID不为0的话则表示是MPLS转发,如果是为0的话则表示是普通的IP转发
NHLFE:下一跳标签转发表项,LSR对报文(MPLS或IP报文)进行MPLS转发时使用,NHLFE在Ingress和Transit存在,NHLFE包括:Tunnel ID、出接口、下一跳、出标签、标签操作类型等信息。
ILM:入标签映射,用于指导MPLS报文的转发(MPLS或IP转发),ILM只在Transit和Egress存在,ILM包括:Tunnel ID、入标签、入接口、标签操作类型等信息。
14.详细转发流程
入站:LSR收到IP报文,解析报文的目的地址在IP路由表是否存在,如果不存在,丢弃这个数据包,如果存在,那么就根据这个目的地址去查找FIB所对应条目的Tunnel ID,如果是非0,那么就MPLS转发,如果是0,那么就按照普通IP转发,如果是非0,转发表就会和NHLFE进行关联。里面记录着出接口,出标签,下一跳,操作类型等
中转:LSR收到MPLS报文,查看ILM表,根据ILM所对应的Tunnel ID查找NHLFE表项所对应的出接口,下一跳,操作类型,出标签等
出站:LSR收到MPLS报文查看ILM表项所对应的标签,发现是pop,就会弹出标签