首页> 中国专利> 虚拟专用网络故障处理方法及网络提供商边界路由设备

虚拟专用网络故障处理方法及网络提供商边界路由设备

摘要

本发明实施例提供了一种虚拟专用网络VPN故障处理方法及一种网络提供商边界路由设备PE,PE检测自身的远端VPN路由数是否满足预先设定的要求,在所述PE的远端VPN路由数不满足预先设定的要求时,所述PE利用故障处理信息进行故障处理,直到所述PE的远端VPN路由数满足预先设定的要求后利用故障处理信息进行故障消除通报。应用本发明实施例的方案,通过将PE的远端VPN路由数与故障处理信息相关联,只有在PE的远端VPN路由数满足预先设定的要求的情况下,才允许归属于所述PE的CE向所述PE转发流量,能够解决由于CE在PE没有远端VPN路由的情况下向所述PE转发流量造成的业务中断问题。

著录项

  • 公开/公告号CN101170450A

    专利类型发明专利

  • 公开/公告日2008-04-30

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN200710188274.8

  • 发明设计人 李鉴;姜玉萍;

    申请日2007-11-30

  • 分类号H04L12/24;H04L12/26;

  • 代理机构北京德琦知识产权代理有限公司;

  • 代理人王琦

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-12-17 20:06:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-11-23

    未缴年费专利权终止 IPC(主分类):H04L12/24 授权公告日:20100707 终止日期:20171130 申请日:20071130

    专利权的终止

  • 2010-07-07

    授权

    授权

  • 2008-06-25

    实质审查的生效

    实质审查的生效

  • 2008-04-30

    公开

    公开

说明书

技术领域

本发明涉及虚拟专用网络(VPN,Virtual Private Network),特别涉及VPN故障处理方法及网络提供商边界路由设备(PE,Provider Edge Router)。

背景技术

VPN是依靠Internet服务提供商(ISP,Internet Service Provider)和网络服务提供商(NSP,Network Service Provider)在公共网络中建立专用数据通信网络的技术。

在VPN中,公网中的PE和私网中的客户边界路由设备(CE,Client EdgeRouter)建立连接,同属于一个私网的CE可以通过公网进行通信,实现在公共网络中建立专用数据通信网络的技术。

图1为一种VPN业务部署实施的示意图。

如图1所示:CE1和CE2同属一个VPN,那么CE1与CE2可以通过公网AS100进行通信。CE2双归属两个本地PE,即图中的PE2、PE3。在公网AS100内,远端PE1和本地PE2、PE3分别建立内部边界网关协议(IBGP,Interior Border Gateway Protocol)邻居关系,PE2和PE3可以同时接收到远端PE1发布的远端VPN路由,分别为图中的路由1和路由2。这里PE2的远端VPN路由是指PE1发布给PE2的VPN路由,即VPN路由1。P1、P2分别和PE1、PE2、PE3建立内部网关协议(IGP,Interior Gateway Protocol)邻居关系。本地PE2、PE3与CE2设备之间采用双向转发检测(BFD,Bidirectional Forwarding Detection)进行链路和节点故障的实时检测,也就是故障处理信息为BFD;同时,CE2将PE2、PE3做缺省网关,分别经VPN路由1、VPN路由2转发流量至远端PE1,再通过PE1-CE1 IP路由到达远端CE1设备,实现流量负载分担。

在网络高速发展的今天,三网合一的需求日益迫切,运营商对网络故障时的业务收敛速度非常重视。特别是在VPN自治系统内部的故障问题受到了运营商的极大重视。

通常情况下,VPN故障处理方法为:PE在出现故障时,利用故障处理信息进行故障出现通报,使归属于所述PE的CE选择其它可以利用的路由转发流量;所述PE在进行故障出现通报后会自动重启,进行故障消除通报,使归属于所述PE的CE重新将流量回切到所述PE。这里所述PE故障可以为硬件或软件问题造成的PE设备无法正常通信。所述PE故障后重启是指,由于PE采用主备两块主控板,在正常情况下主用主控板工作,在PE出现故障时,即主用主控板无法正常工作时,会自动切换至备用主控板进行工作,完成PE的重启。所述故障处理信息可以为BFD,也可以为路由协议,如开放式最短路径优先(OSPF,Open Shortest Path First)、中间系统到中间系统(ISIS,Intermediate System to Intermediate System)或边界网关协议(BGP,Border Gateway Protocol)等。

如果故障处理信息为BFD,则所述故障出现通报的方法包括:双向转发检测会话(BFD session)自动为未建立(Down)状态。那么CE通过BFD就可以快速检测到所述PE的BFD session Down,即CE在一定时间内没有接收到来自PE的BFD控制报文则判定BFD session Down,进而选择其它可以利用的路由转发流量。所述故障消除通报的方法包括:触发BFD session的建立,即触发PE与CE互发BFD控制报文,一旦BFD session建立,也就是PE和CE之间的BFD收敛,CE就会将流量回切到所述PE。BFD有四种状态:初始(Init)状态、建立(Up)状态、未建立(Down)状态以及管理未建立(Admindown)状态,其中,Admindown状态为人为置Down。

类似的,如果故障处理信息为路由协议,那么PE出现故障时,CE会通过OSPF、ISIS或BGP等路由协议的Hello机制快速检测到PE故障,选择其它可以利用的路由转发流量。PE重启后,PE和CE之间的路由协议一旦收敛,PE就会向CE发布一条缺省路由,CE收到缺省路由后,将流量回切到所述PE。

下面,以图1中VPN业务部署实施为例,在采用BFD作为故障处理信息的情况下,对VPN故障处理方法进行说明。

在PE2出现故障的情况下,由于PE2自身的故障会导致PE2的所有链路都中断,即PE2-P1、PE2-P2、PE2-PE3和PE2-PE4。图2为现有技术中VPN故障处理方法的流程图。如图2所示:

步骤201:PE2的BFD session自动为Down,即PE2进行故障出现通报。

本步骤中,在BFD session Down之后,会使得CE2通过BFD检测到PE2的BFD session为Down,进而选择其它可以利用的路由转发流量。这里,CE2可以将全部流量切换至PE3。即流量全部从CE2经CE2-PE3 IP路由至PE3、PE3经VPN路由2至远端PE1、PE1经PE1-CE1 IP路由到达远端CE1设备。

步骤202:PE2开始自动重启。

步骤203:PE2在重启开始后,触发BFD session的建立,也就是进行故障消除通报。

步骤204:BFD session建立后,也就是PE2和CE2之间的BFD收敛,PE2向CE2发送BFD session Up消息。

这样,CE2收到来自PE2的BFD session Up的消息后,就会将流量回切到PE2。

在PE2设备重启过程中,其控制平面的所有协议需要全部重启,而CE2-PE2上的BFD要比公网AS100内的LDP、BGP等协议收敛快得多。因此,一旦CE2-PE2上的BFD session重建并Up后,CE2就会将部分流量回切到PE2上,恢复流量负载分担。但是,此时PE2在公网AS100还未完成所有协议的收敛,也就是说,PE2没有远端VPN路由,必然找不到可以转发流量的路径,因而导致业务中断。

为此,可以在PE2重启过程中,静态配置一个定时器,用于等待PE2在公网AS100内的协议收敛完成后,再触发BFD session的重建。也就是在步骤203中,PE2先通过定时器进行计时等待,在计时等待结束后,再进行故障消除通报。

虽然通过静态定时器的设置,可以从一定程度上缓解PE重启过程中的业务中断问题。但是,由于无法准确设定公网内控制平面的收敛时间,导致定时器的时长设置很难定位。故此,这种方法不能从根本上解决PE重启过程中由于所述CE在PE没有远端VPN路由的情况下向所述PE转发流量造成的业务中断问题。

另外,如果在图1提供的VPN架构中,PE2所有上行链路发生故障,即,PE2-P1、PE2-P2和PE2-PE3链路全部故障。在这种情况下,本地CE2设备通过BFD根本无法检测到PE2所有上行链路的故障,因此,仍然将部分流量下发到PE2、PE3,做流量的负载负担;而PE2所有上行链路失效,也就是PE2没有到达PE1的远端VPN路由,必然找不到可以转发流量的路径,因而导致部分造成业务中断。目前还无法解决这种问题,急需相应的解决方案。

由此可见,目前急需一种方法能够解决由于CE在CE在PE没有远端VPN路由的情况下向所述PE转发流量的情况下向所述PE转发流量造成的业务中断问题。

发明内容

本发明实施例提供一种VPN故障处理方法,能够解决由于CE在PE没有远端VPN路由的情况下向所述PE转发流量造成的业务中断问题。

本发明实施例还提供了一种PE,能够解决由于CE在PE没有远端VPN路由的情况下向所述PE转发流量造成的业务中断问题。

以下为本发明实施例提供的技术方案:

一种虚拟专用网络VPN故障处理方法,该方法包括:

网络提供商边界路由设备PE检测自身的远端VPN路由数是否满足预先设定的要求,在所述PE的远端VPN路由数不满足预先设定的要求时,所述PE利用故障处理信息进行故障处理,直到所述PE的远端VPN路由数满足预先设定的要求后利用故障处理信息进行故障消除通报。

一种网络提供商边界路由设备PE,该设备包括:路由检测模块和故障处理模块;

所述路由检测模块用于检测所述PE自身的远端VPN路由数是否满足预先设定的要求,在所述远端VPN路由数不满足预先设定的要求的情况下,通过向所述故障处理模块发送要求故障处理信息来控制所述故障处理模块利用故障处理信息进行故障处理,直到所述PE的远端VPN路由数满足预先设定的要求后,通过向所述故障处理模块发送故障消除信息控制所述故障处理模块利用故障处理信息进行故障消除通报。

从上述技术方案中可以看出:

本发明提供的VPN故障处理方法及PE,将PE的远端VPN路由数与故障处理信息相关联,能够解决由于CE在PE没有远端VPN路由的情况下向所述PE转发流量造成的业务中断问题。

附图说明

图1为现有技术中一种VPN业务部署实施的示意图;

图2为现有技术中VPN故障处理方法的流程图;

图3为本发明实施例一提供的VPN故障处理方法的流程图;

图4为本发明实施例二提供的VPN故障处理方法的流程图;

图5为本发明实施例三提供的VPN故障处理方法的流程图;

图6为本发明实施例四采用的一种VPN业务部署实施;

图7为本发明实施例四提供的VPN故障处理方法的流程图;

图8为本发明实施例五提供的VPN故障处理方法的流程图;

图9为本发明实施例六提供的PE的结构示意图;

图10为本发明实施例七提供的PE的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。

本发明的实施例提供了一种VPN故障处理方法,PE检测自身的远端VPN路由数,在所述PE的远端VPN路由数不满足预先设定的要求时,所述PE利用故障处理信息进行故障处理,直到所述PE的远端VPN路由数满足预先设定的要求后进行故障消除通报。

实施例一:

在本实施例中,假设由于VPN故障导致PE的远端VPN路由数不满足预先设定的要求。例如,PE的上行链路全部发生故障导致CE在PE没有远端VPN路由的情况下向所述PE转发流量,或者PE重启的过程中,PE在公网内的协议没有收敛导致CE在PE没有远端VPN路由的情况下向所述PE转发流量。

图3为本发明实施例一提供的VPN故障处理方法的流程图。如图3所示,本实施例提供的VPN故障处理方法可以包括以下步骤:

步骤301:PE检测自身的远端VPN路由数是否满足预先设定的要求,如果所述远端VPN路由数满足预先设定的要求,则执行步骤302,否则执行步骤303。

这里所述PE检测自身的远端VPN路由数是否满足预先设定的要求的方法可以包括:

预先设置一个远端VPN路由数的阈值;

如果PE的远端VPN路由数低于所述阈值,则判定所述PE的远端VPN路由数不满足预先设定的要求;

如果PE的远端VPN路由数高于所述阈值,则判定所述PE的远端VPN路由数满足预先设定的要求。

较佳地,还可以在PE的远端VPN路由数高于预先设定的阈值时,通过定时器进行计时,直到达到预先设定的时间,计时结束,再执行步骤302。这使得对远端VPN路由数的要求可以根据不同需要随意设定,提高了应用的灵活性及PE进行故障处理的性能。

步骤302:PE利用故障处理信息进行故障消除通报。所述故障处理信息可以为BFD,也可以为缺省路由。

步骤303:PE利用故障处理信息进行故障处理,返回步骤301。

这里所述利用故障处理信息进行故障处理的方法可以包括:判断所述PE与所述CE之间是否存在故障处理信息会话,如果存在,则利用故障处理信息进行故障出现通报,否则,利用故障处理信息进行等待恢复处理。

这里所述PE可以周期性检测自身的远端VPN路由数。

由此可见,本发明实施例一提供的方法将PE的远端VPN路由数与故障处理信息相关联,用远端VPN路由数控制故障处理信息进行故障处理或故障消除通报,只有在PE的远端VPN路由数满足预先设定的要求的情况下,才允许归属于所述PE的CE向所述PE转发流量,能够解决现有技术中由于CE在PE没有远端VPN路由的情况下向所述PE转发流量造成的业务中断问题。

下面,分别就故障处理信息为BFD和缺省路由这两种情况下,对本发明实施例提供的VPN故障处理方法进行详细说明。

本发明实施例提供的VPN故障处理方法中,在故障处理信息为BFD的情况下,所述故障处理信息会话为BFD session;PE采用将BFD session置为Admindown的方式进行故障出现通报;或采用抑制BFD session建立的方式进行等待恢复处理,采用触发BFD session建立的方式进行故障消除通报。

下面采用图1的VPN业务部署实施,在PE发生故障,故障处理信息为BFD的情况下,对本发明实施例提供的VPN故障处理方法作进一步详细说明。

实施例二:

在PE2出现故障的情况下,图4为本发明实施例二提供的VPN故障处理方法的流程图。预先设定检测远端VPN路由数的阈值为0。如图4所示,本实施例提供的VPN故障处理方法可以包括以下步骤:

步骤401:PE2出现故障时,PE2的BFD session会自动为Down。

本步骤中,在BFD session Down之后,会使得CE2通过BFD检测到PE2的BFD session为Down,进而选择其它可以利用的路由转发流量。这里,CE2可以将全部流量切换至PE3。即流量全部从CE2经CE2-PE3 IP路由至PE3、PE3经VPN路由2至远端PE1、PE1经PE1-CE1IP路由到达远端CE1设备。

步骤402:PE2开始自动重启。

步骤403:PE2检测自身远端VPN路由数,如果所述远端VPN路由数满足预先设定的要求,则执行步骤407,否则执行步骤404。

这里,检测远端VPN路由数是否满足预先设定要求的方法包括:如果PE2的远端VPN路由数大于0,则判定PE2的远端VPN路由数满足预先设定的要求,否则,判定PE2的远端VPN路由数不满足预先设定的要求。如果此时PE2在公网AS100内的协议未完成收敛,则PE2接收不到远端路由,那么PE2的远端VPN路由数就为0,检测结果为:远端VPN路由数不满足预先设定的要求。如果此时PE2在公网AS100内的协议已经完成收敛,那么PE2的远端VPN路由数就不为0,检测结果为:PE2的远端VPN路由数满足预先设定的要求。

步骤404:PE2判断PE2与CE2之间是否存在BFD session,如果是,则执行步骤406,否则执行步骤405。

在本实施例中,由于此时PE2重启,BFD session还没有建立,所以判断结果为PE2和CE2之间不存在BFD session。

步骤405:PE2进行等待恢复处理,即抑制BFD session的建立,返回步骤403。

所述抑制BFD session建立的方法有很多种,例如:PE2可以通过不向CE2发送BFD session Up消息来抑制BFD session的建立;也可以通过不接收来自CE2的控制消息来抑制BFD session的建立等,这里不再赘述。只要BFD session不建立,CE2就不会向PE2转发流量。

步骤406:将BFD session置为Admindown,返回步骤403。

本步骤中,CE2会通过BFD检测到PE2的BFD session为Down,进而选择其它可以利用的路由转发流量。这里,CE2可以将全部流量切换至PE3。即流量全部从CE2经CE2-PE3 IP路由至PE3、PE3经VPN路由2至远端PE1、PE1经PE1-CE1IP路由到达远端CE1设备。

步骤407:PE2进行故障消除通报,即触发PE2与CE2之间BFD session的建立。

步骤408:BFD session建立,也就是PE2和CE2之间的BFD收敛,PE2向CE2发送BFD session Up消息。

这会使得CE2收到来自PE2的BFD session Up的消息后,将流量回切到PE2。

步骤403~步骤407中,PE2在重启开始后,如果没有接收到PE1发布的远端VPN路由,就会抑制BFD session的建立,直到判断远端VPN路由数不为0之后,再触发BFD session的建立。这就有效解决了由于PE2和CE2之间的BFD session已经建立,而PE2没有远端VPN路由所导致的业务中断的问题。

下面采用图1的VPN业务部署实施,在PE的所有上行链路发生故障,即PE2-P1、PE2-P2和PE2-PE3链路全部故障,故障处理信息为BFD的情况下,对本发明提供的VPN故障处理方法作进一步详细说明。

实施例三:

在本实施例中,假设PE2的上行链路全部发生故障,即PE2-P1、PE2-P2和PE2-PE3链路全部故障,而PE2没有发生故障。

图5为本发明实施例三提供的VPN故障处理方法的流程图。预先设定检测远端VPN路由数的阈值为0。如图5所示,本实施例提供的VPN故障处理方法可以包括以下步骤:

步骤501:PE2检测自身远端VPN路由数,如果所述远端VPN路由数满足预先设定的要求,则执行步骤505,否则执行步骤502。如果此时PE2的上行链路全部失效,则PE2接收不到远端路由,那么PE2的远端VPN路由数就为0,检测结果为:远端VPN路由数不满足预先设定的要求。如果此时PE2的上行链路已经部分或全部收敛,那么PE2的路由数就不为0,检测结果为:PE2的远端VPN路由数满足要求。

步骤502:PE2判断PE2与CE2之间是否存在BFD session,如果是,则执行步骤503,否则执行步骤504。

在本实施例中,PE2正常工作,PE2和CE2之间的BFD session已经建立,判断结果为PE2和CE2之间存在BFD session。如果此时PE2故障重启,PE2和CE2之间的BFD session还没有建立,则判断结果为PE2和CE2之间不存在BFD session,如实施例二中的情况。

步骤503:PE2进行故障出现通报。具体方法为:将BFD session置为Admindown,返回步骤501。

这会使得CE2通过BFD检测到PE2的BFD session为Down,进而选择其它可以利用的路由转发流量。这里,CE2可以将全部流量切换至PE3。即流量全部从CE2经CE2-PE3 IP路由至PE3、PE3经VPN路由2至远端PE1、PE1经PE1-CE1IP路由到达远端CE1设备。

步骤504:PE2进行等待恢复处理,即抑制BFD session的建立,返回步骤501。

步骤505:PE2进行故障消除通报,即触发PE2与CE2之间BFD session的建立。

步骤506:BFD session建立,也就是PE2和CE2之间的BFD收敛,PE2向CE2发送BFD session Up消息。

这会使得CE2收到来自PE2的BFD session Up的消息后,将流量回切到PE2。

步骤501~步骤505中,PE2在所有上行链路出现故障时,采用将BFDsession置为Admindown的方式进行故障出现通报,使得CE2可以通过BFD检测到PE2上行链路故障,进而选择其它可以利用的路由转发流量。这就解决了现有技术中,由于CE2无法通过BFD检测PE2有无远端VPN路由,而在PE2没有远端VPN路由的情况下仍然向PE2转发流量所导致的业务中断问题。

实施例二和实施例三采用图1的VPN业务部署实施,在故障处理信息为BFD的情况下,对本发明实施例提供的VPN故障处理方法进行了详细的说明。

相应的,本发明实施例提供的VPN故障处理方法中,在故障处理信息为缺省路由的情况下,所述故障处理信息会话为缺省路由的发布;PE采用抑制向归属于所述PE的CE发布缺省路由,并向所述CE发送撤销缺省路由消息的方式进行故障出现通报;采用抑制向所述CE发布缺省路由的方式进行等待恢复处理;采用向所述CE发布缺省路由的方式进行故障消除通报。

下面采用图6的VPN业务部署实施,在故障处理信息为缺省路由的情况下,对本发明提供的VPN故障处理方法作进一步详细说明。

图6为一种VPN业务部署实施的示意图。如图6所示,与图1类似:

CE1和CE2同属一个VPN,CE2双归属两个本地PE,即图中的PE2、PE3。在公网AS100内,远端PE1和本地PE2、PE3分别建立IBGP邻居关系,PE2和PE3可以同时接收到远端PE1发布的远端VPN路由,分别为图中的VPN路由1和VPN路由2。这里PE2的远端VPN路由是指PE1发布给PE2的VPN路由。P1、P2分别和PE1、PE2、PE3建立IGP邻居关系。本地PE2、PE3与CE2设备之间采用OSPF/ISIS或BGP等路由协议进行链路和节点故障的实时检测;同时,PE2发布一条缺省路由给CE2,CE2优选这条缺省路由转发流量,即:流量从CE2经缺省路由至PE2、PE2经PE2->P1->PE1 VPN路由1至远端PE1、PE1再经PE1->CE1 IP路由到达CE1;或者,CE2将PE2发布的缺省路由、和PE3发布的IP路由做流量负载分担,即将流量一分为二:一部分从CE2经缺省路由至PE2、PE2经PE2->P1->PE1VPN路由1至远端PE1、PE1再经PE1->CE1IP路由到达CE1;同时,另一部分从CE2经CE2->PE3 IP路由至PE3、PE3经PE3->P2->PE1VPN路由2至远端PE1、PE1再经PE1->CE1IP路由到达CE1。

首先采用图6的VPN业务部署实施,在故障处理信息为缺省路由的情况下,对PE故障时本发明实施例提供的VPN故障处理方法作进一步详细说明。

实施例四:

在PE2发生故障的情况下,图7为本发明实施例四提供的VPN故障处理方法的流程图。预先设定检测远端VPN路由数的阈值为0。如图7所示,本实施例提供的VPN故障处理方法可以包括以下步骤:

步骤701:PE2自动停止发送消息,进行故障出现通报。

本步骤中,CE2会通过OSPF/ISIS或BGP等路由协议可以检测到PE2故障,进而选择其它可以利用的路由转发流量。这里,CE2可以将全部流量切换至PE3。即流量全部从CE2经CE2-PE3 IP路由至PE3、PE3经VPN路由2至远端PE1、PE1经PE1-CE1IP路由到达远端CE1设备。

步骤702:PE2由于故障会开始自动重启。

步骤703:PE2检测自身的远端VPN路由数,即PE1发布的远端VPN路由数,如果所述远端VPN路由数满足预先设定的要求,则执行步骤707,否则执行步骤704。

如果此时PE2在公网AS100内的协议未完成收敛,则PE2接收不到远端路由,那么PE2的远端VPN路由数就为0,检测结果为:远端VPN路由数不满足预先设定的要求。如果此时PE2在公网AS100内的协议已经完成收敛,那么PE2的路由数就不为0,检测结果为:PE2的远端VPN路由数满足要求。

步骤704:PE2判断PE2与CE2之间是否存在缺省路由的发布,如果是,则执行步骤706,否则执行步骤705。

在本实施例中,由于PE2重启,所以还没有开始发布缺省路由,判断结果为PE2和CE2之间不存在缺省路由的发布。

步骤705:PE2进行等待恢复处理,即抑制PE2向CE2发布缺省路由,返回步骤703。

本步骤中,CE2如果接收不到来自PE2的缺省路由,就不会向PE2转发流量。

步骤706:PE2停止向CE2发布缺省路由,同时向CE2发送缺省路由撤销消息,返回步骤703。

本步骤中,CE2接收到来自PE2的缺省路由撤销消息后,会选择其它可以利用的路由转发流量。这里,CE2可以将全部流量切换至PE3。即流量全部从CE2经CE2-PE3 IP路由至PE3、PE3经VPN路由2至远端PE1、PE1经PE1-CE1IP路由到达远端CE1设备。

步骤707:PE2进行故障消除通报,向CE2发布缺省路由。

这会使得CE2收到来自PE2的缺省路由后,将流量回切到PE2。CE2将流量回切到PE2的方法可以为:通过缺省路由将全部流量回切到PE2,PE2再通过远端VPN路由转发流量;或者,通过缺省路由将部分流量回切至PE2,和PE3发布的IP路由一起,恢复流量的负载分担。至于是全部回切还是负载分担,可以依据不同的应用需要来选择。

步骤703~步骤707中,PE2在重启开始后,PE2不会在PE2与CE2之间的路有协议收敛后马上向CE2发布缺省路由,而是抑制向CE2发布缺省路由,直到判断远端VPN路由数不为0之后,再向CE2发布缺省路由。这有效解决了由于向CE2发布了缺省路由,而PE2没有远端VPN路由,导致CE2向PE2转发流量进而造成业务中断的问题。

下面采用图6的VPN业务部署实施,在PE的所有上行链路发生故障,即PE2-P1、PE2-P2和PE2-PE3链路全部故障,故障处理信息为路由协议的情况下,对本发明提供的VPN故障处理方法作进一步详细说明。

实施例五:

PE2的上行链路全部发生故障,即PE2-P1、PE2-P2和PE2-PE3链路全部故障。

图8为本发明实施例五提供的VPN故障处理方法的流程图。预先设定检测远端VPN路由数的阈值为0。如图8所示,本实施例提供的VPN故障处理方法可以包括以下步骤:

步骤801:PE2检测自身远端VPN路由数,如果所述远端VPN路由数满足预先设定的要求,则执行步骤805,否则执行步骤802。如果此时PE2的上行链路全部失效,则PE2接收不到远端路由,那么PE2的远端VPN路由数就为0,检测结果为:远端VPN路由数不满足预先设定的要求。如果此时PE2的上行链路已经部分或全部收敛,那么PE2的路由数就不为0,检测结果为:PE2的远端VPN路由数满足要求。

步骤802:PE2判断PE2与CE2之间是否存在缺省路由的发布,如果是,则执行步骤803,否则执行步骤804。

在本实施例中,由于此时PE2正在正常工作,所以PE2和CE2之间已存在缺省路由的发布,判断结果为PE2和CE2之间存在缺省路由的发布。如果此时PE2故障重启,那么PE2和CE2之间还不存在缺省路由,如实施例三中的情况。

步骤803:PE2进行故障出现通报。具体方法为:停止向CE2发布缺省路由,并向CE2发送缺省路由撤销消息,返回步骤801。

本步骤中,CE2接收到来自PE2的缺省路由撤销消息后,会选择其它可以利用的路由转发流量。本实施例中,CE2将流量全部切换至PE3。即流量全部从CE2经CE2-PE3 IP路由至PE3、PE3经VPN路由2至远端PE1、PE1再经PE1-CE1IP路由到达远端CE1设备。

步骤804:PE2进行等待恢复处理,即抑制PE2向CE2发布缺省路由,返回步骤801。

本步骤中,CE2如果接收不到来自PE2的缺省路由,就不会向PE2转发流量。

步骤805:PE2进行故障消除通报,即PE2向CE2发布缺省路由。

如果CE2收到来自PE2的缺省路由,会将流量回切到PE2。CE2将流量回切到PE2的方法可以为:通过缺省路由将流量全部回切到PE2,PE2再通过远端VPN路由转发流量;或者,通过缺省路由将部分流量回切至PE2,和PE3发布的IP路由一起,恢复流量的负载分担。至于是全部回切还是负载分担,可以依据不同的应用需要来选择。

步骤801~步骤805中,PE2在所有上行链路出现故障时,采用停止向CE2发布缺省路由并向CE2发送缺省路由撤销消息的方式进行故障出现通报,使得CE2在接收到缺省路由撤销消息后,选择其它可以利用的路由转发流量。这就有效的解决了现有技术中,由于CE2无法通过路由协议检测PE2有无远端VPN路由,而在PE2没有远端VPN路由的情况下继续向PE2转发流量所导致的业务中断问题。

在以上五个实施例中,也可以将远端VPN路由数目的阈值设置为一个非零的值。例如,设置所述阈值为2,如果PE的远端VPN路由数小于或等于2,就判定所述PE的远端VPN路由数不满足预先设定的要求;如果PE的远端VPN路由数大于2,则判定PE的远端VPN路由数满足预先设定的要求。当然,判定PE的远端VPN路由数是否满足预先设定的要求的方式也可以为:如果PE的VPN低于预先设定的阈值,则判定所述PE的远端VPN路由数不满足预先设定的要求,否则判定所述PE的远端VPN路由数满足预先设定的要求。

另外,还可以静态配置一个定时器。当PE的远端VPN路由数大于预先设定的阈值时,通过定时器进行计时,以此来等待PE接收到更多的路由,直到达到预先设定的时间,定时器计时结束,再继续执行故障消除通报的步骤。定时器的计时时间可以依据不同的应用场景来选择。这使得对远端VPN路由数的要求可以根据不同需要随意设定,提高了应用的灵活性及PE进行故障处理的性能。

基于本发明实施例提供的VPN故障处理方法,本发明实施例还提供了一种网络提供商边界路由设备PE。

实施例六:

图9为本发明实施例六提供的PE的结构示意图。如图9所示,本发明实施例提供的PE包括路由检测模块901和故障处理模块902。

路由检测模块901用于检测PE自身的远端VPN路由数是否满足预先设定的要求,在所述远端VPN路由数不满足预先设定的要求的情况下,通知故障处理模块902利用故障处理信息进行故障处理;直到所述PE的远端VPN路由数满足预先设定的要求后,通知所述故障处理模块902利用故障处理信息进行故障消除通报。

故障处理模块902用于接收来自路由检测模块901的通知,如果接收到来自路由检测模块901的故障处理的通知,则利用故障处理信息进行故障处理;如果接收到来自路由检测模块901的故障消除通报的通知,则利用故障处理信息进行故障消除通报。这里故障处理模块902可以为BFD模块,所述故障处理信息为BFD;故障处理模块902也可以为缺省路由模块,所述故障处理信息为缺省路由。

故障处理模块902还可以包括判别模块和处理模块;

所述判别模块用于接收来自路由检测模块901的故障处理的通知,并在接收到所述故障处理的通知后判定PE与归属于所述PE的CE间是否存在故障处理信息会话,如果是,则通知所述处理模块利用故障处理信息进行故障出现通报,否则,通知所述处理模块利用故障处理信息进行等待恢复处理;

所述处理模块用于接收来自所述判别模块或所述路由检测模块的通知,根据接收到的通知利用故障处理信息进行故障出现通报、等待恢复处理或故障消除通报。

由此可见,本发明实施例六提供的PE中,路由检测模块通过PE自身的远端VPN路由数来控制故障处理模块利用故障处理信息进行故障处理。也就是说,本发明实施例提供的PE将自身的远端VPN路由数与故障处理信息相关联,只有在所述PE的远端VPN路由数满足预先设定要求时,才允许归属于所述PE的CE向所述PE转发流量。因此,能够解决现有技术中由于CE在PE没有远端VPN路由的情况下向所述PE转发流量造成的业务中断问题。

下面对本发明实施例提供的PE作进一步详细说明。

实施例七:

图10为本发明实施例七提供的PE的结构示意图。如图10所示,本发明实施例提供的PE包括:路由检测模块1001和故障处理模块1002。

所述故障处理模块包括判别模块1003和处理模块1004。

所述处理模块包括故障出现通报模块10041、等待恢复模块10042和故障消除通报模块10043。

路由检测模块1001用于检测PE自身的远端VPN路由数是否满足预先设定的要求,在所述远端VPN路由数不满足预先设定的要求的情况下,通知故障处理模块1002的判别模块1003利用故障处理信息进行故障处理,直到所述PE的远端VPN路由数满足预先设定的要求后,通知故障消除通报模块10043利用故障处理信息进行故障消除通报。

判别模块1003用于接收来自所述路由检测模块1001的通知,并在接收到所述通知后判定所述PE与归属于所述PE的CE间是否存在故障处理信息会话,如果是,则通知故障出现通报模块10041利用故障处理信息进行故障出现通报,否则,通知等待恢复模块10042利用故障处理信息进行等待恢复处理。

故障出现通报模块10041用于接收来自所述判别模块1003的故障出现通报的通知,在接收到所述通知后,利用故障处理信息进行故障出现通报。

等待恢复模块10042用于接收来自所述判别模块1003的等待恢复处理的通知,在接收到所述通知后,利用故障处理信息进行等待恢复处理。

故障消除通报模块10043用于接收来自路由检测模块1001的故障消除通报的通知,在接收到所述通知后,利用故障处理信息进行故障消除通报。

这里,故障处理模块1002可以为BFD模块,故障处理信息为BFD,故障处理信息会话为BFD session,这种情况下:

BFD模块的故障出现通报模块10041用于在接收到来自判别模块1003的故障出现通报的通知后,将BFD session置为Admindown。这使得归属于PE的CE通过BFD可以检测到所述PE故障,进而选择其它可以利用的路由转发流量。

BFD模块的等待恢复模块10042用于在接收到来自判别模块1003的等待恢复处理的通知后,抑制BFD session的建立。这使得归属于PE的CE在没有BFD session建立的情况下,不会向所述PE转发流量。

BFD模块的故障消除通报模块10043用于在接收到来自路由检测模块1001的故障消除通报的通知后,触发BFD session的建立。这使得归属于所述PE的CE在BFD session建立后,可以接收到来自所述BFD session Up消息,并在接收到BFD session Up消息后,将流量回切到所述PE。

另外,故障处理模块1002也可以为缺省路由模块,故障处理信息为缺省路由,故障处理信息会话为缺省路由的发布,这种情况下:

缺省路由模块的故障出现通报模块10041用于在接收到来自判别模块1003的故障出现通报的通知后,停止向归属于所述PE的CE发布缺省路由并发送缺省路由撤销消息。这使得归属于PE的CE可以在接收到缺省路由撤销消息后,检测到PE故障,进而选择其它可以利用的路由转发流量。

缺省路由模块的等待恢复模块10042用于在接收到来自判别模块1003等待恢复处理的通知后,抑制PE向归属于所述PE的CE发布缺省路由。这使得归属于PE的CE在没有缺省路由的情况下,不会向所述PE转发流量。

故障消除通报模块10043用于在接收到来自路由检测模块1001的故障消除通报的通知后,向归属于所述PE的CE发布缺省路由。这使得归属于所述PE的CE可以在接收到来自所述PE的缺省路由之后,将流量回切到所述PE。

路由检测模块1001判定远端VPN路由数是否满足预先设定的要求的实现方式有很多种,例如,可以预先设定一个阈值,当远端VPN路由数低于或等于这个阈值时,判定远端VPN路由数不满足预先设定的要求,向故障处理模块1002发送要求故障处理信息,否则,判定远端VPN路由数满足预先设定的要求,向故障处理模块1002发送故障消除信息。

另外,路由检测模块1001还可以包括定时器。定时器用于在路由检测模块1001判定PE的远端VPN路由数满足预先设定的要求后进行计时,直到达到预先设定的时间,计时结束,再触发路由检测模块1001向故障处理模块1002发送故障消除信息。这使得远端VPN路由数在满足要求之后,进一步以预先设定的时间等待更多的远端VPN路由。定时器1005的计时时间可以根据不同的应用需要来选择。

由以上内容可以看出,本发明实施例提供的PE,可以在自身远端VPN路由数不满足预先设定的要求的情况下,利用故障处理信息进行故障处理,直到远端VPN路由数满足要求后,再利用故障处理信息进行故障消除通报。这有效解决了由于CE在PE没有远端VPN路由的情况下向所述PE转发流量造成的业务中断问题。另外,本发明实施例提供的PE可以根据实际应用需要设定远端VPN路由数的阈值,还可以在此基础上采用定时器来等待更多的远端VPN路由数,进而可以灵活控制对远端VPN路由数的要求,提高PE的性能。

综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号