一种基于链路故障的切换方法及装置 【技术领域】
本发明涉及通信技术领域,特别是涉及一种基于链路故障的切换方法及装置。
背景技术
随着网络经济的发展,企业对自身网络的建设提出了越来越高的要求,主要表现在网络的灵活性、经济性、扩展性等方面,为了满足企业网络的建设要求,VPN(Virtual Private Network,虚拟私有网络)技术赢得了越来越多的青睐。其中,在公共网络上组建的VPN就像企业的私有网络一样,为企业提供了安全性和可管理性的保证。而在所有的VPN技术中,MPLS(Multiprotocol Label Switching,多协议标记交换)VPN具有良好的可扩展性和灵活性,是目前发展最为迅速的VPN技术之一。
MPLS起源于IPv4(Internet Protocol version 4,因特网协议版本4),核心技术可扩展到多种网络协议,包括IPv6(Internet Protocol version 6,因特网协议版本6)、IPX(Internet Packet Exchange,网际报文交换)和CLNP(Connectionless Network Protocol,无连接网络协议)等。其中,MPLS是一种面向连接的技术,通过MPLS信令建立MPLS LSP(Label Switched Path,标记交换通道),数据在转发时,在网络入口对数据进行分类,并根据分类结果选择对应的LSP,打上相应的标签,中间路由器在收到MPLS报文后直接根据MPLS报头的标签进行转发,而不用再通过IP报文头的IP地址查找。在LSP出口(或倒数第二跳),弹出MPLS标签,还原为IP包。
具体的,MPLS VPN是一种基于MPLS技术的IP-VPN,包括MPLS L2VPN和MPLS L3VPN等。其中,MPLS L3VPN是提供商VPN解决方案中一种基于PE(Provider Edge,服务提供商边缘)设备的L3VPN技术,通过使用BGP(Border Gateway Protocol,边界网关协议)在服务提供商骨干网上发布VPN路由,并使用MPLS在服务提供商骨干网上转发VPN报文。该MPLS L3VPN的组网方式灵活、可扩展性好,能够方便地支持MPLS QoS(Quality of Service,服务质量)和MPLS TE(Traffic Engineering,流量工程),得到了越来越多的应用。而在该MPLS L3VPN中,包括PE设备、CE(Custom Edge,用户网边缘)设备、P(Provider,骨干网核心)设备、VPN用户站点(site)等。
进一步的,在MPLS L3VPN中,VPN报文转发是采用两层标签方式的,第一层(外层)标签在骨干网内部进行交换,指示VPN报文从PE到对端PE的一条LSP,VPN报文利用该第一层标签,可以沿LSP到达对端PE;第二层(内层)标签在从对端PE到达CE时使用,指示VPN报文被发送到哪个Site,或发送到哪个CE,此时,对端PE根据该第二层标签可以找到转发该VPN报文的接口。
以图1所示的VPN报文转发过程为例说明采用两层标签方式进行VPN报文转发的过程。(1)Site 1发出一个目的地址为1.1.1.2的VPN报文,由CE1将该VPN报文发送给PE 1。(2)PE 1根据该VPN报文到达的接口以及目的地址查找VPN实例表项,在匹配成功后将该VPN报文转发出去,并在该VPN报文中同时打上内层和外层两个标签。(3)MPLS网络中的各个P设备利用该VPN报文的外层标签,将该VPN报文传送到PE 2(该VPN报文在到达PE 2的前一跳时,被剥离了外层标签,仅包含内层标签)。(4)PE 2根据该内层标签和目的地址查找VPN实例表项,确定该VPN报文的出接口,将该VPN报文转发至CE 2。(5)CE 2根据正常的VPN报文转发过程将该VPN报文传送到目的地址。
可以看出,在图1所示的VPN报文转发过程中,网络的可靠性不高,任意一个节点或一条链路发生故障时,都会导致业务的中断。而为了提高网络的可靠性,需要采用路径冗余保护的方法,即MPLS L3VPN FRR(FastReRoute,快速重路由),简称为VPN FRR。该VPN FRR是一种在CE双归属的VPN网络环境中,当PE设备发生故障时使VPN业务快速切换的技术。如图2所示,在该VPN FRR技术中,以CE1访问CE2的主路径为Link A(CE1-PE1-PE2-CE2),备份路径为Link B(CE1-PE1-PE3-CE2)为例;当PE2没有发生故障时,CE1访问CE2的路径为LinkA,而当PE2发生故障时,CE1访问CE2的路径快速切换到Link B。
但是,在使用VPN FRR技术时,只能对节点故障进行VPN业务快速切换,而对链路故障无法进行VPN业务快速切换,如图3所示,当CE2和PE2之间的链路发生了故障时,PE1无法感知CE2和PE2之间链路发生的故障,当CE1需要访问CE2时,访问路径仍为主路径CE1-PE1-PE2-CE2,即流量(VPN报文)仍会沿CE1-PE1-PE2的路径转发到PE2,而在PE2上由于找不到出接口会将该VPN报文丢弃掉。
【发明内容】
本发明提供一种基于链路故障的切换方法及装置,以在MPLS VPN网络中,当链路发生故障时,对传输路径进行切换,防止流量的丢失。
为了达到上述目的,本发明提出了一种基于链路故障的切换方法,应用于MPLS网络中,所述MPLS网络包括源CE设备、源PE设备、目标CE设备、主用目标PE设备和至少一个备用目标PE设备,所述目标CE设备与所述主用目标PE设备之间的路径为主路径,所述主用目标PE设备经过所述备用目标PE设备到所述目标CE设备之间的路径为备路径;所述源PE设备用于接收来自所述源CE设备的数据报文,并将所述数据报文发送给所述主用目标PE设备,所述方法包括以下步骤:
所述主用目标PE设备判断所述主路径是否出现故障;
当所述主路径出现故障时,所述主用目标PE设备根据所述备用目标PE设备所对应的转发表项获取备路径;所述转发表项为所述主用目标PE设备预先根据所述备用目标PE设备发布地路由信息所生成的;
所述主用目标PE设备通过使用所述备路径将所述数据报文发送给所述备用目标PE设备;并由所述备用目标PE设备将所述数据报文发送给所述目标CE设备。
所述主用目标PE设备根据所述备用目标PE设备所对应的转发表项获取备路径具体包括:
所述主用目标PE设备获取自身存储的转发表项中最优的转发链路为所述备路径。
所述主用目标PE设备通过使用所述备路径将所述数据报文发送给所述备用目标PE设备具体包括:
所述主用目标PE设备根据所述备用目标PE设备所对应的转发表项将所述数据报文发送给所述备用目标PE设备。
所述主用目标PE设备根据所述备用目标PE设备所对应的转发表项将所述数据报文发送给所述备用目标PE设备具体包括:
所述主用目标PE设备剥离所述数据报文的公网标签和私网标签,并从所述转发表项中获取所述备用目标PE设备对应的公网标签和私网标签;
所述主用目标PE设备将所述备用目标PE设备对应的公网标签和私网标签添加到所述数据报文中,并通过使用所述备用目标PE设备对应的公网标签将所述数据报文发送给所述备用目标PE设备。
还包括:
所述主用目标PE设备根据所述备用目标PE设备发布的路由信息生成所述转发表项;具体为:
所述主用目标PE设备接收来自所述备用目标PE设备发布的路由信息;所述路由信息中携带所述备用目标PE设备对应的公网标签和私网标签;
所述主用目标PE设备根据所述路由信息生成并存储所述备用目标PE设备所对应的转发表项。
一种基于链路故障的切换装置,应用于MPLS网络中,所述MPLS网络包括源CE设备、源PE设备、目标CE设备、主用目标PE设备和至少一个备用目标PE设备,所述目标CE设备与所述主用目标PE设备之间的路径为主路径,所述主用目标PE设备经过所述备用目标PE设备到所述目标CE设备之间的路径为备路径;所述源PE设备用于接收来自所述源CE设备的数据报文,并将所述数据报文发送给所述主用目标PE设备,所述装置包括:
判断模块,用于判断所述主路径是否出现故障;
处理模块,用于根据所述备用目标PE设备发布的路由信息生成转发表项;
获取模块,与所述判断模块和处理模块连接,用于当所述判断模块的判断结果为所述主路径出现故障时,根据所述处理模块生成的备用目标PE设备所对应的转发表项获取备路径;
收发模块,与所述获取模块连接,用于通过使用所述获取模块获取的备路径将所述数据报文发送给所述备用目标PE设备;并由所述备用目标PE设备将所述数据报文发送给所述目标CE设备。
所述获取模块具体用于:获取自身存储的转发表项中最优的转发链路为所述备路径。
所述收发模块具体用于:根据所述备用目标PE设备所对应的转发表项将所述数据报文发送给所述备用目标PE设备。
所述收发模块还用于:剥离所述数据报文的公网标签和私网标签,从所述转发表项中获取所述备用目标PE设备对应的公网标签和私网标签;并将所述备用目标PE设备对应的公网标签和私网标签添加到所述数据报文中,通过使用所述备用目标PE设备对应的公网标签将所述数据报文发送给所述备用目标PE设备。
所述处理模块具体用于:接收来自所述备用目标PE设备发布的路由信息;所述路由信息中携带所述备用目标PE设备对应的公网标签和私网标签;并根据所述路由信息生成并存储所述备用目标PE设备所对应的转发表项。
与现有技术相比,本发明具有以下优点:当PE设备获知主路径出现故障时,通过将数据发送至备路径进行转发,从而实现了VPN FRR的快速切换,增强了MPLS网络中VPN FRR切换能力,保证了流量的不间断转发,不会造成数据的丢失,提高了MPLS网络的可靠性。
【附图说明】
图1为现有技术中的VPN报文转发过程的示意图;
图2为现有技术中的VPN业务快速切换的示意图;
图3为现有技术中的VPN FRR链路故障时的示意图;
图4为本发明提出的一种基于链路故障的切换方法流程图;
图5为本发明具体应用场景下提出的组网模式图;
图6为本发明应用场景下提出的一种基于链路故障的切换方法流程图;
图7为本发明具体应用场景下提出的另一种组网模式图;
图8为本发明提出的一种基于链路故障的切换装置结构图。
【具体实施方式】
基于现有技术中的VPN FRR技术只支持节点故障,而不支持链路故障的情况,本发明提出了一种基于链路故障的切换方法,可以在链路发生故障时将数据快速的切换到另一条路径。本发明的基本思想是当PE设备判断出主路径出现故障时,将需要在主路径上进行转发的数据流量通过备路径进行转发,实现了VPN FRR的快速切换,增强了MPLS网络中VPN FRR切换能力,保证了流量的不间断转发,不会造成数据的丢失,提高了MPLS网络的可靠性。
如图4所示,本发明提出的一种基于链路故障的切换方法,应用于MPLS网络中,所述MPLS网络包括源CE设备、源PE设备、目标CE设备、主用目标PE设备和至少一个备用目标PE设备,所述目标CE设备与所述主用目标PE设备之间的路径为主路径,所述主用目标PE设备经过所述备用目标PE设备到所述目标CE设备之间的路径为备路径;所述源PE设备用于接收来自所述源CE设备的数据报文,并将所述数据报文发送给所述主用目标PE设备,所述方法包括以下步骤:
步骤401,所述主用目标PE设备判断所述主路径是否出现故障。
步骤402,当所述主路径出现故障时,所述主用目标PE设备根据所述备用目标PE设备所对应的转发表项获取备路径;其中,所述转发表项为所述主用目标PE设备预先根据所述备用目标PE设备发布的路由信息所生成的。
步骤403,所述主用目标PE设备通过使用所述备路径将所述数据报文发送给所述备用目标PE设备。
步骤404,所述备用目标PE设备将所述数据报文发送给所述目标CE设备。
以下结合一种具体的应用场景,对本发明下提出的基于链路故障的切换方法进行详细说明,如图5所示的组网模式图,CE1为源节点,用于发送VPN报文,CE2为目的节点,用于接收来自CE1的VPN报文。当然,在实际应用中,CE1也可以为目的节点、CE2为源节点,本发明中不再赘述这种情况。该CE1与PE1连接,该CE2与PE2和PE3分别连接,本发明中,以CE2与PE2之间的路径为主路径,该CE2与PE3之间的路径为备路径为例进行说明,需要说明的是,该主路径和备路径的确定过程本发明中不再详加描述。
具体的,本发明所提出的基于链路故障的切换方法是针对主路径出现故障时的切换过程,即本发明是针对CE2和PE2之间的主链路发生故障为例的,在本发明中,该PE2将检测自身与CE2之间的主路径是否出现故障,当没有出现故障时,该PE2将接收到的VPN报文通过该主路径发送给CE2(该过程本发明中不再赘述),当PE2检测到自身与CE2之间的主路径出现故障时,将通过使用本发明提供的方法进行处理。此外,该PE2可以根据预设的周期检测自身与CE2之间的主路径是否出现故障,该预设周期为根据实际需要任意选择的。进一步的,该PE2检测自身与CE2之间的主路径是否出现故障的方式包括但不限于:通过BFD(Bidirectional Forwarding Detection,双向转发检测)技术或类似技术来检测PE2与CE2之间的主路径是否出现故障;本发明中不再赘述。
如图6所示,当检测到PE2与CE2之间的主路径出现故障时,上述的基于链路故障的切换方法包括以下步骤:
步骤601,当CE1需要向CE2发送VPN报文时,该CE1将该VPN报文发送给PE1,其中,该VPN报文中携带了CE2的地址信息(即目的地址)。
步骤602,PE1根据该VPN报文中的目的地址查找VPN实例表项,并根据VPN实例表项中该目的地址所对应的记录将该VPN报文转发出去。其中,在转发该VPN报文时,需要在该VPN报文中同时打上内层标签和外层标签。该内层标签用于将该VPN报文发送给CE2,而该外层标签用于将该VPN报文发送给PE2。该过程为现有的实施方式,本发明中不再赘述。
步骤603,PE2接收来自PE1的VPN报文,其中,在MPLS网络中,来自PE1的VPN报文将会经过多个P设备转发至该PE2,各个P设备均是通过对应的外层标签将该VPN报文转发给下游设备,并最终转发给PE2的,本发明中为了方便描述,以PE1将该VPN报文直接发送给该PE2为例进行说明。
具体的,在接收到该VPN报文时,该PE2也需要根据该VPN报文中的目的地址查找VPN实例表项,并根据VPN实例表项中该目的地址所对应的记录将该VPN报文转发出去。继续以图5为例进行说明,在该PE2中存储的VPN实例表项如表1所示,其中,该VPN实例表项为VPN1(为了方便描述,后续都采用VPN实例VPN1来描述本发明中的过程),当然,根据实际的需要,还可以对表1中的内容进行修改和补充,本发明中不再赘述。
表1
CE1、CE2所属的VPN实例 VPN1 VPN1的路由标识 100∶1 CE1发布的私网路由 192.168.1.0/24 CE2发布的私网路由 192.168.2.0/24 PE2为私网路由192.168.2.0/24发布的标签 4096 PE2发布给PE1的公网标签 1024
可见,通过该CE2的地址信息(VPN报文中的目的地址)查找到对应的VPN实例表项如表1所示;在PE1中添加的外层标签为PE2发布给PE1的公网标签1024;通过使用该1024,该PE1可以将VPN报文发送至PE2,在接收到该VPN报文时,该PE1可以剥离该PE2发布给PE1的公网标签1024和私网标签4096,根据私网标签4096可以知道需要查VPN实例VPN1的路由表,再根据私网路由192.168.2.0/24的路由查找结果将该VPN报文发送给CE2,而本发明中,该CE2与PE2之间的链路出现了故障,即PE2无法将该VPN报文发送给CE2,本发明中将继续执行步骤604。
步骤604,PE2获取最优的备路径,并通过使用该最优的备路径将该VPN报文发送到对应的PE上。本发明中,PE2会判断自身与CE2之间的主路径是否出现故障,当没有出现故障时,将会通过该主路径将该VPN报文直接发送给CE2;但是本发明中,是以主路径出现故障为例进行说明的,即该PE2不能使用该主路径将该VPN报文直接发送给CE2。
具体的,在图5所示的组网中,由于备路径只有链路PE2至PE3,即该最优的备路径为链路PE2至PE3,该PE2将通过使用该链路PE2至PE3将该VPN报文发送到对应的PE3上。为了更加清楚的说明本步骤,以图7所示的组网为例继续说明,图7中,PE2与CE2之间的备路径包括PE2至PE3,和PE2至PE4,在实际的应用中,当该PE2至PE3之间的设备少于PE2至PE4之间的设备时,可以选择PE2至PE3的备路径为最优的备路径,选择PE2至PE4的备路径为次优的备路径;而当PE2至PE3之间的设备多于PE2至PE4之间的设备时,可以选择PE2至PE4的备路径为最优的备路径,选择PE2至PE3的备路径为次优的备路径。当然,本步骤中,该PE2也可以根据实际的需要任意获取备路径,在此不再赘述。本发明中以该最优的备路径为PE2至PE3为例进行说明。
进一步的,该PE2通过使用该最优的备路径将该VPN报文发送到对应的PE上具体为:PE2根据预先存储的PE3所对应的转发表项(如表2所示)将该VPN报文发送给该PE3。
需要说明的是,以图5为例,在初始配置的过程中,CE2会向PE2发布私网路由信息192.168.2.0/24,PE2则在VPN实例1的私有路由表中建立一条至192.168.2.0/24的本地路由,该路由对于PE2来说就是主路径路由,如表1所示的内容,在此不再赘述。
同样的,CE2也会向PE3发布私网路由192.168.2.0/24,PE3在VPN实例VPN1的私有路由表中建立一条至192.168.2.0/24的本地路由,该过程不再赘述。之后,该PE3会通过IBGP(内部BGP协议)向PE2发布该私网路由信息。具体的,发布该私网路由信息的过程具体为:PE3选择一个私网标签(例如,5000),并形成从标签5000至VPN实例VPN1的标签映射。而PE3向PE2发布的私网路由信息实际上是由地址(192.168.2.0/24,即CE2发布的私网路由)、标签(5000)所组成的地址。
PE2在接收到来自PE3所发布的路由(该路由中携带了上述的私网路由信息)后,判断出该路由中携带的BGP扩展团体属性和自身VPN实例VPN1的VPN Target属性匹配,则在VPN实例VPN1中建立到192.168.2.0/24的路由,并标识为备用路由(此前直接从CE2学到的路由是主用路由);而这条备用路由的前缀为192.168.2.0/24,并且与标签5000,以及PE3和PE2之间建立的LSP隧道关联;最后在PE2上生成的主用转发表项和备用转发表项如表2所示:
表2
路由前缀 192.168.2.0/24 主路径 PE2->CE2 主路径私网标签 无 主路径LSP隧道标签 无 备路径 PE2->PE3 备路径私网标签(即内层标签) 5000 备路径LSP隧道标签(即外层标签) 2000
可见,通过使用该备路径LSP隧道标签2000,该PE2可以将该VPN报文发送给PE3,而该PE3也可以使用该备路径私网标5000将该VPN报文发送给CE2。
具体的,本发明中,当PE2需要将该VPN报文发送给PE3时,该PE2将剥离接收到的VPN报文的内层标签(PE2为私网路由192.168.2.0/24发布的标签4096)然后再查VPN路由表,获得PE3分配的备路径私网标签5000和PE3分配的备路径LSP隧道标签2000,PE2为该VPN报文封装该备路径私网标签和备路径LSP隧道标签,然后通过使用该备路径LSP隧道标签可以将该VPN报文发送给PE3。
步骤605,PE3将该VPN报文发送给CE2。同样的,在初始配置的过程中,CE2将向PE3发布路由信息,该PE3将该CE2的路由信息存储到自身的转发表项中,本步骤中,该PE3可以根据该转发表项将该VPN报文发送给CE2,本发明中不再详加赘述。
其中,本发明中步骤可以根据实际的需要进行调整。
本发明提出的一种基于链路故障的切换装置,应用于MPLS网络中,所述MPLS网络包括源CE设备、源PE设备、目标CE设备、主用目标PE设备和至少一个备用目标PE设备,所述目标CE设备与所述主用目标PE设备之间的路径为主路径,所述主用目标PE设备经过所述备用目标PE设备到所述目标CE设备之间的路径为备路径;所述源PE设备用于接收来自所述源CE设备的数据报文,并将所述数据报文发送给所述主用目标PE设备,如图8所示,所述装置包括:
判断模块81,用于判断所述主路径是否出现故障。其中,该判断所述主路径是否出现故障的方式包括但不限于:通过BFD技术或类似技术来检测主路径是否出现故障,在此不再赘述。
处理模块82,用于根据所述备用目标PE设备发布的路由信息生成转发表项。其中,所述处理模块82具体用于:接收来自所述备用目标PE设备发布的路由信息;所述路由信息中携带所述备用目标PE设备对应的公网标签和私网标签;并根据所述路由信息生成并存储所述备用目标PE设备所对应的转发表项。
获取模块83,与所述判断模块81和处理模块82连接,用于当所述判断模块81的判断结果为所述主路径出现故障时,根据所述处理模块82生成的备用目标PE设备所对应的转发表项获取备路径;其中,所述获取模块82具体用于获取自身存储的转发表项中最优的转发链路为所述备路径。
具体的,以图7所示的组网为例继续说明,图7中,PE2与CE2之间的备路径包括PE2至PE3,和PE2至PE4,在实际的应用中,当该PE2至PE3之间的设备少于PE2至PE4之间的设备时,可以选择PE2至PE3的备路径为最优的备路径,选择PE2至PE4的备路径为次优的备路径;而当PE2至PE3之间的设备多于PE2至PE4之间的设备时,可以选择PE2至PE4的备路径为最优的备路径,选择PE2至PE3的备路径为次优的备路径。当然,本步骤中,该PE2也可以根据实际的需要任意获取备路径,在此不再赘述。本发明中以该最优的备路径为PE2至PE3为例进行说明。
收发模块84,与所述获取模块83连接,用于通过使用所述获取模块83获取的备路径将所述数据报文发送给所述备用目标PE设备;并由所述备用目标PE设备将所述数据报文发送给所述目标CE设备。其中,所述收发模块84具体用于根据所述备用目标PE设备所对应的转发表项将所述数据报文发送给所述备用目标PE设备。
进一步的,所述收发模块84还用于剥离所述数据报文的公网标签和私网标签,从所述转发表项中获取所述备用目标PE设备对应的公网标签和私网标签;并将所述备用目标PE设备对应的公网标签和私网标签添加到所述数据报文中,通过使用所述备用目标PE设备对应的公网标签将所述数据报文发送给所述备用目标PE设备。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。