路由聚合方法、报文转发方法以及自治系统边界路由器的制作方法

文档序号:7649730阅读:289来源:国知局
专利名称:路由聚合方法、报文转发方法以及自治系统边界路由器的制作方法
技术领域
本发明涉及数据通信领域的路由协议技术,具体涉及边界网关协议/多协议标签转发虚拟专用网络(BGP/MPLS VPN,Border GatewayProtocol/Multiple Protocol Label Switch Virtual Private Network)中,实现路由聚合的方法、报文转发方法以及自治系统边界路由器。
背景技术
BGP/MPLS VPN,是一种允许服务提供商(SP,Service Provider)使用自己的骨干网络,为客户提供VPN服务的机制。BGP/MPLS VPN使用BGP协议在服务提供商骨干网上发布VPN路由,使用MPLS协议在服务提供商骨干网上转发VPN报文。MPLS协议是利用MPLS报文中的标签对MPLS报文进行转发的协议,VPN报文也属于MPLS报文。
图1为BGP/MPLS VPN网络模型的组成框图。如图1所示,BGP/MPLSVPN包括用户网络边缘设备(CE,Customer Edge)101,用于将用户站点连接至SP骨干网络。
服务提供商边缘路由器(PE,Provider Edge)102,是SP骨干网络的边缘设备,与CE直接相连。BGP/MPLS VPN网络中,所有VPN信息的处理都在PE上进行。PE上存储有VPN路由转发实例(VRF,VPN Routing&Forwarding Instance),简称VPN实例。VPN实例中包含路由表和转发表。到达PE的VPN报文可以根据相应的VPN实例进行转发。
服务提供商路由器(P,Provider)103,是SP骨干网络的骨干路由器,只需负责VPN报文的转发,不用维护VPN信息。
采用BGP/MPLS VPN进行报文转发之前,首先PE之间要进行VPN路由的交换,即路由发布,以保正PE间路由的统一,才能进行正常的VPN报文转发。由于一个用户站点可以属于多个VPN,该用户站点的IP地址就可以属于多个VPN。因此VPN路由采用路由区分符(RD,Route Distinguisher)来表示VPN路由来自哪个VPN。VPN路由中的IP地址由RD和IPv4地址前缀/掩码组成,因此VPN路由也称为VPN-IPv4路由。
当PE用BGP分发一个VPN-IPv4路由时,使用自身作为下一跳节点,并为VPN-IPv4路由指定和分发一个标签。在当前VPN数量和每个VPN的用户站点路由数量都很大的情况下,PE所接收和保存的路由数量将十分巨大,为了解决这个问题,目前是在PE上对VPN-IPv4路由进行聚合。路由聚合是将多条原始路由合并成一条聚合路由,用一个聚合地址代表一系列网络号的一种方法。采用在PE上进行路由聚合的方法能够减少PE向其它PE发送的路由数量,从而减少各个PE上的路由存储量。
一个自治系统是处于一个管理机构控制之下的路由器和网络群组。在实际组网应用中,当SP骨干网络由一个以上的管理机构提供时,VPN跨越了多个自治系统,就形成了跨域VPN。对于跨域VPN来说,属于不同自治系统的PE可以通过各自自治系统的自治系统边界路由器(ASBR,AutonomousSystem Border Router)进行VPN路由交换。
图2为现有技术跨域BGP/MPLS VPN网络模型的组成框图,参见图2,自治系统(AS,Autonomous System)100和AS200是两个自治系统,PE-1、PE-2和ASBR-1属于AS100,PE-3、PE-4和ASBR-2属于AS200。分属于不同自治系统的PE需要通过ASBR进行路由发布。
例如,PE-1向PE-3发布路由时,要将携带标签的VPN-IPv4路由经由ASBR-1和ASBR-2发送到PE-3。在该路由发布过程中ASBR-1和ASBR-2都要对接收的携带标签的VPN-IPv4路由进行存储和重新指定下一跳节点和标签的处理。可见,对于跨域VPN来说,ASBR上汇聚了其所属自治系统上所有PE发来的VPN-IPv4路由,而且ASBR不仅要负责接收和保存本自治系统所有PE发来的VPN-IPv4路由,然后向其它自治系统的ASBR发布,还要接收和保存其它自治系统ASBR发布的VPN-IPv4路由,并向本自治系统的PE发布,因此对ASBR的路由存储量和转发能力要求较高。而现有在PE对路由的聚合,只能解决在一定程度上减少各个PE发布给ASBR的VPN-IPv4路由数量。当全网PE数量众多,且VPN数量和每个VPN的用户站点路由数量都很大的情况下,ASBR上需要存储和处理的VPN-IPv4路由数量仍然十分巨大。当运营商建立大型跨域VPN网络时,ASBR将出现路由容量不足、标签资源不足、转发负担过重等问题。

发明内容
本发明实施例提供了一种路由聚合方法,能够减少ASBR接收和保存的路由,减轻路由转发的负担。
该路由聚合方法应用于包括多个ASBR的网络,每个ASBR与多个PE连接,该方法包括ASBR接收来自多个PE的多条原始路由,将路由区分符RD相同、属于相同子网的原始路由进行聚合,生成聚合路由,为每个聚合路由分配一标签,并在所述聚合路由中加入所述标签,生成携带标签的聚合路由。
本发明实施例提供了一种报文转发方法,能够减少ASBR接收和保存的路由,减轻路由转发的负担。
该报文转发方法应用于包括多个ASBR的网络,所述每个ASBR与多个PE连接,该方法包括第一ASBR接收来自多个PE的多条原始路由,将RD相同、属于相同子网的原始路由进行聚合,生成聚合路由,并为每个聚合路由分配一标签,并在所述聚合路由中加入所述标签,生成携带标签的聚合路由;存储为聚合路由分配的标签和该聚合路由对应的原始路由之间的对应关系;将所述携带标签的聚合路由发布给另一自治系统的第二ASBR;所述第一ASBR接收到所述第二ASBR发来的携带标签的报文,根据报文所携带的标签,从所述对应关系中,获取对应的原始路由;从获取的所述原始路由中获取所述报文转发路由;根据所述转发路由转发该报文。
本发明实施例还提供了一种自治系统边界路由器,能够减少接收和保存的路由,减轻路由转发的负担。
该ASBR应用于包括多个ASBR的网络,所述每个ASBR与多个PE连接,该ASBR包括路由聚合处理单元和标签分配单元;所述路由聚合处理单元,用于接收来自多个PE的多条原始路由,将RD相同、属于相同子网的原始路由进行聚合,生成聚合路由,发送给标签分配单元;所述标签分配单元,用于为接收自所述路由聚合处理单元的每个聚合路由分配一标签,并在所述聚合路由中加入所述标签,生成携带标签的聚合路由。
与现有技术相比,本发明实施例所提供的路由聚合方法、报文转发方法和自治系统边界路由器,在ASBR上将接收自PE的VPN-IPv4路由进行聚合处理和标签分配。ASBR仅将聚合后的路由发布给其它自治系统的ASBR。相应的,其它自治系统的ASBR仅将聚合后的路由发布给本自治系统的ASBR。因此有效的减少了ASBR接收和保存的路由,降低了路由转发负担,解决了ASBR路由容量不足的问题。同时,路由的减少,为路由分配的标签也随之减少,大大节省了标签资源。


图1为BGP/MPLS VPN网络模型的组成框图;图2为跨域VPN网络模型的组成框图;图3为本发明实施例路由聚合方法的方法流程图;图4为采用图3的路由聚合方法实现报文转发一实施例的方法流程图;图5为采用图3的路由聚合方法实现报文转发另一实施例的方法流程图;图6为采用图5的报文转发方法的一个实例流程图;图7为本发明自治系统边界路由器实施例一的组成结构示意图;
图8为本发明自治系统边界路由器实施例二的组成结构示意图。
具体实施例方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明实施例进行进一步详细说明。
在跨域VPN中,由于PE只维护与其相连VPN的路由。所以,ASBR接收的来自不同PE的VPN-IPv4路由可能来自相同的VPN,仍然属于相同子网,因此存在进一步聚合的可能。但现有技术并没有在ASBR上对还可能聚合的VPN-IPv4路由进行聚合,而是将接收的VPN-IPv4路由全部发布到其它自治系统。
因此,本发明实施例在ASBR上,根据接收自多个PE的原始路由,将RD相同、属于相同子网的原始路由进行聚合,生成聚合路由,为每个聚合路由分配一标签,并在聚合路由中加入该标签,生成携带标签的聚合路由。从而减少ASBR向其它自治系统ASBR发布路由的数量。
以下对实现本发明实施例的具体实施方法进行详细说明。
图3为本发明实施例路由聚合方法的方法流程图。该方法具体包括以下两个步骤步骤301,ASBR接收来自多个PE的多条原始路由,将RD相同、属于相同子网的原始路由进行聚合,生成聚合路由。
本步骤中,路由聚合是将RD相同、IPv4地址前缀/掩码属于相同子网的多个VPN-IPv4路由,即原始路由,进行聚合,合并成一个聚合路由的方法。路由聚合可以采用BGP定义的聚合算法。PE发来的VPN-IPv4路由包括RD、IPv4地址前缀/掩码、路由目标(RT,Route Target)、下一跳节点和出标签等属性信息,因此聚合路由需要继承原始路由的属性信息。在聚合处理时,根据原始路由确定聚合路由的RD、IPv4地址前缀/掩码以及RT。聚合路由的下一跳节点是ASBR自身,聚合路由的出标签由ASBR指定。
聚合过程包括如果判断原始路由的IPv4地址前缀/掩码属于相同子网,则ASBR根据原始路由的RD和IPv4地址前缀/掩码,将属于相同子网的多个IPv4地址前缀/掩码,合并成一个掩码较短的IPv4地址前缀/掩码,将合并后的IPv4地址前缀/掩码确定为聚合路由的IPv4地址前缀/掩码;将原始路由的RD确定为聚合路由的RD;根据原始路由的RT确定聚合路由的RT。
步骤302,ASBR为每个聚合路由分配一入标签,并在聚合路由中加入该入标签,生成携带入标签的聚合路由。
这里需要说明的是,本步骤中为聚合路由分配的入标签,也就是上述ASBR为聚合路由指定的出标签。因为,在路由发布过程中,对于ASBR来说,从PE接收的原始路由所述携带的标签是出标签,为聚合路由分配的标签是入标签。但当ASBR将聚合路由发布出去时,对于接收该聚合路由的ASBR来说,聚合路由所携带的标签为出标签。因此,以下所说的为聚合路由分配入标签、聚合路由所携带的出标签和聚合路由所携带的入标签都是指同一个标签。
至此,完成了在ASBR上的路由聚合。
图4为采用图3的路由聚合方法实现报文转发一实施例的方法流程图。参见图4,该方法具体包括以下步骤步骤401,ASBR接收来自多个PE的多条原始路由,RD相同、属于相同子网的原始路由进行聚合,生成聚合路由。
步骤402,为每个聚合路由分配一入标签,并在聚合路由中加入该入标签,生成携带入标签的聚合路由。
步骤403,存储为聚合路由分配的入标签与该聚合路由对应的原始路由之间的对应关系。
步骤404,将携带有为其分配的入标签的聚合路由发布给其它自治系统的ASBR。
步骤405,ASBR从其它自治系统的ASBR接收到携带入标签的VPN报文时,根据ASBR存储的入标签与原始路由的对应关系,获取与VPN报文所携带入标签对应的原始路由,并从获取的原始路由中获取VPN报文转发路由,从而转发VPN报文。
至此,完成了报文转发。
以下再举一实施例,详细说明如何建立并存储为聚合路由分配的入标签与该聚合路由对应的原始路由之间的对应关系,并利用该对应关系正确的转发报文。图5为采用图3的路由聚合方法实现报文转发另一实施例的方法流程图。参见图5,该方法具体包括以下步骤步骤500,为ASBR中每个RD路由表创建一个转发信息库(FIB,ForwardInformation Base)表,也叫RD FIB表。
本步骤在进行ASBR配置时执行一次。创建好RD FIB表以后,在进行路由聚合时不用每次都执行。
RD路由表用于存储ASBR接收的VPN-IPv4路由和ASBR聚合后的聚合路由。所有VPN-IPv4路由都是根据RD的不同,分别存储于相应的RD路由表中。RD路由表中的字段包括RD、IPv4地址/掩码、下一跳节点、RT、出标签等。
每个RD FIB表对应一个RD路由表,也可以说每个RD FIB表对应一个不同的RD。由于一条聚合路由对应多个原始路由,这些原始路由就称为被路由聚合抑制的原始路由。RD FIB存储的就是被聚合抑制的原始路由,该表中的字段包括RD、IPv4地址/掩码、下一跳节点、RT、出标签等。
步骤501,ASBR接收多个PE发来的原始路由,并对RD相同的原始路由进行聚合处理。
本步骤中,如果各PE已经对路由进行了聚合,则ASBR接收的原始路由可以是经PE聚合后的路由。
ASBR将接收自多个PE的原始路由,根据路由区分符RD的不同进行路由聚合后,将聚合路由及其对应的原始路由存入RD路由表。或者,ASBR在接收到多个PE的原始路由后,根据路由区分符RD的不同分别存入相应的RD路由表;分别对各RD路由表中的接收自PE的原始路由进行聚合处理。为每个RD路由表中的原始路由进行聚合的目的也是对RD相同的原始路由进行聚合。聚合路由也是VPN-IPv4路由。本步骤进行聚合处理后,确定了聚合路由的RD、IPv4地址前缀/掩码和RT。
RT是路由发布过程中,随路由一起发送的信息。RT分为入口RT(ImportRT)和出口RT(Export RT)。PE中的VPN实例中配置了Import RT列表,当PE接收的路由的Export RT与PE中Import RT列表相匹配,路由才会被引入到该VPN实例中。RT起到了路由过滤的作用。本实施例中所指的RT是指Export RT。在路由发布过程中,该RT属性附加在路由上同时发送。因此在ASBR进行路由聚合时,也需要对RT进行处理。一般RD相同的路由,其RT也会配置成相同的,但也有可能不相同。
本发明实施例中,参与聚合的原始路由的RT可以相同,这样聚合后的路由就使用跟原始路由相同的RT。参与聚合的原始路由的RT也可以不相同。对于参与聚合的原始路由RT不相同的情况,聚合路由可以选择如下几种策略确定其所携带的RT1)取参与聚合的原始路由所携带的RT的全集;2)取参与聚合的原始路由所携带的RT的交集;3)在RD路由表上手工设置聚合路由可以携带的RT;4)根据路由策略设置聚合路由可以携带的RT。
步骤502,将被路由聚合抑制的原始路由加入RD FIB表。
在实际应用中,可以将每一条被路由聚合抑制的原始路由作为一条转发等价类映射下一跳标记转发条目(FTN,FEC to NHLFE)项存储在RD FIB表中。FTN项的字段主要包括原始路由的RD、IPv4地址前缀/掩码、下一跳节点、出标签和RT。
步骤503,ASBR为聚合路由分配入标签,并创建该入标签的ILM。
本步骤中,可以为每个聚合路由分别分配一个入标签,再为每个入标签创建一个ILM;也可以为每个RD路由表分配一个入标签,再为RD路由表对应的每个入标签创建一个ILM,同一RD路由表中的聚合路由使用相同的入标签。实质上,为一个RD路由表分配一个入标签就是为RD相同的聚合路由分配一个入标签。采用后者为聚合路由分配入标签,更加节省ASBR的标签资源。这里,创建的ILM的操作类型为弹出(POP),且映射关系为将入标签映射到对应的RD FIB表。因此,ILM包括以下字段入标签操作类型POP RD其中,通过RD可以查找到对应的RD FIB表。因此,本实施例中,ILM记录了为聚合路由分配的入标签与该聚合路由的RD对应的RD FIB表的对应关系。而RD FIB表中存储了被聚合抑制的原始路由。从而可见,ILM和RD FIB表共同存储了为聚合路由分配的入标签和该聚合路由的原始路由的对应关系。
如果ASBR从PE接收的原始路由中包括不能被聚合的路由,则对该路由按照现有技术进行处理,即对该路由分配一个入标签,为该入标签创建一个操作类型为交换(SWAP)的ILM。ILM记录了入标签对应的出标签。在ASBR对接收的VPN报文进行处理时,根据标签栈顶的入标签找到对应的ILM,根据ILM中SWAP操作指示,将ILM中的出标签与标签栈顶的入标签交换,根据ILM映射的下一跳转发条目,将当前MPLS报文通过SP骨干网转发给相应的PE。
步骤504,ASBR将自身作为下一跳节点,将携带有下一跳节点和为聚合路由分配的入标签的聚合路由发布给其它自治系统的ASBR。
步骤505,其他自治系统的ASBR接收到聚合路由后,重新指定下一跳节点和入标签,然后再将聚合路由发布给其所属自治系统内的PE。
本步骤中,其它自治系统的ASBR接收到聚合路由后进行的后续操作与现有技术相同。本步骤执行后,就使得跨域VPN中PE和ASBR上的VPN-IPv4路由一致,便可以在SP骨干网上进行正确的报文转发。
步骤506,当本自治系统的ASBR接收到其它自治系统的ASBR发来的携带入标签的报文,根据报文所携带的入标签查找对应的ILM;根据查找到的ILM从对应的RD FIB表存储的原始路由中查找出该报文的转发路由;根据转发路由转发该报文。
本步骤中,在ASBR从其它自治系统的ASBR接收到VPN报文时,对该VPN报文标签栈顶的入标签进行检查,根据该入标签找到对应的ILM,根据ILM中POP操作指示,弹出标签栈顶的入标签,得到IP报文;根据ILM中RD的指示,查找到与该RD对应的RD FIB表;再将IP报文头中的目的地址,与查到的RD FIB表中各FTN项的IPv4地址前缀进行最长匹配,将匹配到的FTN项中出标签压入标签栈,根据下一跳节点将报文通过SP骨干网转发给相应的PE。
下面举例说明本发明实施例的路由聚合,以及在路由聚合后进行路由发布和报文转发的具体实现过程。
本例假设,图2中的PE-1上配置两个VPN实例vpn1和vpn2。这两个VPN实例中的路由信息是从与其相连的CE学习到的路由。
vpn1的RD是100:1,有三条路由10.1.1.0/24,10.1.2.0/24,10.1.3.0/24。
vpn2的RD是100:2,有三条路由20.1.1.0/24,20.1.2.0/24,20.1.3.0/24。
PE-2上配置两个VPN实例,vpn1和vpn2vpn1的RD是100:1,有三条路由10.2.1.0/24,10.2.2.0/24,10.2.3.0/24。
vpn2的RD是100:2,有三条路由20.2.1.0/24,20.2.2.0/24,20.2.3.0/24。
整网中,所有PE上的vpn1属于同一个VPN,所有vpn2属于另一个VPN。PE-1和PE-2均能进行路由聚合,仅把聚合后的VPN-IPv4路由发布给ASBR-1。
图6为采用图5的报文转发方法的一个实例流程图。参见图6,该方法包括以下步骤步骤600,ASBR预先为RD为100:1和100:2的路由表创建两个对应的RD FIB表。
步骤601,PE-1和PE-2分别将配置在VPN实例中的路由进行聚合和分配入标签,并将自身作为下一跳节点,生成PE的聚合路由。
本步骤中,PE-1根据配置的两个VPN实例,生成PE-1的聚合路由为RD 100:1 10.1.0.0/16 下一跳PE-1 入标签Lm RT 100:1;
RD 100:2 20.1.0.0/16 下一跳PE-1 入标签Ln RT 100:2。
PE-2根据配置的两个VPN实例,生成PE-2的聚合路由为RD 100:1 10.2.0.0/16 下一跳PE-2 入标签Lm RT 100:1;RD 100:2 20.2.0.0/16 下一跳PE-2 入标签Ln RT 100:2。
步骤602,PE-1和PE-2分别将PE的聚合路由发给ASBR-1。
本步骤中,ASBR-1接收到来自PE-1的携带标签的PE-1的聚合路由为RD 100:1 10.1.0.0/16 下一跳PE-1 出标签Lm RT 100:1;RD 100:2 20.1.0.0/16 下一跳PE-1 出标签Ln RT 100:2。
ASBR-1接收到来自PE-2的携带标签的PE-2的聚合路由为RD 100:1 10.2.0.0/16 下一跳PE-2 出标签Lm RT 100:1;RD 100:2 20.2.0.0/16 下一跳PE-2 出标签Ln RT 100:2。
这里需要说明的是,ASBR-1接收到的PE的聚合路由中的出标签,就是PE生成的聚合路由的入标签。
步骤603,ASBR-1以RD对应的RD路由表为单位,对从PE-1和PE-2接收的PE的聚合路由进行聚合。ASBR-1从PE-1和从PE-2接收的路由都称为原始路由。
本实施例中,ASBR-1至少包括两个RD路由表,分别为RD为100:1的RD路由表和RD为100:2的RD路由表。经聚合处理,得到RD为100:1的RD路由表中的路由10.1.0.0/16、10.2.0.0/16聚合产生路由10.0.0.0/8,RT为100:1;该聚合路由保存到RD为100:1的RD路由表中。
RD为100:2的RD路由表中的路由20.1.0.0/16、20.2.0.0/16聚合产生20.0.0.0/8,RT为100:2;该聚合路由保存到RD为100:2的RD路由表中。
步骤604,在每个RD路由表对应的RD FIB表中加入被路由聚合抑制的原始路由。
本步骤中,在RD为100:1的RD FIB表中加入FTN项RD 100:1 10.1.0.0/16 下一跳PE-1 出标签Lm RT 100:1;RD 100:1 10.2.0.0/16 下一跳PE-2 出标签Lm RT 100:1;
在RD为100:2的RD FIB表中加入FTN项RD 100:2 20.1.0.0/16 下一跳PE-1 出标签Ln RT 100:2;RD 100:2 20.2.0.0/16 下一跳PE-2 出标签Ln RT 100:2。
步骤605,ASBR-1为RD路由表分配入标签,并创建该入标签操作类型为POP的ILM。RD路由表中的聚合路由均使用为其所属RD路由表分配的入标签。
本步骤中,ASBR-1为RD是100:1的RD路由表分配入标签Lj;为Lj创建ILM项;为RD为100:2的RD路由表分配入标签Lk;为Lk创建ILM项。上述两个ILM项分别包括入标签Lj操作类型POPRD 100:1;入标签Lk操作类型POPRD 100:2。
可见,本发明实施例的ASBR-1只需为其从PE接收到的路由分配两个标签,创建2个ILM。而现有技术,ASBR-1要为其从PE接收到的路由分配4个入标签,创建4个ILM。可见采用本发明实施例不仅减少了ASBR向外发送的路由数量,而且减少了标签的需求量。
步骤606,ASBR-1将自身作为发布路由的下一跳节点,将确定的聚合路由发布给ASBR-2。
ASBR-1发布给ASBR-2的聚合路由为RD 100:110.0.0.0/8下一跳ASBR-1入标签LjRT 100:1;RD 100:220.0.0.0/8下一跳ASBR-1入标签LkRT 100:2;可见,ASBR-1只需将两条携带标签的VPN-IPv4路由发布给ASBR-2。而采用现用技术进行路由发布,在PE-1和PE-2配置的VPN实例相同的情况下,ASBR-1需要向ASBR-2发布4条携带标签的VPN-IPv4路由。因此本实施例ASBR-2接收和保存的路由减少为原来的一半,且ASBR-2向其自治系统内的PE所发布的路由也减少为原来的一半。
步骤607,当ASBR-1接收到ASBR-2发来的携带标签的VPN报文,根据报文所携带的入标签查找对应的ILM;根据该ILM从对应的FIB表中查找出该报文的转发路由;根据转发路由转发该报文。
本实施例中,当ASBR-1接收到来自ASBR-2的VPN报文时,假设该VPN报文的标签栈顶的标签Lj,则ASBR-1根据该标签Lj查到对应的ILM,根据该ILM中RD为100:1,查找到RD为100:1的RD FIB表;再根据该ILM的指示将报文标签弹出,得到IP报文头;根据IP报文头中的目的地址到RD为100:1的RD FIB表中,采用最长匹配的方法,匹配到相应的原始路由,并将匹配的原始路由作为VPN报文的转发路由。假设得到的IP报文目的地址为10.1.1.2/32,则在RD为100:1的RD FIB表中匹配到以下原始路由RD 100:1 10.1.0.0/16下一跳PE-1出标签Lm RT100:1;则,根据该原始路由,将新的标签Lm放入VPN报文的标签栈,并根据下一跳PE-1将报文转发到正确的PE。
为实现图3示出的路由聚合方法,本发明提供了一种自治系统边界路由器。图7为本发明自治系统边界路由器实施例一的组成结构示意图,该自治系统边界路由器包括路由聚合处理单元701和标签分配单元702。
路由聚合处理单元701,用于根据接收自多个PE的原始路由,生成聚合路由;为聚合路由分配入标签后,将携带有入标签的聚合路由发送给标签分配单元702。
标签分配单元702,用于为接收自路由聚合处理单元701的每个聚合路由分配入标签,生成携带入标签的聚合路由。
为实现图4示出的报文转发方法,还需要在上述ASBR的组成结构中添加实现报文转发的相关模块。其具体实施方式
如图8所示。
图8为本发明自治系统边界路由器实施例二的组成结构示意图。参见图8,本实施例的ASBR包括路由聚合处理单元801、标签分配单元802、路由发布单元803、对应关系记录单元804、存储单元805和报文转发单元806。
与图7示出的自治系统边界路由器实施例一不同之处在于,本实施例中ASBR进一步包括对应关系记录单元804、存储单元805和报文转发单元806。
其中,对应关系记录单元804,用于接收标签分配单元804发送的携带入标签的聚合路由,从路由聚合处理单元801中获取携带入标签的聚合路由对应的原始路由,再将为聚合路由分配的入标签与该聚合路由对应的原始路由之间的对应关系记录在存储单元805中。
存储单元805,用于存储为聚合路由分配的入标签和该聚合路由对应的原始路由之间的对应关系。
报文转发单元806,用于接收其它自治系统的ASBR发来的携带入标签的报文,根据报文所携带的入标签,从存储单元805中的对应关系中,查找入标签对应的原始路由,并从查找到的原始路由中获取报文的转发路由,并转发该报文。
为了实现图5示出的报文转发方法,可以采用图8示出的自治系统边界路由器组成结构。在存储单元805中存储各RD对应的RD FIB表和存储有各入标签对应的ILM的ILM表。该存储单元805还存储有各RD对应的RD路由表。每一个RD FIB表对应一个RD路由表。
下面对照存储单元805所存储的各种表,对自治系统边界路由器实施例二其它组成单元的工作原理进行相应的说明。
其中,路由聚合处理单元801接收各PE的原始路由,对RD相同的原始路由进行聚合,将聚合路由发送给标签分配单元802,同时将聚合路由及其对应的原始路由发送给对应关系记录单元804。
标签分配单元802为接收的每一聚合路由分配一入标签,将该入标签加入聚合路由,将携带有入标签的聚合路由发送给路由发布单元803;并将该携带入标签的聚合路由发送给对应关系记录单元804。
对应关系记录单元804,接收路由聚合处理单元801发送的聚合路由及其对应的原始路由,还接收标签分配单元802发送的携带入标签的聚合路由。将聚合路由对应的原始路由,按照RD的不同存入存储单元805中相应的RD FIB表中;为聚合路由携带的入标签创建操作类型为POP的ILM,将ILM存入存储单元805的ILM表中;将聚合路由及其对应的原始路由存入存储单元805中相应的RD路由表中。
报文转发单元806,在接收到其它ASBR转发的VPN报文时,用于根据VPN报文中的入标签在存储单元805的ILM表中查到对应的ILM,根据ILM的指示弹出该入标签,得到IP报文;同时根据ILM中的RD在存储单元805中查找到与该RD对应的RD FIB表;再将IP报文头中的目的地址,与查到的RD FIB表中FTN项的IPv4地址前缀进行最长匹配,根据匹配到的FTN项将VPN报文通过SP骨干网转发给相应的PE。
由以上所述可以看出,本发明实施例所提供的路由聚合方法、基于路由聚合的报文转发以及能够实现路由聚合以及报文转发的ASBR,都能够有效的减少自治系统向外发布的VPN-IPv4路由数量,减轻全网ASBR和PE设备的路由容量负担。节省了ASBR的标签资源,避免创建大量的ILM表项,减轻了转发层面的负担。进一步的,由于减少了全网VPN-IPv4路由数量以及ASBR上的ILM表项,因此节省了内存资源,减少转发信息在主控板和接口板之间的刷新,提高了网络设备在运行中的稳定度。当本发明实施例路由聚合方案应用在运营商大型跨域VPN网络中时,可以有效解决ASBR上路由容量不足、标签资源不足的问题,间接增加了ASBR设备的路由容量和稳定性。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种路由聚合方法,应用于包括多个自治系统边界路由器ASBR的网络,所述每个ASBR与多个提供商边界设备PE连接,其特征在于,该方法包括ASBR接收来自多个PE的多条原始路由,将路由区分符RD相同、属于相同子网的原始路由进行聚合,生成聚合路由,为每个聚合路由分配一标签,并在所述聚合路由中加入所述标签,生成携带标签的聚合路由。
2.根据权利要求1所述的方法,其特征在于,所述原始路由为VPN-IPv4路由。
3.根据权利要求1所述的方法,其特征在于,在ASBR接收所述原始路由之前,该方法进一步包括PE对所要发送的路由进行聚合后,发送给ASBR;所述原始路由为PE聚合后的路由。
4.根据权利要求1所述的方法,其特征在于,所述为每个聚合路由分配一标签为为每个聚合路由分别分配互不相同的标签;或者,为RD相同的聚合路由分配相同的标签。
5.根据权利要求1所述的方法,其特征在于,所述将RD相同、属于相同子网的原始路由进行聚合,生成聚合路由为ASBR根据所述原始路由的RD和IPv4地址前缀/掩码,将属于相同子网的多个IPv4地址前缀/掩码,合并成一个掩码较短的IPv4地址前缀/掩码,将合并后的IPv4地址前缀/掩码确定为聚合路由的IPv4地址前缀/掩码,将原始路由的RD确定为聚合路由的RD,根据原始路由的路由目标RT确定聚合路由的RT。
6.根据权利要求5所述的方法,其特征在于,所述确定聚合路由的RT为当生成所述聚合路由的各原始路由的RT相同时,将该相同的RT作为聚合路由的RT;当生成所述聚合路由的各原始路由的RT不同时,取各原始路由的RT的全集作为聚合路由的RT,或者取各原始路由的RT的交集作为聚合路由的RT,或者手工设置聚合路由的RT;或者根据路由策略设置聚合路由的RT。
7.一种报文转发方法,应用于包括多个ASBR的网络,所述每个ASBR与多个PE连接,其特征在于,该方法包括第一ASBR接收来自多个PE的多条原始路由,将RD相同、属于相同子网的原始路由进行聚合,生成聚合路由,为每个聚合路由分配一标签,并在所述聚合路由中加入所述标签,生成携带标签的聚合路由;存储为聚合路由分配的标签和该聚合路由对应的原始路由之间的对应关系;将所述携带标签的聚合路由发布给另一自治系统的第二ASBR;所述第一ASBR接收到所述第二ASBR发来的携带标签的报文,根据报文所携带的标签,从所述对应关系中,获取对应的原始路由;从获取的所述原始路由中获取所述报文转发路由;根据所述转发路由转发该报文。
8.根据权利要求7所述的方法,其特征在于,该方法进一步包括,第一ASBR预先针对不同RD分别创建对应的转发信息库FIB表;所述存储为聚合路由分配的标签和该聚合路由对应的原始路由之间的对应关系的步骤包括记录为聚合路由分配的标签和RD的对应关系;将所述聚合路由对应的原始路由记录在该聚合路由的RD对应的FIB表中;所述获取所述报文的转发路由的步骤包括根据报文所携带的标签,从所述对应关系中查找对应的RD;从所述查找到的RD对应的FIB表中获取原始路由,从所述获取的原始路由中获取所述报文的转发路由;根据所述转发路由转发该报文。
9.根据权利要求7或8所述的方法,其特征在于,所述原始路由中携带IPv4地址前缀/掩码;所述获取所述报文的转发路由包括将所述报文的目的IP地址,与所述获取的原始路由中携带的IPv4地址前缀进行匹配,将匹配成功的原始路由作为所述报文的转发路由。
10.一种自治系统边界路由器,应用于包括多个ASBR的网络,所述每个ASBR与多个PE连接,其特征在于,该ASBR包括路由聚合处理单元和标签分配单元;所述路由聚合处理单元,用于接收来自多个PE的多条原始路由,将RD相同、属于相同子网的原始路由进行聚合,生成聚合路由,发送给标签分配单元;所述标签分配单元,用于为接收自所述路由聚合处理单元的每个聚合路由分配一标签,并在所述聚合路由中加入所述标签,生成携带标签的聚合路由。
11.根据权利要求10所述的自治系统边界路由器,其特征在于,该自治系统边界路由器进一步包括路由发布单元,用于将所述携带标签的聚合路由发送给另一自治系统的ASBR。
12.根据权利要求11所述的自治系统边界路由器,其特征在于,该自治系统边界路由器进一步包括存储单元、对应关系记录单元和报文转发单元;所述对应关系记录单元,用于接收所述标签分配单元的所述携带标签的聚合路由,从所述路由聚合处理单元中获取所述携带标签的聚合路由对应的原始路由,再将为所述聚合路由分配的标签以及该聚合路由对应的原始路由记录在所述存储单元中;所述存储单元,用于存储为聚合路由分配的标签和该聚合路由对应的原始路由之间的对应关系;向所述报文转发单元返回标签对应的原始路由;所述报文转发单元,用于接收另一自治系统的ASBR发来的携带标签的报文,根据报文所携带的标签,从所述存储单元存储的对应关系中,查找对应的原始路由,并从查找到的原始路由中获取所述报文的转发路由,根据所述转发路由转发所述报文。
全文摘要
本发明公开了一种路由聚合方法,该方法应用于包括多个自治系统边界路由器(ASBR)的网络,每个ASBR与多个提供商边界设备PE连接,该方法包括ASBR接收来自多个PE的多条原始路由,将路由区分符(RD)相同、属于相同子网的原始路由进行聚合,生成聚合路由,并为每个聚合路由分配一标签,并在所述聚合路由中加入所述标签,生成携带标签的聚合路由。使用本发明减少了自治系统边界路由器接收和保存的路由,减轻路由转发的负担。同时,本发明还公开了一种报文转发方法和一种自治系统边界路由器。有效的减少了自治系统边界路由器接收和保存的路由,从而减轻了全网路由数量。
文档编号H04L12/46GK101014014SQ20071008010
公开日2007年8月8日 申请日期2007年2月9日 优先权日2007年2月9日
发明者李勇 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1