分层PE技术原理
文\刘小龙
1 前言
近年来越来越多的企业将ERP、财务、OA、决策支持、语音、视频等关键业务承载在网络中。各业务系统需要获取相对独立的逻辑网络资源,以满足不同业务系统对安全性、服务质量、管理的要求;同时,各业务系统之间的流程整合又需要提供相互访问的途径,而且要保证互访的安全性。传统的IP网络业务单一、关键业务少,难以满足企业网的应用需求。
MPLS VPN是目前比较理想的实现网络资源分配的技术,MPLS VPN技术可以将一个物理的企业网络划分为多个独立的“逻辑网络”,每类业务都可以获得一部分网络资源供自己使用,包括地址空间、路由转发表、带宽、隧道、服务质量等。而IT部门也可以在总部对全局的网络资源实现统一管理和分配。其中MPLS VPN广泛应用于行业企业网络资源逻辑划分和安全隔离。
MPLS VPN框架包括的组件:P设备、PE 设备(包括SPE和UPE设备)、CE设备、VPN业务管理系统;其中最关键的是PE设备。 MPLS VPN也包括多种技术,其中企业网中应用最广泛的是L3 MPLS VPN。
2 分层网络与MPLS VPN网络架构
2.1 MPLS VPN模型
标准的L3 MPLS VPN是一种平面式模型(RFC2547Bis),PE设备无论处于网络的哪个层次,对其性能要求和接入链路要求是相同的,对于PE设备来说不存在网络层次上的区分,所有的PE都处于对等要求。由于路由在PE之间交换,在边缘方向的PE要维护同核心层次PE设备相同的路由数量。而典型网络是分层、分级模型,设备性能依次下降,网络规模依次扩大。这就为PE设备向网络边缘的扩展带来了困难。
如图1所示,MPLS VPN当前的框架结构中包括P、PE、CE等设备:
P routers:骨干网中不与CE直接相连的设备,不感知VPN;
PE(Provider Edge)骨干网中的边缘设备,它直接与用户的CE相连,完成VPN实现的主要功能;
CE(Custom Edge)用户Site中直接与骨干网相连的边缘设备,不感知VPN,只需支持标准的IP功能即可。
在以上三种设备中,真正参与VPN业务部署的只有PE设备,也就是说MPLS VPN业务的智能化和业务压力都集中在PE设备上。但MPLS VPN是一种平面模型,PE在整个框架中是对等关系,无论处于网络中哪个位置,对性能的要求和接入链路要求是相同的。这种平面结构的问题在于,如果其中某些性能较低的PE存在性能和扩展性问题的时候,实际上也制约了整个网络VPN业务的广泛覆盖能力与进一步的扩展能力。
另外,当VPN用户距离PE很远的时候,需要通过WAN链路来连结,其数目至少同VPN用户的数目相同。如果采用路由器就近接入用户,汇聚后通过一个WAN链路连结到PE,则可以节省费用,提高带宽利用率。但在这个WAN链路上需要能够区分不同的VPN用户。
2.2 网络的分层结构
目前网络设计基本都采用经典的分层结构,如城域网典型结构是核心—汇聚—接入三层模型,设备性能依次下降,网络规模依次扩大。在一个分层网络中如何部署PE节点,将PE部署到核心层、汇聚层,还是接入层?这是网络设计中经常遇到的问题。
PE设备接入用户需要大量接口,处理用户报文需要大容量的内存和转发能力,而各层次PE难以同时具备高性能和大量接口:
l 核心层性能高,但接口资源有限;
l 接入层接口数量大,但性能低;
l 汇聚层的接口容量和性能可能都不足。
由于MPLS VPN是平面结构,PE设备无论处于网络的哪个层次,对其性能要求是相同的,随着MPLS VPN业务的大规模部署,边缘网络的PE必然出现扩展性问题,形成瓶颈。
另外,在分级网络中还需要考虑跨AS的VPN部署。目前MPLS VPN跨AS技术,如VRF to VRF、MP-EBGP、Multihop-EBGP等方式,都是一种AS之间的对等结构,而不是一种分级结构,比较适用于运营商之间的VPN互通,而不太适合运营商内部的网络分级要求。
分级网络结构提出的问题:
既然网络的分级是必然的,能否在MPLS VPN网络框架设计中就考虑到分级网络的要求,解决扩展性问题,并实现跨AS的分级结构。
总结一下现有MPLS VPN架构的缺陷,最主要的问题是平面型的结构不能适应网络分级、分层模型的要求。由此导致了其它诸方面的问题:
l 由于网络MPLS VPN网络不能实现分层分级,使业务的覆盖能力受到限制,使建网成本无法降低,影响了MPLS VPN的普遍部署,限制了高价值的端到端业务的开展。
l 网络的扩展能力受到制约,无法实现MPLS VPN业务不断向网络边缘延伸的需求,不利于业务的平滑演进及投资保护。
l 由于平面化模型不能充分利用网络各层次的能力,必须采用高档次的PE设备,增加了建网成本。
因此优化MPLS VPN网络架构成为必然的要求与发展方向。
HOPE解决方案作为众多优化方案中的佼佼者,在现实网络建设中得到了广泛的应用。这套方案的思想是将PE的功能分布到多个设备上,让它们承担不同的角色,并形成层次结构,共同完成一个集中式PE的功能。对处于较高层次的设备的路由和转发性能要求高,而对处于较低层次的设备的路由和转发性能要求低,同典型的分层分级网络模型相吻合,在分层部署L3 MPLS VPN时,解决了可扩展性问题。
3 HOPE的基本结构
3.1 分层PE原理
分层PE的结构如图2所示,直接连结用户的设备称为下层PE(Underlayer PE或User-end PE,用户侧PE),简写为UPE,连结UPE并位于网络内部的设备称为上层PE(Superstratum PE),简写为SPE。这种框架结构称为PE的分层结构(Hierarchy of PE)。多个UPE同SPE构成分层式PE,共同完成传统上一个PE的功能。它们之间的分工是:
l UPE维护其直接连接的VPN 站点的路由,但不维护VPN中其它远程站点的路由或仅维护它们的聚合路由;
l SPE维护其通过UPE所连接的站点所在的VPN中的所有路由,包括本地和远程站点中的路由。
UPE和SPE之间可以使用MP-IBGP,也可以使用MP-EBGP。在采用MP-IBGP时,SPE作为各个UPE的路由反射器(RR),UPE作为路由反射器的客户端,但SPE不作为其它PE的路由反射器。在采用MP-EBGP时,UPE一般使用私有自治系统号。
分层式PE从外部来看同传统上的PE没有任何区别,因此它可以同其它PE在一个MPLS网络中共存。
3.2 SPE-UPE连接方式
UPE和SPE之间采用标签转发,因而只需要一个(子)接口相互连接。SPE和UPE之间可以通过任何形式的接口/子接口连接,也可以通过隧道接口连接,这时候SPE和UPE之间可以相隔一个IP网络或MPLS网络,由于SPE和UPE通过MP-BGP对等,因而路由可以直接传递,无需做特殊处理,MP-EBGP的情况下配置多跳EBGP即可。在转发时,UPE或SPE发出的标签报文要经过一个隧道传递。如果是GRE隧道,要求GRE支持对MPLS报文的封装,如果是LSP,则需要中间的网络是一个MPLS网络,UPE和SPE上运行LDP/RSVP-TE等协议。
SPE和UPE之间只需要一个连接,这样SPE不需要具备大量的接口来接入用户。
3.3 路由信息的扩散
在UPE与SPE之间跑MP-IBGP协议,在UPE1上配置两个VRF(VPN1 site1, VPN2 site1),在PE1上配置一个VRF(VPN1 site3)。以VPN1 site3中的路由10.0.0.0/8为例来描述路由信息交互流程。
扩散流程如下:D代表目的网段,N代表下一跳,label:代表所携带的标签,PE之间使用云团表示,是代表之间可能还有P设备,虚线代表逻辑连接。
图3. 路由选择过程
ü PE1路由器使用RT值发布所有私网路由。
ü SPE路由器接收到所有PE/SPE和UPE发布的私网路由,并把UPE发布的私网路由向所有的PE/SPE发布,对于UPE只发布带有标签的默认路由。
3.4 数据转发流程
图4. 报文转发过程
ü UPE1路由器报文发向远端FEC,通过打上默认路由的私网标签,再加上UPE和SPE之间的隧道(若为LSP则打上lsp标签)公网标签PL2。
ü SPE路由器接收到UPE发来的私网报文根据携带的私网标签L2来查找对应的VRF表,如果查找到相应的路由则,打上新的私网标签和达到对端PE的公网标签PL1。
ü 返回的报文处理同正常的L3VPN的转发流程。
4 SPE-UPE协议内容
SPE和UPE之间运行的MP-BGP,可以是MP-IBGP,也可以是MP-EBGP。这取决于SPE和UPE是否在一个AS内。
在同一个AS中,采用MP-IBGP,这时候SPE作为多个UPE的路由反射器,但可以不作为其它PE的路由反射器。为了拒绝从其它PE发布过来的不属于本分层式PE所连接的Site的VPN中的路由,SPE上要根据各个UPE的所有VRF的import route-target list的合集生成一个全局import route-target list,用于过滤从其它PE发布过来的路由。这个全局列表可以根据SPE和UPE之间交换的信息动态生成,也可以静态的加以配置。
如果SPE和UPE属于不同的AS,它们之间运行MP-EBGP。SPE上同样需要生成一个全局Import route-target list。一般来说,UPE要采用私有自治系统号,在SPE发布路由给其它PE时,要略去这个私有自治系统号。
5 HOPE实现跨AS VPN部署
如图5所示,在这个案例中,骨干网和城域网属于不同的自治系统,骨干网可以设置SPE,城域网设置UPE。UPE将城域网全部路由发送给SPE,而SPE只发送VRF默认路由给UPE。这样,城域网只需要维护内部的VPN Site路由,而不需要维护城域网之外Site的路由。骨干网需要维护全局VPN Site的路由。
在跨AS方案中,SPE-UPE协议可以采用MP-EBGP或Multi-hop EBGP方式,实现灵活的部署。
采用HOPE实现的跨AS方案特点在于适应了网络分级的要求,上级网络(骨干网)处理全局业务;下级网络(城域网)只需要处理本地业务,这样就不会因为全局VPN业务发展导致下级网络出现容量和扩展性问题。
6 HOPE分层网络的演进
PE初期部署在汇聚层。当汇聚层接口数目不足时,扩展到接入层,接入层充当UPE,汇聚层充当SPE;当汇聚层路由容量不够时,扩展到核心层,核心层充当SPE,汇聚层充当UPE;当两种情况都发生时,形成3层结构,汇聚层充当MPE(中间层PE)。这种演进方式非常适合城域网的结构。如图6。
7 HOPE分级网络的延伸
如图7所示,MPLS VPN在全国范围内部署时,通常采用一种扁平化的组网结构,也就是直接通过骨干网来提供MPLS VPN业务。在这种结构中,骨干网的PE通常设置在中心城市,用户CE都通过一条链路汇聚到PE节点。
这种方式的缺陷在于:中心城市在接入远程CE时,需要消耗大量的广域链路资源;骨干网的规模不可能无限制地扩展,其覆盖能力和扩展性面临严峻挑战。
采用HOPE之后,可以在地市甚至县部署UPE节点,形成多层结构,就近接入VPN用户。同时网络的覆盖能力得到了增强,可以根据需要实现业务的平滑演进,以及网络的扩展与延伸。SPE和UPE可以在同一个AS内,也可以实现AS之间的连接。
8 分层PE 的嵌套
一个分层式PE还可以作为一个UPE,同一个SPE组成新的分层式PE,同样一个分层式PE可以作为一个SPE,同多个UPE组成新的分层式PE,称这种位于中间的PE为MPE(Middle-level PE)。这种嵌套可以是无穷的。一个SPE在连接一个分层式PE作为UPE的同时,还可以连接单个的UPE设备。
SPE和MPE,以及MPE和UPE之间,均运行MP-BGP协议。如果是MP-IBGP协议,则SPE是各个MPE的路由反射器,而MPE是各个UPE的路由反射器。MP-BGP为上层PE发布下层PE上的所有VPN路由,而只为下层PE发布上层PE的VRF默认路由或聚合路由。因此,SPE上维护了这个分层式PE所接入的所有站点的VPN路由,路由数目最多;MPE上维护了一部分路由,数目较多;而UPE上只维护它所直接连接的站点的VPN路由,数目最少。同典型网络中设备的能力相匹配,具有良好的可扩展性。
SPE发布的VRF默认路由携带了标签,在MPE上要对这个标签进行替换,并发布给UPE。如果MPE已经为这个VRF生成了默认路由,则在MPE上生成一个标签转发项(ILM)。
如同2层的分层式PE一样,上层PE要为下层PE生成一个全局入口RT列表,过滤不需要的VPN路由。具体来讲,MPE以各个UPE上所有VRF的入口RT列表的合集生成一个全局入口RT列表,SPE又以各个MPE的全局入口RT列表的合集生成一个全局入口RT列表。生成方式可以是动态的或静态的。在动态的情况下,MPE要将UPE通过ORF发送的入口RT列表转发给SPE。
在转发时,从VPN本地站点始发的报文,到达UPE后,查找相应的VRF中的默认路由,PUSH标签,转发到MPE, POP标签后,查找相应的VRF中的默认路由,转发到SPE,SPE上POP标签,查找VRF转发表 ,PUSH内外层标签,按照传统的BGP/MPLS VPN流程转发。
从远程站点始发的报文,通过MPLS网络到达SPE后,由于MPE已经为其目的地址分配了内层标签,因此对内层标签进行SWAP操作,转发到MPE,同样的,UPE已经为这个目的地址分配了内层标签,POP标签后转发给本地站点。
9 总结
HOPE网络完全适应典型分层和分级网络模型,解决了行业网络中VPN业务广泛覆盖和扩展性问题。网络的潜力得到了充分的发挥,建网成本进一步降低。同时,HOPE在框架中已经考虑了跨AS VPN及Carrier’s Carrier等边界技术,增强了业务提供能力。跨AS技术可以使网络的规模进一步扩展,Carrier’s Carrier可以实现VPN的嵌套与进一步细分。
总的来说,通过HOPE的优化使MPLS VPN网络具备了端到端业务的支撑能力。
HOPE的核心理念是:平滑演进、无限扩展、无限延伸。