多协议标签交换(英语:Multi-Protocol Label Switching,缩写为MPLS)是一种在开放的通信网上利用标签引导数据高速、高效传输的新技术。多协议的含义是指MPLS不但可以支持多种网络层层面上的协议,还可以兼容第二层的多种数据链路层技术。
多协议标签交换(Multi-Protocol Label Switching,MPLS)是新一代的IP高速骨干网络交换标准,由因特网工程任务组(Internet Engineering Task Force,IETF)提出。
MPLS是利用标记(label)进行数据转发的。当分组进入网络时,要为其分配固定长度的短的标记,并将标记与分组封装在一起,在整个转发过程中,交换节点仅根据标记进行转发。MPLS 独立于第二和第三层协议,诸如ATM 和IP。它提供了一种方式,将IP地址映射为简单的具有固定长度的标签,用于不同的包转发和包交换技术。它是现有路由和交换协议的接口,如IP、ATM、帧中继、资源预留协议(RSVP)、开放最短路径优先(OSPF)等等。
在MPLS 中,数据传输发生在标签交换路径(LSP)上。LSP 是每一个沿着从源端到终端的路径上的结点的标签序列。MPLS 主要设计来解决网路问题,如网路速度、可扩展性、服务质量(QoS)管理以及流量工程,同时也为下一代IP 中枢网络解决宽带管理及服务请求等问题。
多协议标签交换MPLS最初是为了提高转发速度而提出的。与传统IP路由方式相比,它在数据转发时,只在网络边缘分析IP报文头,而不用在每一跳都分析IP报文头,从而节约了处理时间。MPLS起源于IPv4(Internet Protocol version 4),其核心技术可扩展到多种网络协议,包括IPX(Internet Packet Exchange)、Appletalk、DECnet、CLNP(Connectionless Network Protocol)等。“MPLS”中的“Multiprotocol”指的就是支持多种网络协议。
MPLS是基于标记的IP路由选择方法。这些标记可以被用来代表逐跳式或者显式路由,并指明服务质量(QoS)、虚拟专网以及影响一种特定类型的流量(或一个特殊用户的流量)在网络上的传输方式等各类信息。MPLS采用简化了的技术,来完成第三层和第二层的转换。它可以提供每个IP数据包一个标记,将之与IP数据包封装于新的MPLS数据包,由此决定IP数据包的传输路径以及优先顺序,而与MPLS兼容的路由器会在将IP数据包按相应路径转发之前仅读取该MPLS数据包的包头标记,无须再去读取每个IP数据包中的IP地址位等信息,因此数据包的交换转发速度大大加快。
目前的路由协议都是在一个指定源和目的地之间选择最短路径,而不论该路径的带宽、载荷等链路状态,对于缺乏安全保障的链路也没有一种显式方法来绕过它。利用显式路由选择,就可以灵活选择一条低延迟、安全的路径来传输数据。
MPLS协议实现了第三层的路由到第二层的交换的转换。MPLS可以使用各种第二层协议。MPLS工作组到目前为止已经把在帧中继、ATM和PPP链路以及IEEE802.3局域网上使用的标记实现了标准化。MPLS在帧中继和ATM上运行的一个好处是它为这些面向连接的技术。
带来了IP的任意连通性。目前MPLS的主要发展方向是在ATM方面。这主要是因为ATM具有很强的流量管理功能,能提供QoS方面的服务,ATM和MPLS技术的结合能充分发挥在流量管理和QoS方面的作用。标记是用于转发数据包的报头,报头的格式则取决于网络特性。在路由器网络中,标记是单独的32位报头;在ATM中,标记置于虚电路标识符/虚通道标识符(VCI/VPI)信元报头中。对于MPLS可扩展性非常关键的一点是标记只在通信的两个设备之间有意义。在网络核心,路由器/交换机只解读标记并不去解析IP数据包。
IP包进入网络核心时,边界路由器给它分配一个标记。自此,MPLS设备就会自始至终查看这些标记信息,将这些有标记的包交换至其目的地。由于路由处理减少,网络的等待时间也就随之缩短,而可伸缩性却有所增加。MPLS数据包的服务质量类型可以由MPLS边界路由器根据IP包的各种参数来确定,如IP的源地址、目的地址、端口号、TOS值等参数。
对于到达同一目的地的IP包,可根据其TOS值的要求来建立不同的转发路径,以达到其对传输质量的要求。同时,通过对特殊路由的管理,还能有效地解决网络中的负载均衡和拥塞问题。当网络中出现拥塞时,MPLS可实时建立新的转发路由来分散流量以缓解网络拥塞。
MPLS交换采用面向连接的工作方式,面向连接的工作方式就是信息传送要经过以下三个阶段:建立连接、数据传输和拆除连接。对于MPLS来说,建立连接就是形成标记交换路径LSP的过程;数据传输就是数据分组沿LSP进行转发的过程;而拆除连接则是通信结束或发生故障异常时释放LSP的过程。
FEC:
Forwarding Equivalence Class,FEC(转发等价类),是在转发过程中以等价的方式处理的一组数据分组。
可以通过地址、隧道、COS等来标识创建FEC,
目前看到的MPLS中只是一条路由对应一个FEC。通常在一台设备上,对一个FEC分配相同的标签。
标签(Label)
是一个比较短的,定长的,通常只具有局部意义的标识(类似mac地址),这些标签通常位于数据链路层的数据链路层封装头和三层数据包之间,标签通过绑定过程同FEC相映射,即一个FEC对应一个标签。
LSP:
标签交换通道。一个FEC的数据流,在不同的节点被赋予确定的标签,数据转发按照这些标签进行。数据流所走的路径就是LSP。
LSR:
Label Switching Router,LSR是MPLS的网络的核心交换机,它提供标签交换和标签分发功能。
LER:
Label Switching Edge Router,在MPLS的网络边缘,进入到MPLS网络的流量由LER分为不同的FEC,并为这些FEC请求相应的标签。它提供流量分类和标签的映射、标签的移除功能。
随着ASIC技术的发展,路由查找速度已经不是阻碍网络发展的瓶颈。这使得MPLS在提高转发速度方面不再具备明显的优势。
但由于MPLS结合了IP网络强大的三层路由功能和传统二层网络高效的转发机制,在转发平面采用面向连接方式,与现有二层网络转发方式非常相似,这些特点使得MPLS能够很容易地实现IP与ATM、帧中继等二层网络的无缝融合,并为流量工程TE(Traffic Engineering)、虚拟专用网VPN(Virtual Private Network)、服务质量QoS(Quality of Service)等应用提供更好的解决方案。
助教:马季