CN112367255B - 一种bfd会话处理方法、装置、存储介质及路由设备 - Google Patents
一种bfd会话处理方法、装置、存储介质及路由设备 Download PDFInfo
- Publication number
- CN112367255B CN112367255B CN202011027600.9A CN202011027600A CN112367255B CN 112367255 B CN112367255 B CN 112367255B CN 202011027600 A CN202011027600 A CN 202011027600A CN 112367255 B CN112367255 B CN 112367255B
- Authority
- CN
- China
- Prior art keywords
- bfd session
- packet sending
- routing device
- detection
- sending interval
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/124—Shortest path evaluation using a combination of metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种BFD会话处理方法、装置、存储介质及路由设备,应用于第一路由设备,该方法包括:当与第二路由设备利用双向转发检测BFD会话建立通信时,检测预先配置的自身的BFD会话参数及所述第二路由设备的BFD会话参数;根据BFD会话参数生成发包间隔以及检测超时时间;在与第二路由设备进行BFD会话参数协商过程中,分别判断发包间隔和/或检测超时时间是否支持硬件维护;当发包间隔和/或检测超时时间支持硬件维护时,则使用硬件维护所述发包间隔和/或检测超时时间;当发包间隔或检测超时时间不支持硬件维护时,则使用软件维护发包间隔或检测超时时间。因此,采用本申请实施例,降低了对端会话检测超时和会话震荡发生的概率。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种BFD会话处理方法、装置、存储介质及路由设备。
背景技术
BFD(Bidirectional Forwarding Detection,双向转发检测)是一个通用的、标准化的、介质无关和协议无关的快速故障检测机制,用于检测转发路径的连通状况。通常路由协议,如OSPF/IS-IS/BGP,采用Hello报文机制检测故障,所需时间是秒级。而BFD可以为它们提供毫秒级的检测,快速检测到通信故障,以便切换到备用链路,保证业务持续运行。
随着高性能路由器大单机、多集群的发展,整个系统支持的链路数量越来越多,就需要更多的BFD会话来快速感知到链路故障,因此对BFD会话的规格提出了新的要求。BFD会话的定时发包和检测超时功能,从CPU单核处理、CPU多核处理,发展到使用硬件NP(NetworkProcessor,网络处理器)芯片处理。
在当前BFD会话中,由于NP芯片的RTC(Real Time Clock,实时时钟)资源和Watchdog Counters(看门狗计数器)资源有限,并不是所有类型的BFD会话都支持硬件维护。一些常用的发包间隔、检测超时时间使用硬件维护,其他情况继续使用CPU软件维护。CPU软件处理的性能是相当受限的,当批量建立大规格硬件BFD会话时,先采用慢协商机制,BFD会话会先使用较大的发包间隔和收包间隔协商,慢慢过渡到使用配置值来协商。一般只有最后协商的发包间隔和检测超时时间同时支持硬件维护,这就导致中间协商的过程全是软件CPU处理的。当批量建立大规格BFD会话时,CPU突发压力大,常常会由于CPU发包不及时导致对端会话检测超时、BFD会话震荡。
发明内容
本申请实施例提供了一种BFD会话处理方法、装置、存储介质及路由设备。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
第一方面,本申请实施例提供了一种BFD会话处理方法,应用于第一路由设备,该方法包括:
当与第二路由设备利用双向转发检测BFD会话建立通信时,检测预先配置的自身的BFD会话参数及所述第二路由设备的BFD会话参数,所述自身的BFD会话参数包括第一最小发包间隔,所述第二路由设备的BFD会话参数包括第二最小发包间隔、第二最小收包间隔以及第二连续丢包数;
根据所述第一最小发包间隔和所述第二最小收包间隔生成发包间隔;
根据所述第二最小发包间隔以及第二连续丢包数生成检测超时时间;
在与所述第二路由设备进行BFD会话参数协商过程中,分别判断所述发包间隔和/或检测超时时间是否支持硬件维护;当所述发包间隔和/或检测超时时间支持硬件维护时,则使用硬件维护所述发包间隔和/或检测超时时间;当所述发包间隔或检测超时时间不支持硬件维护时,则使用软件维护所述发包间隔或检测超时时间。
可选的,所述与第二路由设备建立通信,包括:
当开启状态机协商时,获取出厂时的协商参数;
利用所述出厂时的协商参数创建其与所述第二路由设备之间的BFD会话,以建立其与所述第二路由设备之间的通信。
可选的,所述方法还包括:
当所述BFD会话参数协商结束后,利用所述自身的BFD会话参数,使用硬件维护所述发包间隔和/或检测超时时间。
可选的,按照下述方法开启状态机协商,包括:
接收预先确定出的BFD会话参数;
接收参数配置指令,基于所述参数配置指令为所述第一路由设备配置所述自身的BFD会话参数,以及开启状态机协商。
可选的,所述利用所述出厂时的协商参数创建其与所述第二路由设备之间的BFD会话,包括:
按照所述协商参数创建所述BFD会话的DOWN报文,并将所述DOWN报文发送至所述第二路由设备;
接收所述第二路由设备发送的所述BFD会话的INIT报文;
利用所述状态机将所述INIT报文切换成所述BFD会话的UP报文;
按照所述协商参数将所述UP报文发送至所述第二路由设备。
可选的,所述硬件维护为通过使用至少一种硬件网络处理器芯片进行维护,所述软件维护通过单核CPU软件和/或多核CPU软件进行维护。
第二方面,本申请实施例提供了一种BFD会话处理装置,该装置包括:
会话参数检测模块,用于当与第二路由设备利用双向转发检测BFD会话建立通信时,检测预先配置的自身的BFD会话参数及所述第二路由设备的BFD会话参数,所述自身的BFD会话参数包括第一最小发包间隔,所述第二路由设备的BFD会话参数包括第二最小发包间隔、第二最小收包间隔以及第二连续丢包数;
发包间隔生成模块,用于根据所述第一最小发包间隔和所述第二最小收包间隔生成发包间隔;
检测超时时间生成模块,根据所述第二最小发包间隔以及第二连续丢包数生成检测超时时间;
判断模块,用于在与所述第二路由设备进行BFD会话参数协商过程中,分别判断所述发包间隔和/或检测超时时间是否支持硬件维护;当所述发包间隔和/或检测超时时间支持硬件维护时,则使用硬件维护所述发包间隔和/或检测超时时间;当所述发包间隔或检测超时时间不支持硬件维护时,则使用软件维护所述发包间隔或检测超时时间。
可选的,所述装置还包括:
参数维护模块,用于当所述BFD会话参数协商结束后,利用所述自身的BFD会话参数,使用硬件维护所述发包间隔和/或检测超时时间。
第三方面,本申请实施例提供一种计算机存储介质,计算机存储介质存储有多条指令,指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供一种路由设备,可包括:处理器和存储器;其中,存储器存储有计算机程序,计算机程序适于由处理器加载并执行上述的方法步骤。
本申请实施例提供的技术方案可以包括以下有益效果:
在本申请实施例中,BFD会话处理装置首先判断第一路由设备和第二路由设备是否建立通信,当与第二路由设备利用双向转发检测BFD会话建立通信时,检测预先配置的自身的BFD会话参数及所述第二路由设备的BFD会话参数,然后根据BFD会话参数生成发包间隔以及检测超时时间,并在与第二路由设备进行BFD会话参数协商过程中,分别判断发包间隔和/或检测超时时间是否支持硬件维护,最后当发包间隔和/或检测超时时间支持硬件维护时,则使用硬件维护所述发包间隔和/或检测超时时间,当发包间隔或检测超时时间不支持硬件维护时,则使用软件维护发包间隔或检测超时时间。由于本申请将BFD会话的定时发包和/或检测超时拆分为两部分后分别由软件和硬件维护,从而使得在批量建立大规格硬件BFD会话时,时间间隔较大的发包或收包参数由CPU软件处理,时间间隔较小的发包或收包参数由硬件处理,从而降低了对端会话检测超时和会话震荡发生的概率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是本申请实施例提供的一种BFD会话处理方法示意图;
图2是本申请实施例提供的一种BFD会话的定时发包和检测超时拆分维护的流程示意图;
图3是本申请实施例提供的一种防止双向转发检测BFD会话震荡三个阶段的流程框图;
图4是本申请实施例提供的另一种BFD会话处理方法的流程示意图;
图5是本申请实施例提供的一种BFD会话处理装置的结构示意图;
图6是本申请实施例提供的另一种BFD会话处理装置的结构示意图;
图7是本申请实施例提供的一种路由设备的结构示意图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
到目前为止,在当前BFD会话中,由于NP芯片的RTC(Real Time Clock,实时时钟)资源和Watchdog Counters(看门狗计数器)资源有限,并不是所有类型的BFD会话都支持硬件维护。一些常用的发包间隔、检测超时时间使用硬件维护,其他情况继续使用CPU软件维护。CPU软件处理的性能是相当受限的,当批量建立大规格硬件BFD会话时,先采用慢协商机制,BFD会话会先使用较大的发包间隔和收包间隔协商,慢慢过渡到使用配置值来协商。一般只有最后协商的发包间隔和检测超时时间同时支持硬件维护,这就导致中间协商的过程全是软件CPU处理的。当批量建立大规格BFD会话时,CPU突发压力大,常常会由于CPU发包不及时导致对端会话检测超时、BFD会话震荡。为此,本申请提供了一种BFD会话处理方法、装置、存储介质及路由设备,以解决上述相关技术问题中存在的问题。本申请提供的技术方案中,由于将BFD会话的定时发包和检测超时拆分为两部分后分别由软件和硬件维护,从而使得在批量建立大规格硬件BFD会话时,时间间隔较大的发包或收包参数由CPU软件处理,时间间隔较小的发包或收包参数由硬件处理,从而降低了对端会话检测超时和会话震荡发生的概率,下面采用示例性的实施例进行详细说明。
下面将结合附图1-附图4,对本申请实施例提供的BFD会话处理方法进行详细介绍。该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的BFD会话处理装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。其中,本申请实施例中的BFD会话处理装置可以为路由设备。
请参见图1,为本申请实施例提供了一种BFD会话处理方法的流程示意图。如图1所示,本申请实施例的方法可以包括以下步骤:
S101,当与第二路由设备利用双向转发检测BFD会话建立通信时,检测预先配置的自身的BFD会话参数及所述第二路由设备的BFD会话参数,所述自身的BFD会话参数包括第一最小发包间隔,所述第二路由设备的BFD会话参数包括第二最小发包间隔、第二最小收包间隔以及第二连续丢包数;
其中,BFD是一个通用的、标准化的、介质无关和协议无关的快速故障检测机制,用于检测转发路径的连通状况。BFD会话震荡,指BFD会话检测的链路出现异常(链路是指BFD报文发送和接收的链路)。会话参数是指第一路由设备和第二路由设备之间建立BFD会话的过程所需参数。路由设备是是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。
通常,预先配置的BFD会话参数为分别配置在第一路由设备和第二路由设备的MinTx、MinRx以及DetectMult。MinTx是允许的最小发包间隔,MinRx是允许的最小收包间隔,DetectMult为允许的连续丢包数。
在本申请实施例中,在第一路由设备和第二路由设备利用双向转发检测建立通信时,即在第一阶段进行状态机协商时,首先开启状态机协商,当开启状态机协商时,第一路由设备获取出厂时的协商参数,根据出厂时的协商参数创建其与第二路由设备之间的BFD会话,以建立其与第二路由设备的BFD会话之间的通信,通信建立完成后状态机协商结束。
具体的,以步骤a至步骤f的方法举例说明第一路由设备和第二路由设备在进行状态机的过程:a、例如路由设备1上用户预先配置好BFD会话要检测的路径、目的地址、BFD会话参数MinTx、MinRx、DetectMult。b、然后使用出厂时的协商参数的发包间隔和/或检测超时时间,沿着检测的路径按照发包间隔参数定时发送DOWN报文。c、路由设备2也经历了步骤a和b,也使用初始的发包间隔和/或检测超时时间,沿着检测的路径定时发送DOWN报文。d、假设路由设备2先收到路由设备1发过来的DOWN报文,路由设备2将会使用状态机将DOWN报文切换成INIT报文,再沿着检测路径定时发送INIT报文至路由设备1。e.路由设备1收到INIT报文,路由设备1使用状态机将INIT报文切换为UP报文,沿着检测路径定时发送UP报文至路由设备2。f.路由设备2接收UP报文时,路由设备2使用状态机从INIT报文切换到UP报文,沿着检测路径定时发送UP报文,这时候路由设备1和路由设备2两端的BFD报文建立通信,状态机协商结束。
在一种可行的实现方式中,在第一路由设备和第二路由设备之间建立通信时,首先第一路由设备按照出厂的协商参数创建BFD会话的DOWN报文,第一路由设备将关闭报文(DOWN)发送至第二路由设备,之后第二路由设备接收到关闭(DOWN)报文后,通过状态机从DOWN报文切换到初始化(INIT)报文发送至第一路由设备,第一路由设备接收到来自第二路由设备发送的初始化(INIT)报文后,通过状态机将INIT报文切换成激活(UP)报文发送至第二路由设备,最后第二路由设备接收到激活(UP)报文后,建立第一路由设备和第二路由设备之间的通信。需要说明的是,第一路由设备和第二路由设备是基于路由设备出厂时的协商参数建立通信,状态机协商完成。
进一步地,在状态机协商结束后,开启参数协商,在参数协商时,检测预先配置的BFD会话参数,所述BFD会话参数包括所述第一路由设备配置的第一最小发包间隔,所述第二路由设备配置的第二最小发包间隔、第二最小收包间隔以及第二连续丢包数;
S102,根据所述第一最小发包间隔和所述第二最小收包间隔生成发包间隔;
在一种可行的实现方式中,在根据步骤S101使得第一路由设备和第二路由设备建立通信后,检测第一路由设备和第二路由设备中预先配置的参数信息,第一路由设备和第二路由设备包括的参数信息包括允许的最小发包间隔MinTx、允许的最小收包间隔MinRx以及允许的连续丢包数DetectMult,确定出预先配置的参数信息时,取第一路由设备配置的允许最小发包间隔MinTx和第二路由设备配置的允许最小收包间隔MinRx的最大值,生成发包间隔。
S103,根据所述第二最小发包间隔以及第二连续丢包数生成检测超时时间;
在一种可能的实现方式中,根据步骤S102可确定出预先配置的参数信息,将参数信息中的第二路由设备的允许的最小发包间隔MinTx和第二路由设备的允许的连续丢包数DetectMult进行相乘,生成检测超时时间。
进一步地,根据步骤S102和步骤S103确定出了发包间隔以及检测超时时间后,此时判断发包间隔或检测超时时间是否支持硬件维护,当发包间隔或检测超时时间支持硬件维护时使用硬件维护发包间隔或检测超时时间,当发包间隔或检测超时时间不支持硬件维护时使用软件维护发包间隔或检测超时时间。
例如图2所示,图2是本申请提供的拆分维护示意图,首先BFD会话状态机协商UP(即建立起第一路由设备和第二路由设备之间的通信),然后进行PF会话参数的协商过程(即BFD会话的定时发包和检测超时),首先将BFD会话的定时发包和检测超时拆分成两部分,分别由软件或硬件维护,当发包间隔或检测超时时间支持硬件维护时,优先走硬件维护,不支持才走CPU软件维护。
需要说明的是,通过这种方式,在批量建立大规格硬件BFD会话时,时间间隔较大的发包或收包参数由CPU软件处理,时间间隔较小的发包或收包参数由硬件处理。这样,CPU的压力小,软件和硬件都能及时发包,避免了对端会话检测超时、会话震荡的情况。
S104,在与所述第二路由设备进行BFD会话参数协商过程中,分别判断所述发包间隔和/或检测超时时间是否支持硬件维护;当所述发包间隔和/或检测超时时间支持硬件维护时,则使用硬件维护所述发包间隔和/或检测超时时间;当所述发包间隔或检测超时时间不支持硬件维护时,则使用软件维护所述发包间隔或检测超时时间。
在一种可行的实现方式中,在基于步骤S102进行完PF会话参数的协商过程后,BFD会话完成协商,发包间隔和检测超时时间支持硬件维护,由硬件维护会话的定时发包和检测超时,使得CPU软件压力小。
例如图3所示,图3是本申请提供的一种BFD会话处理过程示意图,该流程图中包括路由器1和路由器2以及路由器1和路由器2中直连或跨越的多台设备。本实施例中以最低接收速率配置的参数为10ms*3硬件BFD会话的建立过程进行说明,即协商之后的发包间隔为10ms,检测间隔10ms,对端允许的连续丢包数为3,检测超时时间为30ms;假如刚好跟用户配置的参数值相同。
首先阶段1中的软件维护中(即状态机协商时),从预设范围参数中确定出BFD会话参数,根据确定出的BFD会话参数,并在路由设备上配置好BFD会话参数的MinTx、MinRx和DetectMult参数后,会话开始状态机协商并批量建立大规格BFD会话,为避免刚开始软件发包过多以及状态机协商过程中反复震荡,采用慢协商机制,不会直接使用配置的小参数值协商,先使用较大的参数(即路由设备出厂时的协商参数)进行协商,如具体的协商参数为MinTx=3000ms,MinRx=3000ms,DetectMult=50。BFD会话初始状态第一路由设备发送的是DOWN报文,第二路由设备收到DOWN报文后状态切换为INIT,并发送INIT报文,第二路由设备收到INIT或UP报文后状态切换为UP并发送UP报文,最后第一路由设备和第二路由设备建立起通信。
然后第二阶段(参数协商)中的软件或硬件维护时,BFD会话使用配置的参数值的具体参数为MinTx=10ms,MinRx=10ms,DetectMult=3来协商,此时会发送P报文(P=1),会话的发包间隔从3000ms切换到配置值10ms,检测间隔和检测超时时间仍然使用较大参数3000ms和9000ms(检测时间3000ms*允许的连续丢包数3)。直到收到对端回复协商通过的F报文(F=1),检测间隔和检测超时时间再切换成配置值10ms和30ms。需要说明的是,第二阶段中将BFD会话的定时发包和检测超时拆分成两部分,分别由软件或硬件维护。当发包间隔或检测超时时间支持硬件维护时,优先走硬件维护,不支持才走CPU软件维护。通过这种方式,在批量建立大规格硬件BFD会话时,时间间隔较大的发包或收包参数由CPU软件处理,时间间隔较小的发包或收包参数由硬件处理。
最后再第三阶段中的硬件维护中,BFD会话完成协商,发包间隔10ms和检测超时时间30ms支持硬件维护,由硬件维护会话的定时发包和检测超时,CPU软件压力变小。
在本申请实施例中,BFD会话处理装置首先判断第一路由设备和第二路由设备是否建立通信,当与第二路由设备利用双向转发检测BFD会话建立通信时,检测预先配置的自身的BFD会话参数及所述第二路由设备的BFD会话参数,然后根据BFD会话参数生成发包间隔以及检测超时时间,并在与第二路由设备进行BFD会话参数协商过程中,分别判断发包间隔和/或检测超时时间是否支持硬件维护,最后当发包间隔和/或检测超时时间支持硬件维护时,则使用硬件维护所述发包间隔和/或检测超时时间,当发包间隔或检测超时时间不支持硬件维护时,则使用软件维护发包间隔或检测超时时间。由于本申请将BFD会话的定时发包和/或检测超时拆分为两部分后分别由软件和硬件维护,从而使得在批量建立大规格硬件BFD会话时,时间间隔较大的发包或收包参数由CPU软件处理,时间间隔较小的发包或收包参数由硬件处理,从而降低了对端会话检测超时和会话震荡发生的概率。
请参见图4,为本申请实施例提供的一种BFD会话处理方法的流程示意图。本实施例以BFD会话处理方法应用于路由设备中来举例说明。该BFD会话处理方法可以包括以下步骤:
S201,从预设范围参数中确定出BFD会话参数;
在一种可能的实现方式中,从预设范围参数中确定出BFD会话参数具体为路由设备根据实际传输速率首先从预设范围中确定出会话参数,当接收到用户会话参数确定指令后,接收确定出的会话参数,用户此时通过输入命令的方式输入命令,路由设备接收到命令后,配置接收的会话参数,配置完成后,进行状态机协商。
S202,接收预先确定出的BFD会话参数;
S203,接收参数配置指令,基于所述参数配置指令为所述第一路由设备配置所述自身的BFD会话参数,以及开启状态机协商;
S204,当开启状态机协商时,获取出厂时的协商参数;
S205,利用所述出厂时的协商参数创建其与所述第二路由设备之间的BFD会话,以建立其与所述第二路由设备之间的通信;
S206,当与第二路由设备利用双向转发检测BFD会话建立通信时,检测预先配置的自身的BFD会话参数及所述第二路由设备的BFD会话参数,所述自身的BFD会话参数包括第一最小发包间隔,所述第二路由设备的BFD会话参数包括第二最小发包间隔、第二最小收包间隔以及第二连续丢包数;
S207,根据所述第一最小发包间隔和所述第二最小收包间隔生成发包间隔;
S208,根据所述第二最小发包间隔以及第二连续丢包数生成检测超时时间;
S209,在与所述第二路由设备进行BFD会话参数协商过程中,分别判断所述发包间隔和/或检测超时时间是否支持硬件维护;当所述发包间隔和/或检测超时时间支持硬件维护时,则使用硬件维护所述发包间隔和/或检测超时时间;当所述发包间隔或检测超时时间不支持硬件维护时,则使用软件维护所述发包间隔或检测超时时间;
其中,硬件维护为通过至少使用一种硬件网络处理器芯片进行维护,软件维护通过单核CPU软件和/或多核CPU软件进行维护。
S210,当所述BFD会话参数协商结束后,利用所述自身的BFD会话参数,使用硬件维护所述发包间隔和/或检测超时时间。
在本申请实施例中,BFD会话处理装置首先判断第一路由设备和第二路由设备是否建立通信,当与第二路由设备利用双向转发检测BFD会话建立通信时,检测预先配置的自身的BFD会话参数及所述第二路由设备的BFD会话参数,然后根据BFD会话参数生成发包间隔以及检测超时时间,并在与第二路由设备进行BFD会话参数协商过程中,分别判断发包间隔和/或检测超时时间是否支持硬件维护,最后当发包间隔和/或检测超时时间支持硬件维护时,则使用硬件维护所述发包间隔和/或检测超时时间,当发包间隔或检测超时时间不支持硬件维护时,则使用软件维护发包间隔或检测超时时间。由于本申请将BFD会话的定时发包和/或检测超时拆分为两部分后分别由软件和硬件维护,从而使得在批量建立大规格硬件BFD会话时,时间间隔较大的发包或收包参数由CPU软件处理,时间间隔较小的发包或收包参数由硬件处理,从而降低了对端会话检测超时和会话震荡发生的概率。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参见图5,其示出了本发明一个示例性实施例提供的BFD会话处理装置的结构示意图。该BFD会话处理装置可以通过软件、硬件或者两者的结合实现成为路由设备的全部或一部分。该装置1包括会话参数检测模块10、发包间隔生成模块20、检测超时时间生成模块30、判断模块40。
会话参数检测模块10,用于当与第二路由设备利用双向转发检测BFD会话建立通信时,检测预先配置的自身的BFD会话参数及所述第二路由设备的BFD会话参数,所述自身的BFD会话参数包括第一最小发包间隔,所述第二路由设备的BFD会话参数包括第二最小发包间隔、第二最小收包间隔以及第二连续丢包数;
发包间隔生成模块20,用于根据所述第一最小发包间隔和所述第二最小收包间隔生成发包间隔;
检测超时时间生成模块30,根据所述第二最小发包间隔以及第二连续丢包数生成检测超时时间;
判断模块40,用于在与所述第二路由设备进行BFD会话参数协商过程中,分别判断所述发包间隔和/或检测超时时间是否支持硬件维护;当所述发包间隔和/或检测超时时间支持硬件维护时,则使用硬件维护所述发包间隔和/或检测超时时间;当所述发包间隔或检测超时时间不支持硬件维护时,则使用软件维护所述发包间隔或检测超时时间。
可选的,装置1还包括:
硬件维护模块50,用于当所述BFD会话参数协商结束后,利用所述自身的BFD会话参数,使用硬件维护所述发包间隔和/或检测超时时间。
需要说明的是,上述实施例提供的BFD会话处理装置在执行BFD会话处理方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的BFD会话处理装置与BFD会话处理方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请实施例中,BFD会话处理装置首先判断第一路由设备和第二路由设备是否建立通信,当与第二路由设备利用双向转发检测BFD会话建立通信时,检测预先配置的自身的BFD会话参数及所述第二路由设备的BFD会话参数,然后根据BFD会话参数生成发包间隔以及检测超时时间,并在与第二路由设备进行BFD会话参数协商过程中,分别判断发包间隔和/或检测超时时间是否支持硬件维护,最后当发包间隔和/或检测超时时间支持硬件维护时,则使用硬件维护所述发包间隔和/或检测超时时间,当发包间隔或检测超时时间不支持硬件维护时,则使用软件维护发包间隔或检测超时时间。由于本申请将BFD会话的定时发包和/或检测超时拆分为两部分后分别由软件和硬件维护,从而使得在批量建立大规格硬件BFD会话时,时间间隔较大的发包或收包参数由CPU软件处理,时间间隔较小的发包或收包参数由硬件处理,从而降低了对端会话检测超时和会话震荡发生的概率。
本发明还提供一种计算机可读介质,其上存储有程序指令,该程序指令被处理器执行时实现上述各个方法实施例提供的BFD会话处理方法。
本发明还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个方法实施例的BFD会话处理方法。
图7为一个实施例中路由设备的内部结构示意图,应用于第一路由设备。如图7所示,该路由设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该路由设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种数据传输方法。该路由设备的处理器用于提供计算和控制能力,支撑整个路由设备的运行。该路由设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种数据传输方法。该路由设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的路由设备的限定,具体的路由设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提出了一种路由设备,所述路由设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
当与第二路由设备利用双向转发检测BFD会话建立通信时,检测预先配置的自身的BFD会话参数及所述第二路由设备的BFD会话参数,所述自身的BFD会话参数包括第一最小发包间隔,所述第二路由设备的BFD会话参数包括第二最小发包间隔、第二最小收包间隔以及第二连续丢包数;
根据所述第一最小发包间隔和所述第二最小收包间隔生成发包间隔;
根据所述第二最小发包间隔以及第二连续丢包数生成检测超时时间;
在与所述第二路由设备进行BFD会话参数协商过程中,分别判断所述发包间隔和/或检测超时时间是否支持硬件维护;当所述发包间隔和/或检测超时时间支持硬件维护时,则使用硬件维护所述发包间隔和/或检测超时时间;当所述发包间隔或检测超时时间不支持硬件维护时,则使用软件维护所述发包间隔或检测超时时间。
在一个实施例中,所述处理器执行与第二路由设备建立通信,包括:当开启状态机协商时,获取出厂时的协商参数;利用所述出厂时的协商参数创建其与所述第二路由设备之间的BFD会话,以建立其与所述第二路由设备之间的通信。
在一个实施例中,所述处理器还执行:当所述BFD会话参数协商结束后,利用所述自身的BFD会话参数,使用硬件维护所述发包间隔和/或检测超时时间。
在一个实施例中,所述处理器还执行开启状态机协商,包括:接收预先确定出的BFD会话参数;接收参数配置指令,基于所述参数配置指令为所述第一路由设备配置所述自身的BFD会话参数,以及开启状态机协商。
在一个实施例中,所述处理器执行利用所述出厂时的协商参数创建其与所述第二路由设备之间的BFD会话,包括:按照所述协商参数创建所述BFD会话的DOWN报文,并将所述DOWN报文发送至所述第二路由设备;接收所述第二路由设备发送的所述BFD会话的INIT报文;利用所述状态机将所述INIT报文切换成所述BFD会话的UP报文;按照所述协商参数将所述UP报文发送至所述第二路由设备。
在本申请实施例中,BFD会话处理装置首先判断第一路由设备和第二路由设备是否建立通信,当与第二路由设备利用双向转发检测BFD会话建立通信时,检测预先配置的自身的BFD会话参数及所述第二路由设备的BFD会话参数,然后根据BFD会话参数生成发包间隔以及检测超时时间,并在与第二路由设备进行BFD会话参数协商过程中,分别判断发包间隔和/或检测超时时间是否支持硬件维护,最后当发包间隔和/或检测超时时间支持硬件维护时,则使用硬件维护所述发包间隔和/或检测超时时间,当发包间隔或检测超时时间不支持硬件维护时,则使用软件维护发包间隔或检测超时时间。由于本申请将BFD会话的定时发包和/或检测超时拆分为两部分后分别由软件和硬件维护,从而使得在批量建立大规格硬件BFD会话时,时间间隔较大的发包或收包参数由CPU软件处理,时间间隔较小的发包或收包参数由硬件处理,从而降低了对端会话检测超时和会话震荡发生的概率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (10)
1.一种BFD会话处理方法,其特征在于,应用于第一路由设备,所述方法包括:
当与第二路由设备利用双向转发检测BFD会话建立通信时,检测预先配置的自身的BFD会话参数及所述第二路由设备的BFD会话参数,所述自身的BFD会话参数包括第一最小发包间隔,所述第二路由设备的BFD会话参数包括第二最小发包间隔、第二最小收包间隔以及第二连续丢包数;
根据所述第一最小发包间隔和所述第二最小收包间隔生成发包间隔;
根据所述第二最小发包间隔以及第二连续丢包数生成检测超时时间;
在与所述第二路由设备进行BFD会话参数协商过程中,分别判断所述发包间隔和/或检测超时时间是否支持硬件维护;当所述发包间隔和/或检测超时时间支持硬件维护时,则使用硬件维护所述发包间隔和/或检测超时时间;当所述发包间隔或检测超时时间不支持硬件维护时,则使用软件维护所述发包间隔或检测超时时间。
2.根据权利要求1所述的方法,其特征在于,所述与第二路由设备建立通信,包括:
当开启状态机协商时,获取出厂时的协商参数;
利用所述出厂时的协商参数创建其与所述第二路由设备之间的BFD会话,以建立其与所述第二路由设备之间的通信。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述BFD会话参数协商结束后,利用所述自身的BFD会话参数,使用硬件维护所述发包间隔和/或检测超时时间。
4.根据权利要求2所述的方法,其特征在于,按照下述方法开启状态机协商,包括:
接收预先确定出的BFD会话参数;
接收参数配置指令,基于所述参数配置指令为所述第一路由设备配置所述自身的BFD会话参数,以及开启状态机协商。
5.根据权利要求2所述的方法,其特征在于,所述利用所述出厂时的协商参数创建其与所述第二路由设备之间的BFD会话,包括:
按照所述协商参数创建所述BFD会话的DOWN报文,并将所述DOWN报文发送至所述第二路由设备;
接收所述第二路由设备发送的所述BFD会话的INIT报文;
利用所述状态机将所述INIT报文切换成所述BFD会话的UP报文;
按照所述协商参数将所述UP报文发送至所述第二路由设备。
6.根据权利要求1所述的方法,其特征在于,所述硬件维护为通过使用至少一种硬件网络处理器芯片进行维护,所述软件维护通过单核CPU软件和/或多核CPU软件进行维护。
7.一种BFD会话处理装置,应用于第一路由设备,其特征在于,所述装置包括:
会话参数检测模块,用于当与第二路由设备利用双向转发检测BFD会话建立通信时,检测预先配置的自身的BFD会话参数及所述第二路由设备的BFD会话参数,所述自身的BFD会话参数包括第一最小发包间隔,所述第二路由设备的BFD会话参数包括第二最小发包间隔、第二最小收包间隔以及第二连续丢包数;
发包间隔生成模块,用于根据所述第一最小发包间隔和所述第二最小收包间隔生成发包间隔;
检测超时时间生成模块,根据所述第二最小发包间隔以及第二连续丢包数生成检测超时时间;
判断模块,用于在与所述第二路由设备进行BFD会话参数协商过程中,分别判断所述发包间隔和/或检测超时时间是否支持硬件维护;当所述发包间隔和/或检测超时时间支持硬件维护时,则使用硬件维护所述发包间隔和/或检测超时时间;当所述发包间隔或检测超时时间不支持硬件维护时,则使用软件维护所述发包间隔或检测超时时间。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
参数维护模块,用于当所述BFD会话参数协商结束后,利用所述自身的BFD会话参数,使用硬件维护所述发包间隔和/或检测超时时间。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~6任意一项的方法步骤。
10.一种路由设备,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~6任意一项的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011027600.9A CN112367255B (zh) | 2020-09-25 | 2020-09-25 | 一种bfd会话处理方法、装置、存储介质及路由设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011027600.9A CN112367255B (zh) | 2020-09-25 | 2020-09-25 | 一种bfd会话处理方法、装置、存储介质及路由设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112367255A CN112367255A (zh) | 2021-02-12 |
CN112367255B true CN112367255B (zh) | 2022-03-29 |
Family
ID=74507496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011027600.9A Active CN112367255B (zh) | 2020-09-25 | 2020-09-25 | 一种bfd会话处理方法、装置、存储介质及路由设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112367255B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114006836B (zh) * | 2021-11-01 | 2023-05-23 | 迈普通信技术股份有限公司 | 定时器调整方法、装置、电子设备和计算机可读存储介质 |
CN117278345B (zh) * | 2023-11-20 | 2024-02-13 | 新华三技术有限公司 | 应用于网络设备的节能方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100558051C (zh) * | 2005-08-10 | 2009-11-04 | 华为技术有限公司 | 对双向转发链路进行故障检测的方法 |
CN101170459B (zh) * | 2007-11-28 | 2010-07-14 | 中兴通讯股份有限公司 | 基于双向转发链路进行故障检测与链路恢复的方法 |
CN101247270A (zh) * | 2008-03-19 | 2008-08-20 | 中兴通讯股份有限公司 | 一种实现双向转发检测的系统及方法 |
CN101800676A (zh) * | 2010-02-20 | 2010-08-11 | 中兴通讯股份有限公司 | 链路检测方法、装置和系统 |
CN101800677B (zh) * | 2010-02-24 | 2015-01-28 | 中兴通讯股份有限公司 | 一种双向转发检测报文的处理装置及方法 |
CN104104644A (zh) * | 2013-04-01 | 2014-10-15 | 中兴通讯股份有限公司 | 双向转发检测系统及双向转发检测的检测时间配置方法 |
CN110830485B (zh) * | 2019-11-13 | 2021-10-22 | 苏州盛科科技有限公司 | 一种点到多点双向转发检测的芯片实现方法及装置 |
-
2020
- 2020-09-25 CN CN202011027600.9A patent/CN112367255B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112367255A (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3125476B1 (en) | Service function chaining processing method and device | |
CN112367255B (zh) | 一种bfd会话处理方法、装置、存储介质及路由设备 | |
CN106878072B (zh) | 一种报文传输方法和装置 | |
US10813156B2 (en) | Method and apparatus for processing network connection | |
CN107465613B (zh) | 链路聚合接口通信状态切换方法及装置 | |
CN104869057A (zh) | 开放流交换机优雅重启处理方法、装置及开放流控制器 | |
CN102957623B (zh) | 一种边界网关协议邻居的维护方法和设备 | |
US20140010093A1 (en) | Method and Apparatus for the Fast Detection of Connectivity Loss Between Devices in a Network | |
US11245615B2 (en) | Method for determining link state, and device | |
CN111447101A (zh) | 链路检测方法、装置、计算机设备及存储介质 | |
CN111327524B (zh) | 流量转发方法、系统、sdn控制器及计算机可读存储介质 | |
CN111130886A (zh) | 网口切换方法、装置、板卡和网口切换系统 | |
CN108289044B (zh) | 数据转发方法、确定静态路由的链路状态方法及网络设备 | |
CN112383414B (zh) | 双机热备份快速切换方法及装置 | |
CN112217680B (zh) | 基于软件定义广域网的控制器能力基准测试方法和装置 | |
CN106169982B (zh) | 扩展端口的处理方法、装置及系统 | |
CN110932921A (zh) | 一种路由震荡信息确定方法及其相关设备 | |
CN107528788B (zh) | 实现网络设备之间自动堆叠的方法和装置 | |
CN112910704A (zh) | 一种支持动态自适应网络配置的局域网系统、方法和装置 | |
CN109120520B (zh) | 一种故障处理方法和设备 | |
CN115665035A (zh) | 一种信息处理方法、装置、第一节点及存储介质 | |
CN108965120B (zh) | 路由通告方法、装置、通信设备及存储介质 | |
CN110233713B (zh) | 一种基于lldp报文的多链路通信方法及系统 | |
CN113783971A (zh) | 地址管理方法、网络设备及存储介质 | |
CN112214258A (zh) | 基于软件定义广域网的端到端能力基准测试方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |