双向转发检测BFD报文的发送方法及装置与流程

文档序号:12375670阅读:398来源:国知局
双向转发检测BFD报文的发送方法及装置与流程

本发明涉及通信领域,具体而言,涉及一种双向转发检测BFD报文的发送方法及装置。



背景技术:

双向转发检测(Bidirectional Forwarding Detection简称为BFD)协议提供了一个通用的标准化的介质无关和协议无关的快速故障检测机制。

BFD在两台网络设备上建立会话,用来检测网络设备间的双向转发路径,为上层应用服务。BFD本身并没有邻居发现机制,而是靠被服务的上层应用通知其邻居信息以建立会话。会话建立后会周期性地快速发送检测报文,如果在检测时间内没有收到BFD报文,则认为该双向转发路径发生了故障,通知被服务的上层应用进行相应的处理。

BFD正常工作时,会话的状态为UP,表示链路为稳定状态。BFD会话在UP状态时,会按照配置的间隔发送检测报文。每当双方设备收到BFD检测报文时,就会重置检测时间定时器,保持会话UP状态。如果在检测时间内没有收到BFD检测报文,则认为链路可能发生了故障,BFD会话会迁移到DOWN状态。

BFD需要在两台设备上配置,假设两台设备分别为A和B,BFD当前正常保持UP状态。当用户在B设备上删除会话操作时,会同时发生如下两个事件:

1、B设备立刻停止发送检测报文;

2、B设备在删除会话时,会向A设备会发送一个状态值置为ADMINDOWN的BFD控制报文。此报文为协议报文,目的是通知A设备删除会话;A设备收到此报文后,会直接将BFD会话删除。

假设A和B设备BFD的检测时间为t1,由于删除时,B设备立刻停止发送检测报文,A设备在t1时间内若未收到B发来的检测报文,则A设备的BFD就会报检测DOWN。与此同时,B设备发送ADMINDOWN协议报文到达A,A设备收到该报文进行处理并且将该条BFD删除的时间为t2。若t1>t2,ADMINDOWN先处理完,则会话可以正常删除,没有问题;若t1<t2,则BFD会认为是检测DOWN,认为该链路发生故障,BFD关联到业务时,会将流量迅速切换到备份链路。因此,在删除远端会话时,如果不迅速处理ADMINDOWN这种报文,提高处理效率,在链路并无故障的情况下,会导致 主备链路误切。

在分布式架构中,设备分为主控和线卡,图1是相关技术中主控和线卡BFD会话的示意图,如图1所示,协议栈均建在主控上,主控还负责所有在线线卡的管理;而线卡负责接收和发送报文。线卡从端口收到报文,解析器解析为协议报文后,均需要送给主控处理,BFD保活报文则送给BFD定时器处理。在网络配置比较多的情况下,主控经常会遇到CPU比较忙的情况,往往在处理别的优先级更高的协议,或者其他线卡的管理,对BFD协议报文往往不能实时处理,不能及时通知线卡删除BFD会话。若不能及时响应BFD的ADMINDOWN报文而删除会话,超过检测周期后会产生BFD报检测DOWN,则会导致误切。这种情况往往会出现在网络可靠性要求很高的网络上,BFD检测周期配置一般都比较短,则更容易产生这种情况。

因此,相关技术中的上送主控处理这种方式处理BFD报文时,无法保证及时正确处理相应的BFD报文,容易发生误切。针对相关技术中上述问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明的主要目的在于提供一种双向转发检测BFD报文的发送方法及装置,以至少解决相关技术中对于BFD报文的处理容易发生误处理的问题。

根据本发明的一个方面,提供了一种双向转发检测BFD报文的发送方法,包括:在双向转发检测BFD会话建立时,分布式系统中的线卡解析出接收到的BFD报文的类型;所述线卡激活与所述类型相对应的定时器;在所述定时器超时,所述线卡向分布式系统中的主控发送与所述定时器对应的BFD报文。

进一步地,所述BFD报文类型包括:用于删除BFD会话的ADMINDOWN报文和除ADMINDOWN报文以外的其他报文。

进一步地,在所述报文为所述ADMINDOWN报文时,所述线卡激活与所述类型中指定报文对应的定时器包括:所述线卡激活与所述ADMINDOWN报文对应的第一定时器,其中,所述第一定时器的定时时间小于与除ADMINDOWN报文以外的其他报文对应的第二定时器的定时时间。

进一步地,在所述线卡向分布式系统中的主控发送与所述定时器对应的BFD报文之前,所述方法还包括:屏蔽所述第二定时器。

进一步地,在所述定时器超时,所述线卡向分布式系统中的主控发送与所述定时器对应的BFD报文包括:在所述第一定时器超时,所述线卡向所述分布式系统中的主控发送所述ADMINDOWN报文。

根据本发明的另一个方面,提供了一种双向转发检测BFD报文的发送装置,位于分布式系统中的线卡测,包括:解析模块,用于在双向转发检测BFD会话建立时,解析出接收到的BFD报文的类型;激活模块,用于激活与所述类型相对应的定时器;发送模块,用于在所述定时器超时,向分布式系统中的主控发送与所述定时器对应的BFD报文。

进一步地,所述BFD报文类型包括:用于删除BFD会话的ADMINDOWN报文和除ADMINDOWN报文以外的其他报文。

进一步地,在所述报文为所述ADMINDOWN报文时;所述激活模块,还用于激活与所述ADMINDOWN报文对应的第一定时器,其中,所述第一定时器的定时时间小于与除ADMINDOWN报文以外的其他报文对应的第二定时器的定时时间。

进一步地,在所述线卡向分布式系统中的主控发送与所述定时器对应的BFD报文之前,所述装置还包括:屏蔽模块,用于屏蔽所述第二定时器。

进一步地,所述发送模块,还用于在所述第一定时器超时,所述线卡向所述分布式系统中的主控发送所述ADMINDOWN报文。

在本发明中,采用在双向转发检测BFD会话建立时,根据分布式系统中的线卡解析出接收到的BFD报文的类型,激活与报文类型相对应的定时器,在相应的定时器超时时,线卡向分布式系统中的主控发送与定时器对应的BFD报文的方式,解决了相关技术中BFD报文的处理容易发生误处理的问题,填补了相关技术的空白。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是相关技术中主控和线卡BFD会话的示意图;

图2是根据本发明实施例的双向转发检测BFD报文的发送方法的流程图;

图3是根据本发明实施例的双向转发检测BFD报文的发送装置的结构框图;

图4是根据本发明实施例的双向转发检测BFD报文的发送装置的可选结构框图一;

图5是根据本发明可选实施例的改进BFD删除时误报DOWN而导致误切的系统框架图;

图6是根据本发明实施例的改进BFD删除时误报DOWN而导致误切方法的流程图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

本实施例提供了一种双向转发检测BFD报文的发送方法,图2是根据本发明实施例的双向转发检测BFD报文的发送方法的流程图,如图2所示,该方法的步骤包括:

步骤S202:在双向转发检测BFD会话建立时,分布式系统中的线卡解析出接收到的BFD报文的类型;

步骤S204:线卡激活与类型相对应的定时器;

步骤S206:在定时器超时,线卡向分布式系统中的主控发送与定时器对应的BFD报文。

通过本实施例中的步骤S202至步骤S206,采用在双向转发检测BFD会话建立时,根据分布式系统中的线卡解析出接收到的BFD报文的类型,激活与报文类型相对应的定时器,在相应的定时器超时时,线卡向分布式系统中的主控发送与定时器对应的BFD报文的方式,解决了相关技术中BFD报文的处理容易发生误处理的问题,填补了相关技术的空白。

对于本实施例中涉及到得BFD报文类型可以包括:用于删除BFD会话的ADMINDOWN报文和除ADMINDOWN报文以外的其他报文。

而在报文为ADMINDOWN报文时,本实施例步骤S204中的线卡激活与类型中指定报文对应的定时器的方式,在本实施例的一个可选实施方式中可以通过如下方式来实现:线卡激活与ADMINDOWN报文对应的第一定时器,其中,第一定时器的定时时间小于与除ADMINDOWN报文以外的其他报文对应的第二定时器的定时时间。

也就是说,在BFD报文中有ADMINDOWN报文时,激活与该ADMINDOWN报文对应的第一定时器,由于该第一计时器的定时时间小于除ADMINDOWN报文以外的其他报文对应的第二计时器的定时时间,使得可以及时处理ADMINDOWN报文,及通知主控删除该BFD会话。

为了更好的及时处理ADMINDOWN报文,在本实施例的另一个可选实施方式中,在线卡向分布式系统中的主控发送与定时器对应的BFD报文之前,本实 施例的方法还可以包括:屏蔽第二定时器。通过该方式,防止了第二定时器超时,更加确保了能够及时处理ADMINDOWN报文。

可选地,对于本实施例的中步骤S206中的,在定时器超时,线卡向分布式系统中的主控发送与定时器对应的BFD报文的方式,可以通过如下方式来实现包括:在第一定时器超时,线卡向分布式系统中的主控发送ADMINDOWN报文。

在本实施例中还提供了一种双向转发检测BFD报文的发送装置,该装置用于实现上述实施例及可选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图3是根据本发明实施例的双向转发检测BFD报文的发送装置的结构框图,如图3所示,该装置位于分布式系统中的线卡测,该装置包括:解析模块32,用于解析出接收到的双向转发检测BFD报文的类型;激活模块34,与解析模块32耦合连接,用于激活与类型相对应的定时器;发送模块36,与激活模块34耦合连接,用于在定时器超时,向分布式系统中的主控发送与定时器对应的BFD报文。

可选地,BFD报文包括:用于删除BFD会话的ADMINDOWN报文和除ADMINDOWN报文以外的其他报文。

可选地,在报文为ADMINDOWN报文时,该激活模块34,还用于激活与ADMINDOWN报文对应的第一定时器,其中,第一定时器的定时时间小于与除ADMINDOWN报文以外的其他报文对应的第二定时器的定时时间。

可选地,该发送模块36,还用于在第一定时器超时,线卡向分布式系统中的主控发送ADMINDOWN报文。

图4是根据本发明实施例的双向转发检测BFD报文的发送装置的可选结构框图一,如图4所示,在线卡向分布式系统中的主控发送与定时器对应的BFD报文之前,该装置还包括:屏蔽模块42,与发送模块36耦合连接,用于屏蔽第二定时器。

下面结合本发明实施例的可选实施例对本发明进行举例说明;

本可选实施例提供了一种改进BFD删除时误报DOWN而导致误切的方法及相应系统,图5是根据本发明可选实施例的改进BFD删除时误报DOWN而导致误切的系统框架图,如图5所示,该系统包括:

解析器501,用于报文到达线卡接口后,进入解析器中解析报文,并解析出报文的类型,对报文进行不同的处理。该解析器501能够解析出普通BFD检测 报文和BFD ADMINDOWN报文。

BFD定时器502,用于在BFD会话建立时创建,经过解析器501解析出的每个普通检测报文,都会送到BFD定时器502,进行复位等操作。

超短定时器503,用于在被解析器501解析出为ADMINDOWN的报文时激活该超短定时器503,此时超短定时器就会立刻开始计时,其中,超短定时器的时间远远低于BFD定时器的时间。由于时间远远短于BFD定时器,因此可以立即超时。激活该超短定时器503的同时会屏蔽BFD定时器502。

主控协议栈504,用于在超短定时器503超时后,会通知主控协议栈,主控协议栈会下发线卡的删除操作。

图6是根据本发明实施例的改进BFD删除时误报DOWN而导致误切方法的流程图,如图6所示,该方法的步骤包括:

步骤S602:报文解析;在解析出为ADMINDOWN报文时,执行步骤S604,在解析出为其他普通报文时,执行步骤S612;

其中,报文到达线卡接口后,解析出报文的类型,对报文进行不同的处理。该模块需要能够解析出普通BFD检测报文和BFD ADMINDOWN报文;

步骤S604:解析出为BFD ADMINDOWN报文激活超短定时器;

步骤S606:屏蔽BFD定时器,以防止BFD定时器超时;

步骤S608:被激活的超短定时器超时后,通知主控协议栈删除会话;

步骤S610:超短定时器任务完成;

步骤S612:BFD正常检测报文;

步骤S614:BFD定时器被屏蔽,超时后不做任何操作;

步骤S616:普通流程完成。

相关技术中是将协议报文上送主控,由主控的BFD协议栈下发删除。本可选实施例不需要将报文上送主控协议栈处理,而是在线卡上直接处理这种特殊的协议报文。线卡上不需要建立协议栈,而是在会话创建时,除了本来应该创建的BFD会话定时器(对应于第二定时器)之外,再创建另一个较短周期的定时器(对应于第一定时器),此定时器的时间设置远远低于会话本身的检测周期。当线卡收到BFD报文后,经过解析器解析出ADMINDOWN报文后,激活该定时器,并且屏蔽本来会话的定时器,这样本来会话就不会误报DOWN,在该超短定时器的超时事件时,通知协议层面删除会话。

在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。

在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。

显然,本领域的技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

上述仅为本发明的可选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1