MPLS是一种介于二层和三层之间的“2.5层”技术,支持IPv4和IPv6等多种网络层协议,且兼容ATM与以太网等多种链路层技术。MPLS吸收了ATM网络的VCI(Virtual Channel Identifier,虚拟信道标识符)和VPI (Virtual Path Identifier,虚拟通路标识符)的交换思想,还具备IP路由的灵活性和标签交换的简捷性,为面向无连接的IP网络增加了面向连接的属性。通过建立“虚连接”的方法,MPLS为IP网络提供了更好的QoS保障能力。
最初提出MPLS不仅因为它可以为IP网络提供更好的QoS保障能力,还因为MPLS基于定长32 bit的标签交换来转发数据,而IP基于最长前缀匹配原则来转发数据,相比而言,前者的转发效率较高。虽然随着硬件能力的提升, MPLS转发效率高的优点已经不明显,但是它面向连接的标签转发却给IP网络提供了很好的QoS保障,还可以很好地支持TE、VPN和FRR。这些优点对IP网络的继续扩大起到了关键的作用,加速了互联网IP化。
整体上看,MPLS的成功离不开它支持的三大特性:TE、VPN和FRR。
- TE:基于RSVP-TE可以实现MPLS TE路径标签的申请和分发,可以实现资源保证、显式路径转发等TE特性,弥补了IP网络对TE支持能力差的短板。
- VPN:MPLS标签可用于标识VPN,实现VPN业务的隔离。VPN是MPLS当前最大的应用场景之一,是解决企业互联和多业务承载的关键技术,也是当前运营商营收的重要手段之一。
- FRR::IP网络无法提供完备的FRR保护,导致无法满足电信级业务的需求。MPLS的出现提升了IP网络FRR的能力,在大多数故障场景中满足了50 ms电信级保护倒换的需求。
MPLS虽然在网络All IP化中发挥了重要作用,但是也带来了网络孤岛问题,增加了网络跨域互通的复杂性。
一方面,MPLS被部署到不同的网络域,例如IP骨干网、城域网和移动承载网等,形成了独立的MPLS域,也带来了新的网络边界。但很多业务需要端到端部署,所以在部署业务时需要跨越多个MPLS域,这带来了复杂的MPLS跨域问题。历史上,MPLS VPN有Option A/B/C等多种形式的跨域方案 ,业务部署复杂度都相对较高。
另一方面,随着互联网和云计算的发展,云数据中心越来越多。为满足多租户组网的需求,业界提出了多种Overlay的技术,典型的就是VXLAN。历史上也有不少人尝试过将MPLS引入DC(Data Center,数据中心)来提供VPN服务,但由于网络边界多、管理复杂度大和可扩展性不足等多方面的原因, MPLS进入数据中心的尝试均告失败。
限制MPLS发展的另一个主要原因是可扩展性不足。可扩展性可以分为标签空间的可扩展性和封装格式的可扩展性两方面。标签空间方面,MPLS只有20 bit的标签空间,在网络规模变大时,就会出现标签资源不足的问题。而且在网络规模变大之后,控制平面RSVP-TE协议的可扩展性不足,复杂度也过高。封装格式方面,MPLS标签的封装格式是32 bit的固定编码,MPLS标签提供了一定的可扩展性,但是面对越来越多需要扩展报文头携带数据的新业务,比如支持SFC携带元数据 和IOAM(In-situ Operations,Administration and Maintenance,随流操作、管理和维护)时,MPLS显得心有余而力不足。