双向转发检测控制报文的传输方法及系统的制作方法

文档序号:10491998阅读:483来源:国知局
双向转发检测控制报文的传输方法及系统的制作方法
【专利摘要】本发明实施例公开了一种BFD控制报文的传输方法及系统,该方法包括:第一系统建立所述第一系统与第二系统之间的BFD会话,所述第二系统是所述第一系统的远端系统,所述BFD会话的认证类型包括第一认证类型;在所述第一系统保存的所述BFD会话的会话参数中添加第二认证类型;所述第一系统的定时器超时时,向所述第二系统发送携带所述第一认证类型的第一BFD控制报文及携带所述第二认证类型的第二BFD控制报文,所述第一BFD控制报文及所述第二BFD控制报文在所述第二系统的同一个检测周期内被所述第二系统接收到。上述方案中,当第一系统与第二系统分别支持的认证类型的修改时间不同步时,可避免对通信链路的状态做出误判。
【专利说明】
双向转发检测控制报文的传输方法及系统
技术领域
[0001 ] 本发明涉及通信技术领域,尤其涉及双向转发检测(Bidirect1nal ForwardingDetect1n,BFD)控制报文的传输方法及系统。
【背景技术】
[0002]BH)协议能快速检测到一对网络设备间的故障。网络设备能够根据检测结果将流量从主用链路切换至备份链路,从而提高网络的可用性。网络设备I与网络设备2可通过协商建立认证类型为认证类型I的BFD会话。也就是说,网络设备I和网络设备2之间的BFD会话建立时,网络设备I和网络设备2都支持认证类型I会话建立后,可能需要将网络设备I支持的认证类型从认证类型I修改为认证类型2,以及,将网络设备2支持的认证类型从认证类型I修改为认证类型2。网络设备I修改认证类型的时间与网络设备2修改认证类型的时间有可能不同步。若网络设备I完成认证类型修改,而网络设备2未完成认证类型修改,则网络设备I向网络设备2发送携带认证类型2的BH)控制报文,网络设备2接收到网络设备I发送的携带认证类型2的BFD控制报文后,无法对携带认证类型2的BH)控制报文进行认证。这种情况下,网络设备2会认为网络设备I和网络设备2之间的通信链路发生故障。而实际上网络设备I与网络设备2之间的通信链路并没有发生故障。上述技术方案中,BH)机制对网络设备之间的通信链路的状态做出了误判。该误判有可能会导致流量从主用链路切换到备份链路,从而导致流量在切换的过程中发生中断。

【发明内容】

[0003]本发明实施例公开了一种BFD控制报文的传输方法及系统,有助于避免对通信链路的状态做出误判。
[0004]本发明实施例第一方面公开了一种BH)控制报文的传输方法,包括:第一系统建立所述所述第一系统与第二系统之间的BH)会话,所述所述第二系统是所述第一系统的远端系统,所述BH)会话的认证类型可包括第一认证类型;所述第一系统建立所述BFD会话后,在所述第一系统保存的所述BH)会话的会话参数中添加第二认证类型;所述第一系统添加所述第二认证类型后,所述第一系统的定时器超时时,向所述第二系统发送携带所述第一认证类型的第一 BH)控制报文及携带所述第二认证类型的第二 BH)控制报文,所述第一 BH)控制报文及所述第二 BH)控制报文在所述第二系统的同一个检测周期内被所述第二系统接收至IJ。通过上述方式,第二系统能够认证出其中至少一种BH)控制报文,从而两端系统可在不同时进行认证类型修改的过程中,仍能够通过上述建立的BFD会话进行链路故障检测。
[0005]举例来说,所述第二系统在所述同一个检测周期内在所述BFD会话的会话参数中保存所述第一认证类型。也就是说,所述第一认证类型在所述同一个检测周期内对所述第二系统是有效的。所述第二系统能够对来自所述第一系统的携带所述第一认证类型的BFD控制报文进行认证。
[0006]或者,所述第二系统保存的所述BH)会话的会话参数在所述同一个检测周期内由所述第一认证类型变更为所述第二认证类型。也就是说,认证类型变更前,所述第一认证类型在所述同一个检测周期内对所述第二系统是有效的。所述第二系统能够对来自所述第一系统的携带所述第一认证类型的BH)控制报文进行认证。认证类型变更后,所述第二认证类型在所述同一个检测周期内对所述第二系统是有效的。所述第二系统能够对来自所述第一系统的携带所述第二认证类型的BFD控制报文进行认证。
[0007]结合第一方面,在第一种可能的实现方式中,所述方法还可包括:若所述第一系统确定所述第一系统从添加所述第二认证类型开始的时间周期内没有接收到来自所述第二系统的携带所述第二认证类型的BH)控制报文,则将所述第一系统维护的BFD会话的会话状态修改为故障状态,进而可影响第二系统维护的所述BFD会话的会话状态,从而避免第一系统无期限的等待第二系统进行认证配置。
[0008]结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述第一系统确定所述第一系统从添加所述第二认证类型开始的时间周期内没有接收到来自所述第二系统的携带所述第二认证类型的BFD控制报文的具体方式可包括:所述第一系统确定所述第一系统在所述时间周期内接收到来自所述第二系统的第三BH)控制报文中没有携带所述第二认证类型;进一步的,可通过以下方式确定所述第三BH)控制报文中没有携带所述第二认证类型:
[0009]所述第一系统确定所述第三BH)控制报文中的密钥标识是否与所述第一系统的保存的密钥集中的密钥匹配,若不匹配,可确定所述第一系统在所述时间周期内接收到来自所述第二系统的第三BFD控制报文没有携带所述第二认证类型没有携带所述第二认证类型,若匹配,所述第一系统基于所述第二认证类型确定认证算法,第一系统确定基于所述匹配的密钥及所述认证算法生成的认证材料是否与所述第三BFD控制报文携带的认证材料一致;若不一致,则所述第一系统确定所述第三BFD控制报文中没有携带所述第二认证类型。
[0010]结合第一方面第二种可能的实现方式,在第一方面第三种可能的实现方式中,若所述密钥标识与所述密钥集中的密钥匹配,则所述第一系统基于所述第二认证类型确定认证算法的方式可包括:若所述密钥标识与所述密钥集中的密钥匹配,并且所述第三BFD控制报文携带的认证类型与所述第二认证类型一致,则所述第一系统基于所述第二认证类型确定所述认证算法。
[0011]结合第一方面,在第一方面第四种可能的实现方式中,所述方法还可包括:若所述第一系统确定所述第一系统从添加所述第二认证类型开始的时间周期内接收到携带所述第二认证类型的BH)控制报文,则所述第一系统删除在所述第一系统保存的所述BH)会话的会话参数中的所述第一认证类型。
[0012]结合第一方面或第一方面第一种至第四种任一种可能的实现方式,在第一方面第五种可能的实现方式中,所述方法还可包括:在所述第一系统保存的所述BH)会话的会话参数中添加第二认证类型后,所述第一系统向第三系统发送配置指令,所述第三系统是所述第一系统的备份系统,所述配置指令用于向所述第三系统保存的所述BH)会话的会话参数中添加所述第二认证类型,所述第三系统用于当所述第一系统发生故障,代替所述第一系统维持所述BFD会话。从而能够保证及时更新第一系统的备份系统的会话参数,以保证第一系统与第二系统的BFD会话的会话状态为故障状态后,第三系统能够通过更新后的会话参数,与第二系统建立正常的BFD会话。
[0013]结合第一方面第四种可能的实现方式,在第一方面第六种可能的实现方式中,在所述第一系统删除所述第一系统保存的所述BFD会话的会话参数中的所述第一认证类型后,所述方法还可包括:所述第一系统向所述第一系统的备份系统发送删除指令,所述删除指令用于删除所述第三系统中保存的所述BH)会话的会话参数中的所述第一认证类型。从而能够保证及时更新第一系统的备份系统的会话参数,以保证第一系统与第二系统的BFD会话的会话状态为故障状态后,第三系统能够通过更新后的会话参数,与第二系统建立正常的BFD会话。
[0014]本发明实施例第二方面公开了一种BH)控制报文的传输方法,包括:第二系统建立第一系统与所述第二系统之间的BH)会话,所述BFD会话的认证类型包括第一认证类型;所述第二系统在所述第二系统的同一检测周期内接收来自所述第一系统的携带所述第一认证类型的第一 BFD控制报文及携带第二认证类型的第二 BFD控制报文。
[0015]结合第二方面,在第二方面的第一种可能的实现方式中,所述方法还可包括:所述第二系统建立所述BFD会话时,所述第二系统保存的所述BFD会话的会话参数中不包括所述第二认证类型;所述第二系统建立所述BH)会话后,以及所述第二系统接收到所述第二BFD控制报文前,所述第二认证类型没有被添加到所述第二系统保存的所述BH)会话的会话参数中;
[0016]所述方法还可包括:所述第二系统接收到所述第一BH)控制报文后,所述第二系统通过将定时器清零,对下一个检测周期计时;所述第二系统接收到所述第二 BFD控制报文后,丢弃所述第二 BFD控制报文。
[0017]结合第二方面,在第二方面的第二种可能的实现方式中,所述方法还可包括:所述第二系统建立所述BH)会话后,以及所述第二系统接收到所述第二 BH)控制报文前,所述方法还包括:在所述第二系统保存的所述BH)会话的会话参数中添加所述第二认证类型;所述第二系统接收到所述第二 BH)控制报文后,删除所述第二系统保存的所述BFD会话的会话参数中的所述第一认证类型。
[0018]结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第二系统添加所述第二认证类型后,以及,所述第二系统接收到所述第二BH)控制报文前,所述方法还包括:所述第二系统向所述第一系统发送携带所述第一认证类型的第四BH)控制报文及携带所述第二认证类型的第五BH)控制报文;所述第二系统接收到所述第二 BH)控制报文后,所述方法还包括:所述第二系统向所述第一系统发送携带所述第二认证类型的第六BFD控制报文。
[0019]第三方面,本发明实施例公开了一种第一系统,所述第一系统包含了用于执行第一方面中的方法的单元。
[0020]第四方面,本发明实施例公开了一种第二系统,所述第二系统包含了用于执行第二方面中的方法的单元。
[0021 ] 第五方面,本发明实施例公开了一种第一系统,所述第二系统可包括处理器,处理器被配置为支持所述第一系统执行第一方面提供的方法中相应的功能。所述第一系统还可以包括存储器,存储器用于与处理器耦合,其保存用于实现第一方面提供的方法的计算机程序。所述第一系统还可以包括通信接口,用于所述第一系统与其它系统或通信网络通信。
[0022]第六方面,本发明实施例公开了一种第二系统,所述第二系统可包括处理器,处理器被配置为支持所述第二系统执行第二方面提供的方法中相应的功能。所述第二系统还可以包括存储器,存储器用于与处理器耦合,其保存用于实现第二方面提供的方法的计算机程序。所述第二系统还可以包括通信接口,用于所述第二系统与其它通信系统或通信网络通信。
[0023]第七方面,本发明实施例公开一种计算机存储介质,用于储存为上述第五方面提供的第一系统所用的计算机软件指令,其包含用于执行第一方面中方法所涉及的计算机程序。
[0024]第八方面,本发明实施例公开一种计算机存储介质,用于储存为上述第六方面提供的第二系统所用的计算机软件指令,其包含用于执行第二方面中方法所涉及的计算机程序。
[0025]本发明实施例中,第一系统与第二系统建立认证类型包括第一认证类型的BFD会话。当第一系统添加第二认证类型后,通过向第二系统发送携带第一认证类型的第一 BH)控制报文及携带第二认证类型的第二 BH)控制报文。第二系统在同一检测周期内接收到该携带第一认证类型的第一 BFD控制报文及携带第二认证类型的第二 BH)控制报文。如果第二系统接收到BH)控制报文时,第二系统支持的认证类型没有发生修改,则第二系统能够对第一BFD控制报文进行认证。如果第二系统接收到BFD控制报文时,第二系统支持的认证类型从第一认证类型修改为第二认证类型,则第二系统能够对第二 BFD控制报文进行认证。也就是说,第一系统支持的认证类型从第一认证类型修改为第一认证类型以及第二认证类型后,无论第二系统支持的认证类型是否发生修改,第二系统都可以对BH)控制报文进行认证。进而,避免了第二系统由于无法对BH)控制报文进行认证而误认为第一系统和第二系统之间的通信链路发生故障。因此,上述方案有助于解决第二系统修改认证类型的时间与第二系统修改认证类型的时间不一致而导致对通信链路的状态做出误判的技术问题。进而,有助于避免流量发生中断。
【附图说明】
[0026]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027]图1是本发明实施例公开的一种BFD系统的结构不意图;
[0028]图2是本发明实施例公开的另一种BFD系统的结构不意图;
[0029]图3是现有技术中一种第一网络设备A中第一系统与第二网络设备B中第二系统传输BFD控制报文的交互时序不意图;
[0030]图4是现有技术中另一种第一网络设备A中第一系统与第二网络设备B中第二系统传输BFD控制报文的交互时序不意图;
[0031 ]图5是本发明实施例公开的一种BH)控制报文的传输方法的流程示意图;
[0032]图6是本发明实施例公开的另一种BH)控制报文的传输方法的流程示意图;
[0033]图7是本发明实施例公开的又一种BH)控制报文的传输方法的流程示意图;
[0034]图8是本发明实施例公开的一种第一系统与第二系统传输BFD控制报文的交互时序不意图;
[0035]图9是本发明实施例公开的一种第一系统的结构示意图;
[0036]图10是本发明实施例公开的一种第二系统的结构示意图;
[0037]图11是本发明实施例公开的一种第三系统的结构示意图;
[0038]图12是本发明实施例公开的一种第一系统的结构示意图;
[0039]图13是本发明实施例公开的一种第二系统的结构示意图;
[0040]图14是本发明实施例公开的一种第三系统的结构示意图。
【具体实施方式】
[0041]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
[0042]本发明实施例公开了一种BH)控制报文的传输方法及系统,能够在建立BH)会话的网络设备进行认证类型修改期间,保证能够通过上述建立的BFD会话进行链路故障检测,并且避免了在此认证类型修改的过程中BH)机制对通信链路的状态做出误判,进而避免了流量中断现象。为了更好的理解本发明实施例,下面先对本发明实施例的应用场景进行描述。
[0043]参见图1,图1是本发明实施例公开的一种BFD系统的结构示意图。如图1所示,该BFD系统包括第一网络设备A及第二网络设备B。第一网络设备A以及第二网络设备B可以是能够支持BH)协议的设备。例如,第一网络设备A以及第二网络设备B可以是路由器、基站、或核心路由交换机。第一网络设备可包括第一系统,第二网络设备可包括第二系统。第一系统与第二系统可应用于网络设备中的转发引擎,也可应用于网络设备中的控制引擎。第一网络及第二网络设备中可存在多个系统。当第一网络设备A及第二网络设备B建立BH)会话时,第一系统及第二系统可分别通过第一网络设备A中的控制引擎及第二网络设备B中的控制引擎建立BH)会话。进而,检测第一网络设备A及第二网络设备B之间的链路、接口、数据连接或控制引擎本身的故障。当然,第一网络设备与第二网络设备之间或第一系统与第二系统之间可建立多个BH)会话。本发明实施例以第一系统与第二系统建立一个BFD会话为例进行说明。本发明实施例所述的BFD系统以图1中所示的第一网络设备A为基站,第二网络设备B为路由器进行说明。
[0044]参见图2,图2是本发明实施例公开的又一种BH)系统的结构示意图。如图2所示,该BFD系统可包括第一网络设备A、第二网络设备B及第三网络设备C。其中,第三网络设备C为第一网络设备A的备份设备。第三网络设备C中的第三系统可作为第一网络设备A中的第一系统的备份系统。如图2所示,第二网络设备B为基站,第一网络设备A与第三网络设备C为路由器。第一网络设备A与第二网络设备B维持BH)会话。若通过BFD控制报文检测到A与B之间的链路出现故障,则可以将流量从A与B之间主用链路切换到C与B之间的备份链路。另外,第三网络设备C可以接管第一网络设备A的角色。具体来说,第三网络设备C代替第一网络设备A,维持BFD会话。
[0045 ]图3与图4所示的BH)认证类型修改的技术方案可应用在图1或图2所示的应用场景中。参见图3,图3是现有技术中一种第一网络设备A中第一系统与第二网络设备B中第二系统传输BFD控制报文的交互时序示意图。如图3所示,第一系统与第二系统的进行BH)会话中认证类型修改的时间并不相同。若第二系统未在第一系统中的检测周期内进行认证类型修改并反馈携带有修改后的认证类型的BH)控制报文,则会导致第一系统将与第二系统建立的BH)会话的会话状态修改为DOWN状态。BFD机制对网络设备之间的通信链路的状态做出了误判。该误判有可能会导致流量从主用通信链路切换到备份通信链路,进而导致流量在切换的过程中可能存在中断,影响了网络流量的传输。
[0046]参见图4,图4是现有技术中另一种第一网络设备A中第一系统与第二网络设备B中第二系统传输BFD控制报文的交互时序示意图。如图4所示,可通过配置网络设备的BFD会话状态为AdminDown状态,即取消通过BH)进行链路检测的功能,当两端网络设备均完成新的认证配置后,再结束AdminDown状态,进而恢复BFD检测功能。从而两个网络设备重新握手恢复BH)会话以通过新的认证类型继续检测两个网络设备之间的链路故障。然而,两端在进行不同步认证类型修改时,虽然满足了保持网络设备之间的通信链路不中断,但通过配置网络设备的BFD会话状态为AdminDown状态方式,将在会话状态维持AdminDown状态期间内无法发现网络设备之间的链路故障。
[0047]在图1或图2所示的应用场景中,针对图3或图4所示的传输过程中的缺陷,请参见图5所示方法,图5是本发明实施例公开的一种BH)控制报文的传输方法的流程示意图。如图5所示,第一网络设备A中的第一系统与第二网络设备B中的第二系统通过相互传输BFD控制报文进行链路故障检测,若两端能够相互传输BFD控制报文的会话状态为UP(保活)状态,则表明两端之间的链路正常,当用户需要在BH)会话过程中修改BH)控制报文的认证类型,可参见图5中所示步骤。具体的,该方法可包括以下步骤。
[0048]步骤S501,第一系统与第二系统建立之间的BH)会话,所述第二系统是所述第一系统的远端系统,所述BFD会话的认证类型包括第一认证类型。
[0049]在一个实施例中,第一系统可建立第一系统与第二系统之间的BH)会话。其中,第二系统可为第一系统的远端系统(remote system)。具体的,第一系统可向第二系统发送携带DOWN状态的Bro控制报文。当第一系统接收到第二系统反馈的携带DOWN状态的控制报文后,可向第二系统发送携带INIT状态的控制报文。进而,当第一系统向第二系统发送上述携带INIT状态的控制报文后,接收到第二系统反馈的携带UP状态或INIT状态的控制报文后,可向第二系统发送携带UP状态的控制报文。至此,第一系统与第二系统建立了 BFD会话。BFD会话建立后,第一系统可与第二系统交互BFD控制报文。
[0050]在第一系统与第二系统建立BFD会话过程中,在此过程中交互的BFD控制报文携带协商信息,该协商信息用于协商第一系统与第二系统建立BFD会话后,BFD控制报文的传输规则。第一系统保存该BFD会话的会话参数。第二系统也保存该BFD会话的会话参数。其中,第一系统所保存的BFD会话的会话参数可包括第一系统与第二系统通过上述BFD控制报文携带的协商信息进行协商的会话参数,如发送间隔或接收间隔。也可包括在第一系统内设置的基于上述协商参数确定的会话参数,如检测周期。同理,第二系统所保存的BH)会话的会话参数也可包括上述两部分内容。当然,若第一系统与第二系统的BFD控制报文在建立BFD会话过程中携带认证参数,第一系统以及第二系统内所保存的会话参数中包括BFD控制报文的认证类型,该认证类型为第一认证类型。第一认证类型是所述第一系统保存的所述BFD会话的会话参数中的旧认证类型。需要说明的是,第一系统与第二系统之间传输BH)控制报文的方向是双向的。第一系统发送BFD控制报文与接收BFD控制报文的过程是相对独立的,第二系统也同样如此。
[0051 ]步骤S502,所述第一系统建立所述BH)会话后,在所述第一系统保存的所述BH)会话的会话参数中添加第二认证类型。
[0052]在一个实施例中,当第一系统建立与第二系统之间的BFD会话后,可在第一系统保存的该BFD会话的会话参数中添加第二认证类型。其中,该第二认证类型为第一系统保存的所述BFD会话的会话参数中的新认证类型。第一系统可通过接收用户的配置指令在所述第一系统的所述BFD会话的会话参数中添加第二认证类型。其中,可在第一系统建立第一系统与第二系统的BFD会话前接收配置指令,也可在第一系统建立与第二系统的BFD会话后接收配置指令。具体的,可在会话参数中标识新认证类型信息与旧认证类型信息。在未在会话参数中添加第二认证类型前,新认证类型信息可设置为第一认证类型,旧认证配置中可设置空值(NULL)。表明当前BH)会话的方式仅为一种,即第一认证类型。在会话参数添加第二认证类型后,新认证类型信息可设置为第二认证类型,旧认证类型信息可设置为第一认证类型。
[0053]需要说明的是,认证类型可包括简单密码(Simple Password)、Keyed MD5、Meticulous Keyed MD5、Keyed SHAl、Meticulous Keyed SHAl等多种认证类型,各认证类型可通过不同的认证类型值进行区别,如Simple Password的认证类型值为I,依次类推。当然,认证类型值还可根据具体协议进行区分,本发明实施例不做限定。
[0054]步骤S503,所述第一系统添加所述第二认证类型后,所述第一系统的定时器超时时,向所述第二系统发送携带所述第一认证类型的第一BFD控制报文及携带所述第二认证类型的第二 BFD控制报文。
[0055]在一个实施例中,当第一系统添加第二认证类型后,可向第二系统发送携带第一认证类型的第一 BH)控制报文及第二认证类型的第二 BH)控制报文。具体的,第一系统可根据保存的会话参数中的发送间隔确定发送定时器的定时周期,在发送定时器超时时,即达到一个发送间隔时,向第二系统发送一个或多个BFD控制报文。此时,BH)控制报文中可携带第一认证类型或第二认证类型。需要说明的是,需要在第二系统的检测周期(Detect1nTime)内发送至少一个携带第一认证类型的BFD控制报文,使第二系统能够在检测周期内接收到该携带第一认证类型的BH)控制报文,从而第二系统在该检测周期内假如未进行认证类型修改,即仍保留原认证类型(第一认证类型)的认证方式时,接收到携带第一认证类型的BH)控制报文时认证该BH)控制报文并对该BH)控制报文进行后续处理。进而,第二系统可以保持第二系统与第一系统之间的BFD会话的会话状态为UP状态。从而,第二系统不会对第一系统和第二系统之间的链路状态做出误判。当第二系统在未进行认证类型修改前接收到携带第一认证类型的BFD控制报文,第二系统的检测定时器可启动新的检测周期,并在此检测周期内确定是否接收到有效的BH)控制报文。具体的,可将检测周期对应的检测定时器清零,使检测定时器能够自启动新的检测周期;或刷新该检测定时器,使检测定时器通过指令指示启动新的检测周期。
[0056]具体的,在第二系统的检测周期内,第一系统发送携带第一认证类型的第一BFD控制报文的发送频次与发送携带第二认证类型的第二 BFD控制报文的发送频次可预设比值为N:M,其中,N与M均为大于等于I的整数。在此期间内,至少发送一次携带第一认证类型的第一BH)控制报文,因此N的最小取值为I;上述比值的取值范围可为1:1?1:N。由于第二系统的检测周期为第一系统的发送间隔的整数倍,因此,在检测周期内,假如第一系统能够发送X个BFD控制报文,可在该周期内的任意一个发送检测对应的发送定时器超期时,发送一个携带第一认证类型的第一 BH)控制报文,其余发送间隔发送N个(S卩X-1个)携带第二认证类型的第二 BH)控制报文,以较高的频率确定第二系统是否完成认证类型修改后,可通过携带第二认证类型的第二 BH)控制报文进行互相船速。在该检测周期内第一系统发送的第一 BFD控制报文的发送频次与第二 BH)控制报文的发送频次为1:N;或者第一系统在相邻两个发送间隔分别发送第一 BFD控制报文及第二 BH)控制报文,在此期间发送的第一 BH)控制报文的发送频次与第二BH)控制报文的发送频次为1:1;当然,在此范围内,第一网络设备A还可通过其他方式发送第一 BFD控制报文及第二 BFD控制报文,在此暂不赘述。
[0057]步骤S504,第二系统在同一检测周期内接收到携带第一认证类型的第一BFD控制报文及携带第二认证类型的第二 BFD控制报文。
[0058]在一个实施例中,第二系统可在同一检测周期内接收到携带第一认证类型的第一BFD控制报文及携带第二认证类型的第二 BFD控制报文。
[0059]举例来说,第二系统在同一个检测周期内在所述BH)会话的会话参数中保存所述第一认证类型。也就是说,第一认证类型在上述同一个检测周期内对第二系统是有效的。因此,第二系统能够对来自第一系统的携带第一认证类型的BFD控制报文进行认证。
[0060]或者,第二系统保存的所述BFD会话的会话参数在上述同一个检测周期内由第一认证类型变更为第二认证类型。也就是说,认证类型变更前,第一认证类型在上述同一个检测周期内对第二系统是有效的。因此第二系统能够对来自第一系统的携带所述第一认证类型的BH)控制报文进行认证。认证类型变更后,第二认证类型在同一个检测周期内对第二系统是有效的。因此第二系统能够对来自第一系统的携带第二认证类型的BH)控制报文进行认证。
[0061]通过上述方式,能够维持第一系统维护的第一系统与第二系统之间的BH)会话的会话状态为UP状态,从而可保证在系统进行认证类型修改时,仍能够通过BFD协议检测两端系统的链路状态。当然,若第一系统或第二系统所维护的BH)会话的会话状态由其他原因变更为DOWN状态时,即表明在第一系统或第二系统进行认证类型修改的过程中,仍能够通过BFD协议检测第一系统与第二系统之间的链路故障。具体的,若第二系统在该检测周期内未进行认证类型修改,则表明第二系统保存的会话参数中仅保存了第一认证类型,此时,第二系统仅能够接收携带第一认证类型的第一 BH)控制报文,对于携带第二认证类型的第二 BFD控制报文,第二系统通过当前保存的认证类型的认证方式无法对该第二 BH)控制报文进行认证,由此,第二系统会丢弃该第二 BFD控制报文。若第二系统在该检测周期内仅能够接收到携带第二认证类型的第二 BFD控制报文,需要对该第二 BH)控制报文均进行丢弃处理,则有可能当该检测周期期满时,第二系统由于未接收到有效的BFD控制报文,而修改第二系统与第一系统之间的BFD会话的会话状态为DOWN状态,此时第二系统会对第一系统与第二系统的链路状态进行误判,因此,在该检测周期内,保证第二系统接收到至少一个携带第一认证类型的第一 BFD控制报文。
[0062]若第二系统在该检测周期内进行了认证类型修改,则表明第二系统保存的上述BH)会话的会话参数中保存了第一认证类型及第二认证类型,当第二系统在该检测周期内接收到携带第一认证类型的第一 BH)控制报文,可认证该第一 BH)控制报文,并可开始新的检测周期,保证两系统间BH)会话的会话状态正常;当第二系统在该检测周期内接收到携带第二认证类型的第二 BH)控制报文,可认证该第二 BH)控制报文,并可确定第一系统已完成认证类型修改,并且第一系统与第二系统可通过新的认证类型维持第一系统与第二系统间的上述BFD会话,因此,可删除第二系统保存的会话参数中的第一认证类型;同理,当第一系统接收到第二系统发送的携带第二认证类型的BFD控制报文时,第一系统也可删除在第一系统中保存的会话参数中的第一认证类型,至此,第一系统与第二系统可通过新的认证类型进行BFD控制报文的传输。
[0063]可选的,第二系统在上一个检测周期内,可接收到来自第一系统的携带第一认证类型的BFD控制报文。其中,上一个检测周期指本发明实施例中上述同一个检测周期的相邻检测周期,并且上一个检测周期时间上指在该同一检测周期之前的检测周期。上一个检测周期在第二系统建立与第一系统的上述BH)会话之后。从而,第二系统可在上一个检测周期内维持该BFD会话。
[0064]第一系统的发送持续时间与第二系统的上一个检测周期相对应,即第一系统在持续时间内发送的BH)控制报文能够被第二系统在上一个检测周期内接收到。第一系统在该持续时间内,第一系统未进行认证类型修改。因此第一系统所保存的上述BH)会话的会话参数中不包含第二认证类型。该第一系统在该持续时间内不能够向第二系统发送携带第二认证类型的BFD控制报文。第一系统在该持续时间内仅能够向第二系统发送携带第一认证类型的BH)控制报文。因此,第二系统在上一个检测周期内仅能够接收到来自第一系统的携带第一认证类型的BH)控制报文,并能够对该BH)控制报文进行认证。第二系统不能够在上一个检测系统接收到来自第一系统的携带第二认证类型的控制报文。
[0065]需要说明的是,检测周期(Detect1nTime)的具体定义方式及执行方式可参见英特网工程任务组(Internet Engineering Task Force,IETF)发布的RFC5880中的第6.8.2
-K-
T ο
[ΟΟ??]本申请中的第一系统是第二系统的相邻系统(neighboring system)或远端系统(remote system)。本申请中的系统具体可以是IETF发布的RFC5880中的系统。具体来说,本申请中的系统可以通过IETF发布的RFC5880定义的BFD状态机(BFD state machine)实现。
[0067]本发明实施例中,第一系统与第二系统建立认证类型包括第一认证类型的BFD会话。当第一系统添加第二认证类型后,通过向第一系统发送携带第一认证类型的第一 BH)控制报文及携带第二认证类型的第二 BH)控制报文。第二系统在同一检测周期内接收到该携带第一认证类型的第一 BFD控制报文及携带第二认证类型的第二 BH)控制报文。如果第二系统接收到BH)控制报文时,第二系统支持的认证类型没有发生修改,则第二系统能够对第一BFD控制报文进行认证。如果第二系统接收到BFD控制报文时,第二系统支持的认证类型从第一认证类型修改为第二认证类型,则第二系统能够对第二 BFD控制报文进行认证。也就是说,第一系统支持的认证类型从第一认证类型修改为第一认证类型以及第二认证类型后,无论第二系统支持的认证类型是否发生修改,第二系统都可以对BH)控制报文进行认证。进而,避免了第二系统由于无法对BH)控制报文进行认证而误认为第一系统和第二系统之间的通信链路发生故障。因此,上述方案有助于解决第二系统修改认证类型的时间与第二系统修改认证类型的时间不一致而导致对通信链路的状态做出误判的技术问题。进而,有助于避免流量发生中断。以下描述的本发明实施例用于重点描述第一系统或第二系统在完成认证类型修改后,接收到BH)控制报文的处理过程,本发明实施例以第一系统为例,具体的,可参见图6,图6是本发明实施例公开的另一种BH)控制报文的传输方法的流程示意图。如图6所示,该方法可包括以下步骤。
[0068]步骤S601,第一系统确定所述第一系统从添加所述第二认证类型开始的时间周期内是否接收到来此第二系统的携带所述第二认证类型的BFD控制报文。
[0069]在一个实施例中,第一系统可确定该第一系统从添加第二认证类型开始的时间周期内是否接收到携带第二认证类型的BFD控制报文。具体的,当第一系统从添加第二认证类型开始,则表明第一系统完成了认证类型修改,进而需要在预设的时间周期内确定第二系统是否也完成了认证类型修改。可通过确定是否接收到携带第二认证类型的BH)控制报文以确定第二系统是否完成认证类型修改,并且该认证类型修改与第一系统一致,若上述任意一个条件不满足,则两端系统则无法维持上述建立的BFD会话。
[0070]具体的,时间周期可预设在第一系统保存的会话参数中,第一系统将第二认证类型添加至第一系统保存的会话参数中,当第一系统添加该第二认证类型时,第一系统可触发该时间周期的运行,具体的,可通过预设定时器如变更定时器等执行该时间周期,第一系统确定变更定时器超时前是否接收到携带第二认证类型的BFD控制报文。
[0071 ]可选的,当第一系统接收到来自第二系统的第三BFD控制报文时,确定该第三BFD控制报文是否携带第二认证类型的方式可包括:
[0072]第一系统确定所述第三BH)控制报文中的密钥标识是否与所述第一系统的保存的密钥集中的密钥匹配;若所述密钥标识与所述密钥集中的密钥匹配,则所述第一系统基于所述第二认证类型确定认证算法;可选的,若所述密钥标识与所述密钥集中的密钥匹配,并且所述第三BFD控制报文携带的认证类型与所述第二认证类型一致,则所述第一系统基于所述第二认证类型确定所述认证算法;所述第一系统确定基于所述匹配的密钥及所述认证算法生成的认证材料是否与所述第三BFD控制报文携带的认证材料一致。
[0073]在一个实施例中,当第一系统接收到该第三BFD控制报文后,可确定该第三BFD控制报文中的密钥标识(key_ID)是否与第一系统中保存的密钥集中的密钥匹配。其中,在第一系统中可保存配置的多个密钥,该多个密钥可组成密钥集,第二系统中通过第三BFD控制报文携带的密钥标识对应其中一个密钥,即可进行下一步认证过程,第一系统可基于第二认证类型确定认证算法,可选的,在第一系统基于第二认证类型确定认证算法前,还可确定第三BFD控制报文携带的认证类型与第二认证类型是否一致。其中,如上述方式,可由不同的认证类型值代表不同的认证类型,即通过确定第三BFD控制报文中携带的认证类型值与第二系统保存的会话参数中的第二认证类型的认证类型值是否一致。若一致,则可基于第二认证类型确定认证算法,以做进一步的认证。通过上述步骤,第一系统可基于密钥标识所匹配的密钥以及由第二认证类型确定的认证算法生成认证材料,并将该认证材料与第三BFD控制报文携带的认证材料是否一致。具体的,认证材料可根据认证类型的不同体现在第三BFD控制报文中的Auth key/Digest(针对认证类型为keyed MD5或Meticulous KeyedMD5)或Auth key/Hash(针对认证类型为Keyed SHAl或Meticulous Keyed SHAl)字段。该认证材料可为体现为一串字节,若生成的认证材料与该串字节一致,则表明认证材料一致,进而可确定第三BH)控制报文携带第二认证类型,并且该第三BH)控制报文来自第二系统,而非干扰恶意报文。若上述认证方式中的任意一种方式不一致,则表明第一系统没有在上述的时间周期内接收到来自第二系统的携带第二认证类型的第三BFD控制报文。
[0074]需要说明的是,上述方式中确定密钥标识与密钥为匹配关系,即根据对应的密钥标识找到相应的密钥内容,密钥标识不同,密钥内容不同;上述确定认证类型一致或认证材料一致时,可指认证类型值相同或认证材料值相同,在此,一致与相同同义。
[0075]步骤S602,若第一系统确定接收到携带所述第二认证类型的BH)控制报文,则删除所述第一系统保存的所述BFD会话的会话参数中的所述第一认证类型。
[0076]在一个实施例中,当通过上述方式第一系统确定接收到来自第二系统的携带第二认证类型的BH)控制报文后,则第一系统已获知第二系统已完成认证类型修改,并且第二系统修改的认证类型为第二认证类型,至此,第一系统与第二系统均已完成认证类型修改,则第一系统与第二系统可传输携带第二认证类型的BFD控制报文。第一系统删除第一系统中保存的BFD会话的会话参数中的第一认证类型。若使用上述变更定时器确定时间周期,则当第一系统确定接收到上述BFD控制报文后,还可将该变更定时器删除或关闭。
[0077]步骤S603,若第一系统确定没有接收到携带所述第二认证类型的BFD控制报文,则将所述第一系统维护的会话状态修改为故障状态。
[0078]在一个实施例中,当通过上述方式第一系统确定在时间周期内没有接收到携带该第二认证类型的BH)控制报文,则表明第二系统在规定的期限内没有完成认证类型修改或完成的认证类型修改后的认证类型无法通过第一系统的认证,因此,第一系统需要将第一系统维护的会话状态修改为DOWN(故障)状态。
[0079]具体的,第一系统中可包括与上述建立的BH)会话相对应的BH)会话的状态机,该BFD会话的状态机用于根据状态的触发条件修改该BFD会话的会话状态,该状态机的会话状态可为DOWN(故障)状态,INIT(初始/激活)状态,UP(保活)状态,ADMIND0WN(取消故障检测)状态。举例说明,当第一系统与第二系统建立BFD会话时,该BFD会话的状态机输出状态顺序可为D0WN-1NIT-UP,当会话状态为UP状态时,第一系统与第二系统建立的BH)会话,并通过接收与发送有效的BH)控制报文维护该BH)会话的会话装维为UP状态,当状态机检测到上述触发条件时,则将该BH)会话的会话状态修改为DOWN状态,表明第一系统与第二系统无法再持续该BFD会话,第一系统与第二系统之间的链路出现问题。
[0080]本发明实施例避免了当一端系统完成认证配置后,无期限的等待对端进行认证配置,从而可及时发现两端系统认证配置不一致,及时上报链路故障问题,以保证业务传输不受影响。
[0081]上述实施例中描述的第一系统与第二系统之间的BH)控制报文的传输方式可适用于图1或图2中所示的BH)系统。当BFD系统存在第一系统或第二系统的备份系统时,具体结合图2,可参见图7中对应的实施例描述方法。其中,图7是本发明实施例公开的又一种BH)控制报文的传输方法的流程示意图。图7中所示的第三系统为第一系统的备份系统,其可与第一系统共在同一物理设备中,即第一网络设备A中;也可分别独立存在不同的物理设备中,如图2所示第一系统包含在第一网络设备A中,第三系统包含在第三网络设备C中。本发明实施例结合图2以第一系统与第三系统分别存在于不同的网络设备中为例进行说明。
[0082]步骤S701,第一系统与第二系统建立BH)会话。
[0083]步骤S702,第一系统建立所述BH)会话后,向第三系统发送所述第一系统保存的所述BFD会话的会话参数。
[0084]步骤S703,第三系统在所述第三系统中保存所述BH)会话的会话参数。
[0085]在一个实施例中,当第一系统建立第一系统与第二系统的BH)会话的过程中,第一系统会在第一系统中保存该BFD会话对应的会话参数,同时,第一系统可将所保存的会话参数发送给第三系统,即第一系统的备份系统,从而当第一系统发生故障需要对第一系统进行备份链路转换时,第三系统能够代替第一系统与第二系统基于第三系统中所保存的会话参数维持上述第一系统与第二系统所建立的BH)会话,进而完成了对第一系统的备份链路转换。
[0086]步骤S704,所述第一系统在所述第一系统保存的所述BH)会话的会话参数中添加第二认证类型。
[0087]步骤S705,所述第一系统添加所述第二认证类型后,向所述第三系统发送配置指令,所述配置指令用于向所述第三系统保存的所述BFD会话的会话参数中添加所述第二认证类型。
[0088]步骤S706,所述第三系统在所述第三系统保存的BFD会话的会话参数中添加所述第二认证类型。
[0089]在一个实施例中,当第一系统添加第二认证类型后,表明第一系统进行了认证类型修改,则可将携带该第二认证类型的配置指令发送至第三系统,第三系统通过解析该配置指令可将其携带的第二认证类型添加至第三系统中所保存的该BFD会话的会话参数中。
[0090]步骤S707,所述第一系统删除所述第一认证类型后,向所述第三系统发送删除指令,所述删除指令用于删除所述第三系统中保存的所述BFD会话的会话参数中的所述第一认证类型。
[0091]需要说明的是,该删除指令用于指示第三系统删除第三系统中保存的上述BFD会话的会话参数中的第一认证类型。
[0092]步骤S708,所述第三系统删除所述第三系统中保存的所述BH)会话的会话参数中的所述第一认证类型。
[0093]在一个实施例中,当第一系统删除第一系统中保存的所述BFD会话的会话参数中的第一认证类型后,第一系统可向第三系统发送删除指令,该删除指令用于指示第三系统删除其保存的对应的第一认证类型。第三系统接收到该删除指令后,对应删除在第三系统内保存的该BFD会话的会话参数中的第一认证类型。进而第三系统中所保存的该BFD会话的会话参数实现与第一系统中所保存的该BFD会话的会话参数同步更新。
[0094]步骤S709,当所述第三系统检测到所述第一系统发生故障后,则所述第三系统向所述第二系统发送携带所述第二认证类型的BFD控制报文。
[0095]步骤S710,所述第三系统接收来自所述第二系统的携带所述第二认证类型的BFD控制报文。
[0096]在一个实施例中,当第一系统发生故障时,第三系统作为第一系统的备份系统,能够检测到第一系统发生故障,第三系统需要代替第一系统完成第一系统的备份链路转换,根据上述步骤,第三系统中保存的上述BH)会话的会话参数已实现与第一系统中保存的上述BFD会话的会话参数同步更新,即第三系统可代替第一系统维持与第二系统的BFD会话。
[0097]需要说明的是,第一系统发生故障前,由第一系统维持上述BH)会话;第一系统发生故障后,由第三系统维持上述BFD会话。也就是说,第三系统接管了第一系统的角色。
[0098]本发明实施例中维持BFD会话是指上述第一系统与第二系统的BFD会话建立后,两个系统根据BFD协议进行交互。该BFD会话是两个系统(第一系统与第二系统,或第三系统与第二系统)之间的BFD会话。
[0099]需要说明的是,第三系统代替第二系统维持上述BFD会话,可通知或不通知第二系统进行了系统更换,对于第二系统来说,检测链路故障的上述BFD会话仍在持续。因此,第三系统可向第二系统发送携带第二认证类型的BH)控制报文,当然也可接收第二系统发送的携带第二认证类型的BH)控制报文,即第三系统与第二系统可通过相互传输携带第二认证类型的BFD控制报文维持上述BFD会话的会话状态。
[0100]可选的,当第一系统在未接收到来自第二系统的携带第二认证类型的BH)控制报文时,第一系统与发生故障,第三系统此时在第三系统保存的会话参数中保存了第一认证类型与第二认证类型,第三系统通过发送携带第一认证类型的BH)控制报文及携带第二认证类型的BH)控制报文,与第二系统维持上述BFD会话,继续在时间周期内检测第二系统是否完成认证类型修改,若完成认证类型修改,则第三系统将第三系统中所保存的第一认证类型删除。
[0101]本方式通过同步更新第一系统的备份系统保存的第一系统与第二系统之间的BFD会话的会话参数,若第一系统发生故障,保证第三系统能够代替第一系统与第二系统维持之前第一系统与第二系统所建立的BH)会话,成功完成备份链路转换,以继续检测两系统或包含两系统的两设备间的链路故障。
[0102]请参阅图8,图8是本发明实施例公开的一种第一系统与第二系统传输BFD控制报文的交互时序示意图。图8中第一系统和/或第二系统的实施方式可结合上述图5?图7所示的实施例。图8详细描述了第一系统与第二系统在进行认证类型修改过程中处理BH)控制报文的方式。
[0103]具体的,第一系统与第二系统建立BH)会话,在建立该BFD会话期间,第一系统与第二系统分别在本系统内保存该BFD会话的会话参数,其中,该会话参数包括第一系统与第二系统传输BH)控制报文时所携带的第一认证类型。在第一系统与第二系统建立BH)会话后,互相传输BFD控制报文,在第一系统与第二系统均未进行认证类型修改时,互相传输BFD控制报文,该报文的会话状态为UP,并且携带第一认证类型,如图8所示,第一认证类型为KEYED MD5。
[0104]当第一系统进行认证类型修改后,在第一系统在第一系统所保存的所建立的BFD会话的会话参数中添加第二认证类型,如图8所示,第二认证类型为KEYED SHA1。此时,第一系统保存的BH)会话的会话参数中包括两种认证类型,即第一认证类型与第二认证类型。而第二系统尚未进行认证类型修改,此时,第二系统保存的BFD会话的会话参数中仅包括一种认证类型,即第一认证类型。第一系统向第二系统发送携带SHAl (第二认证类型)的BFD控制报文,与携带MD5(第一认证类型)的BFD控制报文,第二系统无法认证出携带SHAl的BFD控制报文,因此丢弃该BH)控制报文,第二系统能够认证出携带无认证的BFD控制报文,因此正常处理该报文。第二系统向第一系统发送携带MD5的BH)控制报文,第一系统能够接收处理第二系统发送的BFD控制报文,在此期间,第一系统与第二系统能够进行正常的BFD会话,即在BFD协议未因其他原由检测到两端系统之间的链路出现故障时,该BH)会话的会话状态为UP状态。
[0105]当第二系统进行认证类型修改后,第二系统在第二系统中保存的所建立的BFD会话的会话参数中添加了第二认证类型,如图8所示,第二认证类型为KEYED SHAl,此时第二系统中保存的该BH)会话的会话参数中存在两种认证类型,即第一认证类型与第二认证类型,因此,第二系统向第一系统发送有携带SHAI的Bro控制报文,以及携带MD 5的Bro控制报文,当第一系统接收到携带SHAl的BFD控制报文后,可将第一系统中保存的会话参数中的第一认证类型删除,若在此之后,接收到第二系统发送的携带MD5的BH)控制报文时,可丢弃该报文,此后,第一系统仅向第二系统发送携带第二认证类型(SHAl)的BFD控制报文。同理,第二系统在接收到第一系统发送的携带SHAl的BFD控制报文时,能够对其进行处理,并可将所保存的第一认证类型删除。从而当接收到第一系统发送的携带SHAl的BFD控制报文时可进行接收处理,接收到携带MD5的BH)控制报文时可丢弃。自此,第一系统与第二系统能够互相传输携带SHAl认证类型的BFD控制报文。
[0106]本发明实施例中,在两端认证类型修改期间,可保证正常的BH)会话以检测第一系统与第二系统之间的链路中是否存在链路故障。
[0107]下面结合附图描述本发明实施例用于实现以上方法的装置。
[0108]请参阅图9,图9是本发明实施例公开的一种第一系统的结构示意图。该第一系统900可包括建立单元901、添加单元902、发送单元903。通过以上单元,可实现上述实施例中第一系统执行的方法。
[0109]其中,建立单元901,用于建立与第二系统之间的BH)会话,所述第二系统是所述第一系统的远端系统,所述BFD会话的认证类型包括第一认证类型;
[0110]添加单元902,用于所述建立单元901建立所述BFD会话后,在所述第一系统保存的所述BFD会话的会话参数中添加第二认证类型;
[0111]发送单元903,用于所述添加单元902添加所述第二认证类型后,所述第一系统的定时器超时时,向所述第二系统发送携带所述第一认证类型的第一 BH)控制报文及携带所述第二认证类型的第二 BH)控制报文,所述第一 BH)控制报文及所述第二 BFD控制报文在所述第二系统的同一个检测周期内被所述第二系统接收到。
[0112]本发明实施例中,建立单元901用于执行图5所示的实施例中步骤S501中的方法;添加单元902用于执行图5所示的实施例中步骤S502中的方法;发送单元903用于执行图5所示的实施例中步骤S503中的方法。
[0113]可选的,第一系统900还可包括第一确定单元904、删除单元905、第二确定单元906、修改单元907。
[0114]其中,第一确定单元904,用于确定所述添加单元902从所述添加单元添加所述第二认证类型开始的时间周期内接收到来自所述第二系统的携带所述第二认证类型的BH)控制报文;
[0115]删除单元905,用于第一确定单元904确定接收到来自所述第二系统的携带所述第二认证类型的BFD控制报文,则删除所述第一系统保存的所述BH)会话的会话参数中的所述第一认证类型。
[0116]第二确定单元906,用于确定所述第一系统从所述添加单元添加所述第二认证类型开始的时间周期内没有接收到来自所述第二系统的携带所述第二认证类型的BH)控制报文;
[0117]可选的,第二确定单元906,还用于确定所述第一系统在所述时间周期内接收到来自所述第二系统的第三BFD控制报文没有携带所述第二认证类型;
[0118]所述第二确定单元906包括:
[0119]第一确定单元,用于确定所述第三BH)控制报文中的密钥标识是否与所述第一系统的保存的密钥集中的密钥匹配;
[0120]第二确定单元,用于若所述第一确定单元确定出所述密钥标识与所述密钥集中的密钥匹配,则基于所述第二认证类型确定认证算法;
[0121]第三确定单元,用于确定基于所述匹配的密钥及所述认证算法生成的认证材料是否与所述第三BFD控制报文携带的认证材料一致;
[0122]第四确定单元,用于若所述第三确定单元确定出所述生成的认证材料与所述第三BFD控制报文携带的认证材料不匹配,则确定所述第三BH)控制报文中没有携带所述第二认证类型;
[0123]修改单元907,用于当所述第二确定单元906确定出没有接收到来自所述第二系统的携带所述第二认证类型的BH)控制报文后,将所述第一系统维护的所述BFD会话的会话状态修改为故障状态。
[0124]本发明实施例中,第一确定单元904与第二确定单元906及第二确定单元包括的第一至第四确定单元用于执行图6所示的实施例中步骤S601;删除单元905用于执行图6所示的实施例中步骤S602;修改单元907用于执行图6所示的实施例中步骤S603。
[0125]可选的,发送单元903,还用于所述添加单元902在所述第一系统保存的所述BFD会话的会话参数中添加第二认证类型后,向第三系统发送配置指令,所述第三系统是所述第一系统的备份系统,若所述BH)会话的会话状态为故障状态,由所述第三系统建立与所述第二系统的新BH)会话,所述配置指令用于向所述第三系统保存的所述BH)会话的会话参数中添加所述第二认证类型;
[0126]所述发送单元903,还用于所述删除单元907删除所述第一系统保存的所述BFD会话的会话参数中的所述第一认证类型后,向第三系统发送删除指令,所述第三系统是所述第一系统的备份系统,所述删除指令用于删除所述第三系统中保存的所述BH)会话的会话参数中的所述第一认证类型。
[0127]本发明实施例中,发送单元903可用于执行图7所示实施例中步骤S704;发送单元903还可用于执行图7所示实施例中步骤S706。
[0128]本发明实施例中,以上发送单元903可以通过第一系统900的通信接口发送指令或BFD控制报文,当然,该第一系统900还可包括接收单元,接收单元可以通过第一系统900的通信接口接收指令或BFD控制报文。该通信接口例如为有线接口,当然也可以为无线接口。
[0129]请参阅图10,图10是本发明实施例公开的一种第二系统的结构示意图。该第二系统1000可包括建立单元1001与接收单元1002。
[0130]其中,建立单元1001,用于建立第一系统与所述第二系统之间的BH)会话,所述BFD会话的认证类型包括第一认证类型;
[0131]接收单元1002,用于在所述第二系统的同一检测周期内接收来自所述第一系统的携带所述第一认证类型的第一 BFD控制报文及携带第二认证类型的第二 BFD控制报文。
[0132]本发明实施例中,建立单元1001可用于执行图5所示的实施例中步骤S501,接收单元1002可用于执行图5所示的实施例中步骤S504。
[0133]本发明实施例中,以上接收单元1002可以通过第二系统1000的通信接口接收指令或BFD控制报文,当然,该第二系统1000还可包括发送单元,发送单元可以通过第二系统1000的通信接口发送指令或BFD控制报文。该通信接口例如为有线接口,当然也可以为无线接口。
[0134]请参阅图11,图11是本发明实施例公开的一种第三系统的结构示意图。该第三系统1100可包括接收单元1101、保存单元1102、添加单元1103、删除单元1104、建立单元1105及发送单元1106。
[0135]其中,接收单元1101,用于接收来自第一系统的信息或指令;
[0136]保存单元1102,用于所述接收单元1101接收来自第一系统的会话参数信息时,保存所述会话参数,其中,所述会话参数中包括第一认证类型;
[0137]添加单元1103,用于所述接收单元1101接收到来自所述第一系统的配置指令时,将所述配置指令中的第二认证类型添加至所述保存单元1102保存的所述会话参数中;
[0138]删除单元1104,用于所述接收单元1101接收到来自所述第一系统的删除指令后,将所述会话参数中的所述第一认证类型删除;
[0139]建立单元1105,当所述第一系统与第二系统之间的BH)会话的会话状态为DOWN状态,则建立与所述第二系统的新BFD会话。
[0140]发送单元1106,用于所述建立单元1105建立所述新BFD会话后,向所述第二系统发送携带所述第二认证类型的BFD控制报文。
[0141]本发明实施例中,保存单元1102可用于执行图7所示的实施例中步骤S703;添加单元1103可用于执行图7所示的实施例中步骤S706;删除单元1104可用于执行图7所示的实施例中步骤S708 ;建立单元1105可用于执行图7所示的实施例中步骤S709 ;发送单元1106可用于执行图7所示的实施例中步骤S710。
[0142]本发明实施例中,以上接收单元1101可以通过第三系统1100的通信接口接收指令或BFD控制报文,发送单元1106可以通过第三系统1100的通信接口发送指令或BFD控制报文。该通信接口例如为有线接口,当然也可以为无线接口。
[0143]需要说明的是,第一系统、第二系统与第三系统可包括相同的功能单元,图9、图10以及图11中所示的功能单元在系统中互为补充,为区别各系统的功能执行重点,在图9、图10及图11中仅画出需要说明的功能单元,其他相同的功能单元并未全部画出。
[0144]参照以上实施例,图9所示实施例中的第一系统900、图10所示实施例中的第二系统1000、图11所示实施例中的第三系统1100是以单元的形式来呈现。这里的“单元”可以指特定应用集成电路(applicat1n-specific integrated circuit ,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。
[0145]在一个简单的实施例中,本领域的技术人员可以想到图9所示的第一系统900可以采用以下图12所示的形式。
[0146]如图12所示,第一系统可以图12中的结构来实现,该第一系统1200包括至少一个处理器1201,至少一个存储器1202、至少一个通信接口 1203。此外,该第一系统还可以包括天线等通用部件,在此不再详述。
[0147]其中,存储器1202用于存储程序代码,处理器1201可调用存储器中存储的程序代码,以执行以下步骤:
[0148]建立所述第一系统与第二系统之间的BH)会话,所述第二系统是所述第一系统的远端系统,所述BFD会话的认证类型包括第一认证类型;
[OH9]建立所述BFD会话后,在所述第一系统保存的所述BFD会话的会话参数中添加第二认证类型;
[0150]添加所述第二认证类型后,所述第一系统的定时器超时时,向所述第二系统发送携带所述第一认证类型的第一 BFD控制报文及携带所述第二认证类型的第二 BFD控制报文,所述第一 BH)控制报文及所述第二 BFD控制报文在所述第二系统的同一个检测周期内被所述第二系统接收到。
[0151]本发明实施例中,处理器1201可以是通用中央处理器(CPU),微处理器,特定应用集成电路(applicat1n-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。处理器1201可用于执行上述图5所示实施例(方法实施例)中步骤S501?S503,处理器1201还可用于执行上述图6所示实施例中步骤S601?S603;处理器1201还可用于执行上述图7所示实施例中步骤S704及S706;或者,处理器1201可用于执行上述图9所示实施例中建立单元901、添加单元902、发送单元903、第一确定单元904、删除单元905、第二确定单元906、修改单元907的功能。
[0152]通信接口1203,用于与本网络设备中的其他系统或其他网络设备中的系统通信,本发明实施例中通信接口可支持多种网络通信协议或标准。
[0153]存储器1202可以是只读存储器(read-only memory,R0M)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPR0M)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1202可以是独立存在,通过总线与处理器1201相连接。存储器1202也可以和处理器1201集成在一起。
[0154]在一个简单的实施例中,本领域的技术人员可以想到图10所示的第二系统1000可以采用以下图13所示的形式。
[0155]如图13所示,第二系统可以图13中的结构来实现,该第二系统1300包括至少一个处理器1301,至少一个存储器1302、至少一个通信接口 1303。此外,该第二系统还可以包括天线等通用部件,在此不再详述。
[0156]其中,存储器1302用于存储程序代码,处理器1301可调用存储器中存储的程序代码,以执行以下步骤:
[0157]建立第一系统与所述第二系统之间的BH)会话,所述BFD会话的认证类型包括第一认证类型;
[0158]在所述第二系统的同一检测周期内接收来自所述第一系统的携带所述第一认证类型的第一 BFD控制报文及携带第二认证类型的第二 BFD控制报文。
[0159]本发明实施例中,处理器1301可以是通用中央处理器(CPU),微处理器,特定应用集成电路(applicat1n-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。处理器1301可用于执行上述图5所示实施例(方法实施例)中步骤S501及步骤S504;或者,处理器1301可用于执行上述图10所示实施例中建立单元1001及接收单元1002的功能。
[0160]通信接口1303,用于与本网络设备中的其他系统或其他网络设备中的系统通信,本发明实施例中通信接口可支持多种网络通信协议或标准。
[0161]存储器1302可以是只读存储器(read-only memory,R0M)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPR0M)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1302可以是独立存在,通过总线与处理器1101相连接。存储器1302也可以和处理器1301集成在一起。
[0162]在一个简单的实施例中,本领域的技术人员可以想到图11所示的第三系统1100可以采用以下图14所示的形式。
[0163]如图14所示,第二系统可以图14中的结构来实现,该第二系统1400包括至少一个处理器1401,至少一个存储器1402、至少一个通信接口 1403。此外,该第二系统还可以包括天线等通用部件,在此不再详述。
[0164]其中,存储器1402用于存储程序代码,处理器1401可调用存储器中存储的程序代码,以执行以下步骤:
[0165]接收来自第一系统的信息或指令;
[0166]接收到来自所述第一系统的配置指令后,将所述配置指令中的第二认证类型添加至保存的所述会话参数中;
[0167]接收到来自所述第一系统的删除指令后,将所述会话参数中的所述第一认证类型删除。
[0168]本发明实施例中,处理器1401可以是通用中央处理器(CPU),微处理器,特定应用集成电路(applicat1n-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。处理器1401可用于执行上述图7所示实施例(方法实施例)中步骤3703、3706、3708?3710;或者,处理器1401可用于执行上述图11所示实施例中接收单元1101、保存单元1102、添加单元1103、删除单元1104、建立单元1105及发送单元1106的功會K。
[0169]通信接口1403,用于与本网络设备中的其他系统或其他网络设备中的系统通信,本发明实施例中通信接口可支持多种网络通信协议或标准。
[0170]存储器1402可以是只读存储器(read-only memory,R0M)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPR0M)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1402可以是独立存在,通过总线与处理器1101相连接。存储器1402也可以和处理器1401集成在一起。
[0171]需要说明的是,图12、图13、图14中的处理器所执行的功能或方法步骤可相同,上述各图中描述的处理器所执行的功能或方法步骤可互为补充。
[0172]本发明实施例还提供了一种计算机存储介质,用于储存为上述第一系统所用的计算机软件指令,其包含用于执行上述方法实施例所涉及的计算机程序。
[0173]本发明实施例还提供了一种计算机存储介质,用于储存为上述第二系统所用的计算机软件指令,其包含用于执行上述方法实施例所涉及的计算机程序。
[0174]本发明实施例还提供了一种计算机存储介质,用于储存为上述三系统所用的计算机软件指令,其包含用于执行上述方法实施例所涉及的计算机程序。
[0175]尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)—词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
[0176]本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。
[0177]本发明是参照本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0178]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0179]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0180]尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【主权项】
1.一种双向转发检测BFD控制报文的传输方法,其特征在于,所述方法包括: 第一系统建立所述第一系统与第二系统之间的BFD会话,所述第二系统是所述第一系统的远端系统,所述BFD会话的认证类型包括第一认证类型; 所述第一系统建立所述BFD会话后,在所述第一系统保存的所述BFD会话的会话参数中添加第二认证类型; 所述第一系统添加所述第二认证类型后,所述第一系统的定时器超时时,向所述第二系统发送携带所述第一认证类型的第一 BH)控制报文及携带所述第二认证类型的第二 BFD控制报文,所述第一 BH)控制报文及所述第二 BH)控制报文在所述第二系统的同一个检测周期内被所述第二系统接收到。2.如权利要求1所述方法,其特征在于,所述方法还包括:若所述第一系统确定所述第一系统从添加所述第二认证类型开始的时间周期内没有接收到来自所述第二系统的携带所述第二认证类型的BH)控制报文,则将所述第一系统维护的所述BFD会话的会话状态修改为故障状态。3.如权利要求2所述方法,其特征在于,所述第一系统确定所述第一系统在所述时间周期内没有接收到来自所述第二系统的携带所述第二认证类型的BFD控制报文包括: 所述第一系统确定所述第一系统在所述时间周期内接收到来自所述第二系统的第三BFD控制报文没有携带所述第二认证类型; 所述第一系统确定所述第一系统在所述时间周期内接收到来自所述第二系统的第三BFD控制报文没有携带所述第二认证类型包括: 所述第一系统确定所述第三BH)控制报文中的密钥标识是否与所述第一系统的保存的密钥集中的密钥匹配; 若所述密钥标识与所述密钥集中的密钥匹配,则所述第一系统基于所述第二认证类型确定认证算法; 所述第一系统确定基于所述匹配的密钥及所述认证算法生成的认证材料是否与所述第三BFD控制报文携带的认证材料一致; 若所述生成的认证材料与所述第三BFD控制报文携带的认证材料不一致,则所述第一系统确定所述第三BFD控制报文中没有携带所述第二认证类型。4.如权利要求3所述方法,其特征在于, 若所述密钥标识与所述密钥集中的密钥匹配,则所述第一系统基于所述第二认证类型确定认证算法包括: 若所述密钥标识与所述密钥集中的密钥匹配,并且所述第三BFD控制报文携带的认证类型与所述第二认证类型一致,则所述第一系统基于所述第二认证类型确定所述认证算法。5.如权利要求1所述方法,其特征在于,所述方法还包括: 若所述第一系统确定所述第一系统从添加所述第二认证类型开始的时间周期内接收到携带所述第二认证类型的BH)控制报文,则所述第一系统删除所述第一系统保存的所述BFD会话的会话参数中的所述第一认证类型。6.如权利要求1-5任一项所述方法,其特征在于,在所述第一系统保存的所述BH)会话的会话参数中添加第二认证类型后,所述方法还包括: 所述第一系统向第三系统发送配置指令,所述第三系统是所述第一系统的备份系统,所述配置指令用于向所述第三系统保存的所述BH)会话的会话参数中添加所述第二认证类型,所述第三系统用于当所述第一系统发生故障,代替所述第一系统维持所述BFD会话。7.如权利要求5述方法,其特征在于,在所述第一系统删除所述第一系统保存的所述BFD会话的会话参数中的所述第一认证类型后,所述方法还包括: 所述第一系统向第三系统发送删除指令,所述第三系统是所述第一系统的备份系统,所述删除指令用于删除所述第三系统中保存的所述BFD会话的会话参数中的所述第一认证类型。8.一种第一系统,其特征在于,包括: 建立单元,用于建立与第二系统之间的双向转发检测BFD会话,所述第二系统是所述第一系统的远端系统,所述BFD会话的认证类型包括第一认证类型; 添加单元,用于所述建立单元建立所述BH)会话后,在所述第一系统保存的所述BFD会话的会话参数中添加第二认证类型; 发送单元,用于所述添加单元添加所述第二认证类型后,所述第一系统的定时器超时时,向所述第二系统发送携带所述第一认证类型的第一BFD控制报文及携带所述第二认证类型的第二 BH)控制报文,所述第一 BFD控制报文及所述第二 BH)控制报文在所述第二系统的同一个检测周期内被所述第二系统接收到。9.如权利要求8所述第一系统,其特征在于,所述第一系统还包括: 确定单元,用于确定所述添加单元从所述添加单元添加所述第二认证类型开始的时间周期内没有接收到来自所述第二系统的携带所述第二认证类型的BFD控制报文; 修改单元,用于当所述确定单元确定出没有接收到来自所述第二系统的携带所述第二认证类型的BH)控制报文后,将所述第一系统维护的所述BH)会话的会话状态修改为故障状??τ O10.如权利要求9所述第一系统,其特征在于,所述确定单元还用于: 确定所述第一系统在所述时间周期内接收到来自所述第二系统的第三BH)控制报文没有携带所述第二认证类型; 所述确定单元包括: 第一确定单元,用于确定所述第三BFD控制报文中的密钥标识是否与所述第一系统的保存的密钥集中的密钥匹配; 第二确定单元,用于若所述第一确定单元确定出所述密钥标识与所述密钥集中的密钥匹配,则基于所述第二认证类型确定认证算法; 第三确定单元,用于确定基于所述匹配的密钥及所述认证算法生成的认证材料是否与所述第三BFD控制报文携带的认证材料一致; 第四确定单元,用于若所述第三确定单元确定出所述生成的认证材料与所述第三BFD控制报文携带的认证材料不匹配,则确定所述第三BFD控制报文中没有携带所述第二认证类型。11.如权利要求10所述第一系统,其特征在于,所述第二确定单元还用于: 若所述密钥标识与所述密钥集中的密钥匹配,并且所述第三BFD控制报文携带的认证类型与所述第二认证类型一致,则基于所述第二认证类型确定所述认证算法。12.如权利要求8所述第一系统,其特征在于,所述第一系统还包括: 删除单元,用于若所述第一系统确定所述第一系统从添加所述第二认证类型开始的时间周期内接收到携带所述第二认证类型的BH)控制报文,则删除所述第一系统保存的所述BFD会话的会话参数中的所述第一认证类型。13.如权利要求8-12任一项所述第一系统,其特征在于,所述发送单元还用于: 所述添加单元在所述第一系统保存的所述BFD会话的会话参数中添加第二认证类型后,向第三系统发送配置指令,所述第三系统是所述第一系统的备份系统,所述配置指令用于向所述第三系统保存的所述BH)会话的会话参数中添加所述第二认证类型,所述第三系统用于当所述第一系统发生故障,代替所述第一系统维持所述BFD会话。14.如权利要求12所述第一系统,其特征在于,所述发送单元还用于: 所述删除单元删除所述第一系统保存的所述BH)会话的会话参数中的所述第一认证类型后,向第三系统发送删除指令,所述第三系统是所述第一系统的备份系统,所述删除指令用于删除所述第三系统中保存的所述BFD会话的会话参数中的所述第一认证类型。
【文档编号】H04L29/06GK105847056SQ201610178159
【公开日】2016年8月10日
【申请日】2016年3月25日
【发明人】秦韵
【申请人】华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1