概述
完善去年未完成的文档,今年回忆回忆,把重点内容写下来,供大家参考。
MPLS概述
名词概念解析
下面基于我之前做的PPT培训文档讲解,直接截图过来进行分析学习。
MPLS——Multi-Protocol Label Switching
- Multi-Protocol:支持多种三层协议,如IP、IPv6、IPX等,它通常处于二层和三层之间,俗称2.5层。
- Label:是一种短的、等长的、易于处理的、不包含拓扑信息、只具有局部意义的信息内容。
- Switching: MPLS报文交换和转发是基于标签的。针对IP业务,IP包在进入MPLS网络时,入口的路由器分析IP包的内容并且为这些IP包选择合适的标签,然后所有MPLS网络中节点都是依据这个简短标签来作为转发依据。当该IP包最终离开MPLS网络时,标签被出口的边缘路由器分离。
MPLS 的设计初衷
MPLS 设计框架
控制层面:借助于路由协议的可伸缩可扩展性,便于组网控制。MPLS在控制层面主要是路由的学习以及映射。表项关系RIB–>LIB表(FEC转发等价类)。
转发层面:主要面向数据的转发,表项关系为FIB—>LFIB表。携带MPLS标签的报文,直接基于标签转发。无需查找路由表。
MPLS 的优点
- 以短的、固定长度的标签代替IP头作为转发依据,提高转发速度
- IP与ATM更好地结合,建立转发的虚拟通道,从而为网络层提供面向连接的服务。
- 支持各种链路层和网络层协议。MPLS可以建立在各种链路层协议(如PPP、ATM、帧中继、以太网等)之上,为各种网络层(如IPv4、IPv6、IPX等)提供面向连接的服务。
- 应用广泛。最初目的为了提高路由器转发速度,但是不仅仅局限于此,MPLS还可以用来构建VPN网络、实现流量工程、提供QOS保证等。
MPLS工作原理
分为下面几个小模块
报文格式
标签格式
MPLS包头有32Bit(4字节),其中包括:
- 20Bit用作标签(Label),用来标识一个FEC
- 3个Bit的Experimental, 用于扩展,通常用作CoS(Class of Service)
- 1个Bit的S,用于标识是否是栈底,用来做标签的嵌套,这样可以使标签无限扩展
- 8个Bit的TTL,和IP分组中的TTL意义相同,可以用来防止环路
标签栈
一个完整的数据报文有且仅有一个标签栈,但可以有多个标签。
- 理论上,标签栈可以无限嵌套,从而提供无限的业务支持能力。这是MPLS技术最大的魅力所在。
- 标签的栈底是紧随网络层分组的标签。栈底(S),该位置“1”,表示相应的标签是标签栈最后一个标签;该位置为“0”,表示除栈底之外的标签。
常用缩写
常见名词概念解析
- FEC:Forwarding Equivalence Class,FEC(转发等价类),是在转发过程中以等价的方式处理的一组数据分组,例如目的地址前缀相同的数据分组。通常对一个FEC分配相同的标签。
- LSP:Label Switched Path,一个FEC的数据流,在不同的节点被赋予确定的标签,数据转发按照这些标签进行。FEC数据流所走的路径就是LSP。
- LSR:Label Switching Router,LSR是MPLS的网络的核心交换机,它提供标签交换和标签分发功能。
- LER:Label Switching Edge Router,在MPLS的网络边缘,进入到MPLS网络的流量由LER分为不同的FEC,并为这些FEC请求相应的标签。它提供流量分类和标签的映射、标签的移除功能
MPLS几个表项名词
- NHLFE(Next Hop Label Forwarding Entry):下一跳标签转发项。用于描述对标签执行的操作,包括入栈(Push)操作和交换(Swap)操作。
- FTN(Fec to NHLEF map):在Ingress 节点将转发等价类FEC映射到NHLFE的过程。
- ILM(Incoming Label Map):入标签映射。对于接收的标签分组,LSR将标签映射到NHLFE的过程,包括空(NULL)操作、出栈(PoP)操作。
设备角色
- LSP是一条有源接口和宿接口的路径,是面向连接的。
- LSP是从Ingress到Egress的一条隧道。
- P(Provider)端口:该端口指接入服务提供商核心网络的端口;在我们设备上指接入的数据报文为MPLS封装报文的端口。
- PE(Provider Edge)端口:该端口为服务提供商的边缘端口,对接的是用户的设备;在这里指接入的是普通以太网帧。
LSP的建立
- LSP的建立其实就是将FEC和标签进行绑定,并将这种绑定通告
- LSP上相邻LSR的过程,建立起相邻LSR间的标签映射关系。可以通过:
- 静态标签配置,无通告过程
- 通过标签分发协议或其他协议建立,比如LDP
LSP的建立是逐段进行的
MPLS报文在LSP路径上的操作
- Ingress:数据从用户设备进入了MPLS网络边缘设备,数据报文要进行封装。
- Egress:数据从MPLS网络核心设备进入了边缘设备,MPLS标签要被剥离。
- Intermediate(Transit):数据在MPLS网络核心内从一个设备进入了另一个设备,标签要被交换。
详细流程
- Ingress:进入网络的分组根据其特征划分成转发等价类FEC。一般根据IP地址前缀或者主机地址来划分FEC。这些具有相同FEC分组在MPLS区域中将经过相同的路径(即LSP)。LER对到来的FEC分组分配一个短而定长的标签,然后从相应的端口转发出去。
- Intermediate(Transit):在LSP沿途的LSR上都已建立了输入/输出标签的映射表。对于接收到的标签分组,LSR只需根据标签从表中找到相应的NHLFE,并用新的标签来替换原来的标签,然后对标签分组进行转发。
- Egress:在MPLS域的出口,标签被剥离,还原称标准的IP报文。
MPLS在网络入口处指定特定分组的FEC,后续路由器只需简单的转发即可,较常规的网络层转发而言要简单的多,从而提高了转发速度。