APP下载

MPLS L3VPN组网中BGP协议路由汇聚的标签分配策略

2012-08-06于俊锋陈常嘉程树纲

铁路计算机应用 2012年7期
关键词:表项公网跨域

于俊锋,陈常嘉,程树纲

(1.北京交通大学 电子信息工程学院,北京100044;2.华三通信技术有限公司 软件部,北京100085)

MPLS L3VPN是服务提供商VPN解决方案中一种基于PE的L3VPN技术,它使用BGP在服务提供商骨干网上发布VPN路由,使用MPLS在服务提供商骨干网上转发VPN报文。MPLS L3VPN组网方式灵活、可扩展性好,并能够方便地支持MPLS QoS和MPLS TE,因此得到越来越多的应用。

1 MPLS技术概述

1.1 MPLS L3VPN模型

由3部分组成:CE、PE和P。

(1)CE(Customer Edge)设备:用户网络边缘设备,有接口直接与SP(Service Provider,服务提供商)相连。CE“感知”不到VPN的存在,也不需要必须支持MPLS。

(2)PE(Provider Edge)路由器:服务提供商边缘路由器,是服务提供商网络的边缘设备,与用户的CE直接相连。在MPLS网络中,对VPN的所有处理都发生在PE上。

(3)P(Provider)路由器:服务提供商网络中的骨干路由器,不与CE直接相连。P设备只需要具备基本MPLS转发能力。

1.2 MPLS L3VPN的相关术语

(1)Site:是指相互之间具备IP连通性的一组IP系统;

(2)VPN实例:在MPLS VPN中,通过VPN实例(VPN-instance)实现不同VPN之间的路由隔离。PE上每个VPN实例都有相对独立的路由表和转发表。

MPLS-VPN是指采用MPLS技术在骨干的宽带IP网络上构建企业IP专网,实现跨地域、安全、高速、可靠的数据、语音、图像多业务通信。

(3)VPN Target属性:扩展团体属性,用来控制VPN路由信息的发布。分2类:Export Target属性和Import Target属性。只有在接收到其它PE发布的VPNv4路由Export Target属性与本地PE上VPN实例的Import Target属性匹配时,才把路由加入到相应的VPN路由表中。

(4)LSP:标记交换路径。转发等价类在MPLS网络中不同的节点被赋予确定的标签,数据转发按照这些标签进行,数据流所走的路径就是LSP。

(5)FIB和LFIB

FIB:由路由表所得出来的转发信息表,指导IP转发;

LFIB:标签转发信息表,指导MPLS转发。

2 域内及域间MPLS L3VPN组网特点及组网中BGP协议标签分配策略

FEC(转发等价类)是指在转发过程中以相同的规则执行、沿相同的路径转发的一组或是一系列数据流,在一台设备上,属于同一FEC的路由分配相同的标签。

在MPLS中并不只是一条路由对应一个FEC,也可以是一组具有相同属性的路由对应同一个FEC。

采用路由汇聚的思想,对大量属性相同的路由分配相同的标签,相比于为每条路由分配一个标签的分配方式,可以节省大量的标签资源、简化转发操作。本文将通过对普通L3VPN组网、B类和C类跨域组网中路由传播和流量转发的具体分析,指出这些组网中不同设备上,BGP协议适合采用怎样的标签分配方式,哪些可以采用路由汇聚的标签分配策略。

2.1 普通L3VPN组网

如图1,根据PE1和PE2上的配置,CE0、CE1属于PE1的VPN1,CE2属于PE1的VPN2,CE3属于PE2的VPN_A,CE4属PE2的于VPN_B。根据RT(VPN Target属性)匹配原则,在此组网中,要通过MPLS骨干网实现Site1(Site0)与Site3通信、Site2与Site4通信。

图1 普通L3VPN组网图

具体来讲,要实现CE1(CE0)和CE3之间、CE2和CE4之间交换路由、流量正常转发。

以CE1和CE3通信为例,从报文发送和流量转发2个方向进行分析,CE1的路由如何被CE3学到,以及如何实现CE3到CE1的私网流量转发。

(1)从路由传播角度

在PE1和PE2之间,建立起MP-IBGP邻居,通过VPNv4路由传递PE1与PE2上的私网路由(即从CE上学到的路由)。路由传播分3个阶段:

a.PE1从CE1和CE2上收到私网路由,因为属于不同的VPN实例,会存储到不同的VPN路由表中,最终会下发到VPN1和VPN2的FIB表中指导转发。

b.同时PE1会将私网路由以VPNv4的形式发送给PE2,PE2上依据RT(VPN Target属性)匹配的原则,将路由插入到不同的VPN路由表,来自CE1的路由会插入到VPN_A的路由表,来自CE2的路由插入到VPN_B的路由表。

c.PE2将不同VPN实例的路由转发给不同的CE,CE1的路由被CE3学到,CE2的路由被CE4学到。

(2)从流量转发角度

流量转发的方向与路由传播方向恰好相反,从CE3→PE2→P→PE1→CE1:

a.在PE1上,当有流量向私网转发时(向CE1或CE2),需要根据查对应的FIB表项,找到出接口和下一跳。但由于不同的VPN对应不同的FIB表项,而且可能会发生地址空间重叠,需要通过BGP分配的私网标签来判断查询哪个VPN的FIB表项指导转发,为来自CE1和CE2的路由分配不同的标签。

PE1将从CE1和CE2学到的路由以VPNv4形式向PE2发送时,会携带分配的标签;而PE2将流量向PE1转发时,将打上此标签,PE1上则根据流量报文标签值来指导表项查询、流量转发。

b.从PE2到P到PE1,流量经公网MPLS转发,所走的路径是由LDP创建的公网LSP,外层标签也由LDP协议分配,本文中不做具体分析。内层标签则是由PE1上BGP分配的私网标签。

c.当PE2上,有来自CE3的流量时,查找VPN_A的FIB表,对应转发表项是要打标签经公网LSP转发的,便打上标签(PE1上BGP分配的私网标签),由IP转发变为MPLS转发,流量经公网LSP转发到PE1。

(3)标签分配策略

在此组网中,由BGP分配的标签只有PE1上对来自CE0、CE1、CE2的私网路由分配的标签。根据路由汇聚的标签分配策略,无需为每条路由分配一个标签,因为同一VPN的路由转发操作是相同的,只需将VPN实例索引作为关键字区分不同的FEC,为同一VPN的路由分配一个标签,CE0和CE1属于VPN1,分一个标签,CE2属于VPN2,分配不同标签。

(4)VPN POPGO技术

VPN POPGO是指流量从PE到CE转发时,不查找对应VPN的FIB转发表项,直接在标签转发表项中填入出接口和下一跳指导转发。在此组网中,来自CE0和来自CE1的路由属于同一VPN实例,但出接口和下一跳不同,对应不同的转发操作,应对应不同标签转发表项,所以,对于VPN POPGO技术,对CE0和CE1的路由应分配不同的标签,采用VPN实例+下一跳作为关键字为私网路由分配标签。

2.2 B类跨域L3VPN组网

如图2,B类跨域中,ASBR间通过MP-EBGP交换来自各PE的VPNv4路由。ASBR上无需配置VPN实例,通过配置使其接收所有扩展团体属性的路由(不进行RT匹配的过滤);PE和ASBR之间建立MP-IBGP交换VPNv4路由,与普通L3VPN组网同。

图2 B类跨域L3VPN组网图

(1)路由和流量分析

CE1的路由最终被CE3学到,以这条链路为例:

a.PE1学到CE1的路由以VPNv4路由的形式发送给ASBR1,为路由按VPN实例索引+下一跳分配私网标签,与普通L3VPN组网同。

b.ASBR1将来自不同PE的VPNv4路由发送给ASBR2,ASBR1要为路由分配标签、创建LFIB表项,此表项的目的:为了指导来自ASBR2的流量转发到那个PE,即流量要走哪条公网LSP(PE和ASBR之间由LDP创建的公网隧道),打上PE为不同私网路由分配的私网标签,用来指导流量从PE转发到那个CE。此处用下一跳+出标签作为关键字为路由分配标签。

c.ASBR2将来自不同ASBR的VPNv4路由转发给PE,首先BGP会在ASBR之间创建一条域间公网LSP,同时会为路由分配标签,与上一步骤分配标签的作用一致,指导流量转发到ASBR邻居,同时打上不同的出标签,此处也是用下一跳+出标签作为关键字为路由分配标签。

(2)标签分配策略

B类跨域中,ASBR为来自PE的路由和来自ASBR的路由,都按下一跳+出标签作为关键字分配标签,用来指导流量转发到哪个PE/ASBR及打上什么私网标签,其实是对相同Site的路由进行汇聚,为不同Site的路由分配了不同的标签。

2.3 C类跨域L3VPN组网

如图3,相对于B类跨域ASBR上要存储来自PE的所有VPNv4路由,路由的存储和标签转发对ASBR造成了较大的负担,C类跨域组网中则通过2端PE建立多跳VPNv4 EBGP邻居,直接交换VPNv4路由,在ASBR上无需VPNv4路由的存储与传播。

图3 C类跨域L3VPN组网图

(1)PE1和PE3之间要建立多跳MP-EBGP连接,需要将PE1的公网路由带标签发布给PE2,建立一条贯穿的公网LSP。

a.将PE1用来建立多跳MP-EBGP邻居的LOOPBACK口IP地址通过IGP(OSPF等)被ASBR1学到,并建立起PE与ASBR之间的域内公网LSP,由LDP完成。

b.ASBR1上,BGP协议引入IGP路由(PE的LOOPBACK口地址),并发送给ASBR2,ASBR1要为路由分配公网标签,同时下发LFIB表项,指导从ASBR2来的流量转发到哪个PE。

此处不能按下一跳分配标签,PE0和PE2的LOOPBACK口IP地址通过IGP被ASBR1学到,2条路由的下一跳是相同的,按下一跳分配标签则无法区别这2条链路。因为每个LOOPBACK口IP地址代表了一个域内公网LSP的目的地,在ASBR1向ASBR2发送路由时,按每路由的方式分配标签,关键字为引入路由的IP前缀。

c.ASBR2上收到ASBR1的BGP公网带标签路由,BGP会创建到PE1的公网LSP,是流量从ASBR2转发到PE1所经的路径。

ASBR2向域内PE3转发BGP带标签路由时,也是按每路由方式分配标签,标签的作用便是指导流量由哪条LSP转发,目的地是哪个PE。

d.PE3收到IPv4带标签路由,会创建到另一端PE1的公网LSP,从CE3有流量到CE1时,打上PE1为VPNv4路由分配的私网标签,直接经这条LSP便可到达PE1。

流量由PE3向ASBR2转发时有3层标签:最内层是PE1上BGP分配的私网标签,决定PE1上如何向私网转发,查询PE3上VPN_A实例的FIB表项可知,从CE3到CE1的流量要先打上此标签,然后经LSP(目的地为PE1)转发;第2层标签是ASBR2向PE3发送IPv4带标签路由时BGP分配的,目的是流量到达ASBR2时指导流量经LSP2到达PE1;最外层标签是指导流量到达ASBR2,由LDP分配。

(2)标签分配策略

C类跨域组网分配标签的特别之处是发送IPv4标签路由时的标签分配,此标签的目的是指导流量到达哪个PE。因为PE的IP地址是公网地址,全球唯一,而且到达不同PE的转发操作是不同的,所以此时不能用路由汇聚的标签分配方式,而用公网带标签路由的IP前缀作为关键字,采用为每条路由分配一个标签的策略。

3 结束语

本文详细分析了MPLS L3VPN的普通域间组网及B类C类跨域组网中,流量转发的具体操作及每层标签在转发中的作用和意义。提出路由汇聚的思想在标签分配中的运用,对同一子网具有相同属性的路由,分配相同的标签、执行相同的转发操作,节省了标签资源、简化了转发操作。

[1] 巨丹. 对MPLS MP—BGP VPN的理解[J] . 通信科技,2010(3).

[2] 韩海雯,张潇元. 基于BGP协议的MPLS VPN构建机制分析[J] . 计算机工程与设计,2008(3).

猜你喜欢

表项公网跨域
跨域异构体系对抗联合仿真试验平台
基于多标签协同学习的跨域行人重识别
一种改进的TCAM路由表项管理算法及实现
为群众办实事,崂山区打出“跨域通办”组合拳
浅析大临铁路公网覆盖方案
G-SRv6 Policy在跨域端到端组网中的应用
基于Holt 双参数指数平滑法的SDN 交换机流表超时优化策略*
公网铁路应急通信质量提升的技术应用
如何迎接公网对讲的春天
SDN数据中心网络基于流表项转换的流表调度优化