概述
产生背景
在解决企业互连和提供各种新业务方面,MPLS L3VPN越来越受到网络运营商的重视,成为 IP网 络运营商提供增值业务的重要手段。目前,虽然 MPLS L3VPN 技术基本解决了业务提供的问题, 成为一种基础电信业务及普遍服务,但是MPLS L3VPN还面临着诸多挑战,例如传统MPLS L3VPN 的架构面临着性能和扩展性的问题,急需解决。
当前 MPLS L3VPN网络的平面模型
图1 MPLS L3VPN框架结构图
如图1所示,MPLS L3VPN当前的框架结构中包括 P、PE和 CE等设备:
- P(Provider,服务提供商网络)设备:运营商网络中不与 CE直接相连的设备,不感知 VPN 是否存在,只需要具备基本 MPLS转发能力;
- PE(Provider Edge,服务提供商网络边缘)设备:运营商网络中的边缘设备,它直接与用户 的 CE相连,完成 VPN实现的主要功能;在 MPLS网络中,对 VPN的所有处理都发生在 PE 上。
- CE(Customer Edge,用户网络边缘)设备:用户站点中直接与服务提供商相连的边缘设备, 只需支持普通的 IP转发功能即可。
在以上三种设备中,真正参与 VPN业务部署的只有 PE 设备,也就是说 MPLS L3VPN业务的压力都集中在 PE设备上。MPLS L3VPN是一种平面模型,PE在整个框架中是对等关系,无论处于网络中哪个位置,对性能的要求都是相同的。这种平面结构的问题在于,如果其中某些 PE 存在性能 和扩展性问题,将会也制约了整个网络 VPN业务的广泛覆盖能力与进一步的扩展能力。
典型的网络构架要求
目前,一些典型的网络结构对 MPLS L3VPN 架构提出了许多要求,这些网络结构包括分层网络结构和分级网络结构。
1.典型分层网络结构
目前网络设计基本都采用经典的分层结构,如城域网典型结构是核心-汇聚-接入三层模型,对设备性能的要求依次降低,网络规模依次扩大。
PE设备接入用户需要大量接口,处理用户报文需要大容量的内存和转发能力,而各层次PE设备难以同时具备高性能和大量接口:
- 核心层性能高,但接口资源有限;
- 接入层接口数量大,但性能低;
- 汇聚层的接口数量和性能可能都不满足要求。
因此单独在某一个层次部署PE都存在扩展性问题,这就为PE设备向网络边缘的扩展带来了困难。MPLS L3VPN的平面模型同典型分层网络的模型不符合,是造成网络扩展困难的主要原因。在典型 分层网络结构中,需要充分利用网络各层次的优势,如上层设备的性能,及下层设备的接入能力, 共同提供完整的 VPN业务,并支持网络平滑演进。
2.典型分级网络结构
网络的分级是必然的要求。一方面,从地域和管理的角度,需要有国家、省、城市、区县等多级别 网络的划分;另一方面,单一的网络级别(如骨干网),其规模毕竟有限,不可能提供广泛的覆盖 能力,分级是必然的要求。
在一个分级 MPLS L3VPN网络中,可能跨越了多个 AS,如:国家骨干、省骨干、城域网、区县网 络。各级别的网络中都需要部署 PE节点接入 VPN站点,但不同级别网络采用的 PE设备的档次有 很大的差别,例如,骨干网部署的 PE 可能是核心路由器或者高端汇聚路由器,而城域网、区县网 络的 PE可能是中低端路由器。
由于 MPLS L3VPN是平面结构,PE设备无论处于网络的哪个级别,对其性能要求是相同的,随着 MPLS L3VPN业务的大规模部署,边缘网络的 PE必然出现扩展性问题,形成瓶颈。另外,在分级网络中还需要考虑跨AS的VPN部署。目前MPLS L3VPN跨AS技术,如 VPN-OptionA、 VPN-OptionB、VPN-OptionC等方式,都是一种 AS之间的对等结构,而不是一种分级结构,比较 适用于运营商之间的 VPN互通,而不适合运营商内部的网络分级要求。
既然网络的分级是必然的,在 MPLS L3VPN 网络框架设计中考虑分级网络的要求,增强扩展性, 并实现跨 AS的分级结构,成为亟待解决的问题。
MPLS L3VPN平面架构的缺陷
现有 MPLS L3VPN 平面架构存在缺陷,最主要的问题是平面型的结构不能适应网络分级、分层模 型的要求。由此导致了其它诸方面的问题:
- 由于 MPLS L3VPN网络不能实现分层和分级,使业务的覆盖能力受到限制,使运营成本无法 降低,影响了 MPLS L3VPN的大规模部署,限制了高价值的端到端的业务开展。
- 网络的扩展能力受到制约,无法实现 MPLS L3VPN业务不断向网络边缘延伸的需求,不利于 业务的平滑演进及投资保护。
- 由于平面化模型不能充分利用网络各层次的能力,必须采用高档次的 PE设备,增加了网络建设的成本。
因此,优化 MPLS L3VPN网络架构成为必然的要求与发展方向。
技术优点
为适应网络分层与分级的结构,解决扩展性问题,MPLS L3VPN网络分层架构的解决方案应运而生。MPLS L3VPN网络分层架构的设计思路是:
- 将 PE分为多个层次,共同完成一台 PE的功能。
- 与分层分级网络相适应,网络层级越高的 PE容量和性能要求越高,网络层级越低 PE的容量 和性能要求越低。
- 网络层级越低,PE数量越大,用户接入能力越强。
- 网络框架可以支持网络的分层扩展,无限延伸的要求。
- 在框架中充分考虑跨 AS连接的问题。
在 MPLS L3VPN领域提出的 PE分层体系结构解决方案 HoVPN(Hierarchy of VPN,分层 VPN), 又称 HoPE(Hierarchy of PE,分层 PE),可以将 PE分为任意多个层次,实现无限扩展与延伸。HoVPN 解决方案的提出,实现了将 PE 的功能分布到多个 PE 设备上,多个 PE 承担不同的角色, 并形成层级结构,共同完成一个 PE 的功能。对处于较高层级的设备的路由能力和转发性能要求较 高,而对处于较低层级的设备的相应要求也较低,符合典型的分层与分级网络模型。
HoVPN技术实现方案
HoVPN基本架构
图2 HoVPN基本框架
如图2所示,HoVPN体系结构中,将传统的MPLS L3VPN的PE设备从一台设备演化为多台设备。HoVPN 将 PE 划分为 UPE(Underlayer PE or User-end PE,下层 PE 或用户侧 PE)和 SPE (Superstratum PE or Service Provider-end PE,上层 PE或运营商侧 PE)。多个 UPE和一个 SPE 构成分层式 PE,共同完成传统上一个 PE的功能。
HoVPN体系结构包含如下组成部分:
- VPN instance:VPN实例,在 MPLS L3VPN中,不同 VPN之间的路由隔离通过 VPN instance实现。PE为每个直连的站点建立并维护独立的 VPN instance。VPN instance包含 了独立的路由表和转发表。
- VPN站点:是 VPN中的一个孤立的 IP网络,可以属于一个或几个VPN。
- UPE:与用户的 CE设备直接相连的 PE设备。
- SPE:连结 UPE并位于 MPLS网络内部的设备。
SPE与UPE的分工
UPE 的作用主要是用户的接入,维护其直接连接的 VPN 站点路由,不维护远端站点的路由或仅维 护远端站点的聚合路由。UPE 为其直接连接的站点的路由分配内层标签,并通过 MP-BGP 将这个 标签给 SPE。
SPE的作用主要是VPN路由的维护及扩散,需要维护 VPN的所有路由,包括本地和远程站点中的 路由。SPE将路由信息发布给 UPE,并携带标签。SPE发布的路由信息可以是 VPN实例的缺省路 由(或聚合路由),也可以是通过路由策略的路由信息。通过后者可以实现对同一VPN下不同站点 之间互访的控制。
SPE 和 UPE 的这种分工体现了不同层次 PE的特点:SPE 的路由表容量大,转发性能强,但接口 资源较少;UPE路由和转发性能较低,但设备数量多,接入能力强,而且可以就近接入。HoVPN充 分利用了 SPE的性能和 UPE的接入能力。
UPE和 SPE实际上是相对的概念。在多个层次 PE的结构中,上层相对于下层就是 SPE,下层相对于上层就是UPE。
分层式 PE 从外部来看同传统上的 PE 没有任何区别,因此它可以同普通 PE 在一个 MPLS 网络中共存。
SPE和UPE之间的协议
SPE和 UPE之间运行的 MP-BGP,可以是 MP-IBGP,也可以是 MP-EBGP。这取决于 SPE和 UPE 是否在一个 AS内。
HoVPN的演进
图3 HoVPN分层网络的演进
如图3所示,PE初期部署在汇聚层。当汇聚层接口数目不足时,扩展到接入层,接入层充当 UPE, 汇聚层充当 SPE;当汇聚层路由容量不够时,扩展到核心层,核心层充当 SPE,汇聚层充当 UPE;当两种情况都发生时,形成三层结构,汇聚层充当 MPE(Middle-level PE,中间层 PE)。这种演 进方式非常适合城域网的结构。
典型组网应用
HoVPN分级网络的延伸
图4 HoVPN分级网络的延伸
如图4所示,MPLS L3VPN 在全国范围内部署时,通常采用一种扁平化的组网结构,也就是直接通 过骨干网来提供 MPLS L3VPN业务。在这种结构中,骨干网的 PE通常设置在中心城市,用户CE 都通过一条链路汇聚到 PE节点。
这种方式的缺陷在于:中心城市在接入远程 CE时,需要消耗大量的广域链路资源;骨干网的规模 不可能无限制地扩展,其覆盖能力和扩展性面临严峻挑战。
采用 HoVPN之后,可以在地市甚至县部署 UPE节点,形成多层结构,就近接入 VPN用户。同时 网络的覆盖能力得到了增强,可以根据需要实现业务的平滑演进,以及网络的扩展与延伸。SPE和 UPE可以在同一个 AS内,也可以在不同的 AS。