一种针对链路聚合组的故障快速检测方法和系统技术方案

技术编号:35441843 阅读:15 留言:0更新日期:2022-11-03 11:52
本发明专利技术提出一种针对链路聚合组的故障快速检测方法,包括:在发送设备中建立一条BFD Echo会话,并选取发送设备中一成员端口对应的链路作为主链路发送BFD Echo报文,在反射设备收到BFD Echo报文后,将BFD Echo报文复制到反射设备所在的链路聚合组的各个成员端口中,通过各个成员端口对应的物理链路将BFD Echo报文反射回发送设备,判断发送设备各成员端口是否收到BFDEcho报文,若成员端口在预设检测次数内均没有收到BFD Echo报文,则判定为该成员端口发生故障,若所有成员端口在预设检测次数内均没有收到BFD Echo报文,则重新选举主链路,以主链路再次发送BFD Echo报文,并重复步骤S2

【技术实现步骤摘要】
一种针对链路聚合组的故障快速检测方法和系统


[0001]本专利技术涉及网络故障检测
,尤其涉及一种针对链路聚合组的故障快速检测方法和系统。

技术介绍

[0002]对于链路聚合组的故障快速检测的常用方法是采用BFD(双向转发检测)对链路进行检测,并当BFD检测到链路有故障后,会在极短时间内对链路进行倒换,降低因故障导致业务中断时间,当前,基于BFD检测链路聚合组故障的方法主要有两种:
[0003]BFD for LAG是针对链路聚合组创建一条BFD会话,出口为链路聚合组的场景,该方法只创建一条BFD会话,BFD报文在链路聚合组内,根据负载均衡从某一个成员口转发BFD报文,但BFD for LAG只能对负载BFD报文的成员口检查故障,不能反应整个聚合组的故障状态,且只创建一条BFD会话,不能及时检测到聚合组内其他端口的故障状态,若其他物理链路出现故障,不能及时倒换。导致业务中断时间长。
[0004]BFD on LAG是针对链路聚合口创建一条BFD主会话,同时在每个成员口上创建各一条BFD子会话,BFD子会话与物理链路绑定。虽然弥补了BFD for LAG的缺陷,可以检测每个成员口的故障以及整个聚合组的故障,但需要大量的BFD表项和资源,且子会话较多,管理复杂。
[0005]目前,针对BFD for LAG及BFD on LAG的检测方法,存在效率低、占用资源多、检测结果准确度不足的问题。

技术实现思路

[0006]为了解决问题,本专利技术提出一种针对链路聚合组的故障快速检测方法和系统,以更加确切地解决所述效率低、占用资源多、检测结果准确度不足的问题。
[0007]本专利技术通过以下技术方案实现的:
[0008]本专利技术提出一种针对链路聚合组的故障快速检测方法,包括
[0009]S1:在发送设备中建立一条BFD Echo会话,并选取所述发送设备中所述链路聚合组的某一成员端口对应的链路作为主链路发送BFD Echo报文;
[0010]S2:在反射设备收到所述BFD Echo报文后,将所述BFD Echo报文复制到所述反射设备所在的链路聚合组的各个成员端口中,通过各个成员端口对应的物理链路将所述BFD Echo报文反射回所述发送设备,每一物理链路对应一成员端口;
[0011]S3:判断所述发送设备各成员端口是否收到所述BFD Echo报文;
[0012]S4:若所述成员端口在预设检测次数内均没有收到所述BFD Echo报文,则判定与所述成员端口对应的所述成员端口故障,其中,所述预设检测次数设定为3次;
[0013]S5:若所有所述成员端口在所述预设检测次数内均没有收到所述BFD Echo报文,则重新选举主链路,以所述主链路再次发送所述BFD Echo报文,并重复步骤S2

S4;
[0014]S6:若在所述预测检测次数内,所有所述成员端口均没有收到所述BFD Echo报文
后,判定所述链路聚合组端口故障。
[0015]进一步的,所述步骤S1之前,包括:
[0016]判断在定时器预设的周期内,接收时长是否超过某一成员端口n的定时器设定的时间;
[0017]若是,则判断所述成员端口n收包计数器是否为零,其中,所述数据包包括所述BFD Echo报文;
[0018]若所述收包计数器为零,则所述成员端口n的超时计数器加1,当所述超时计数器≥3,若所述成员端口n的会话状态为Up状态时,则对外通告所述成员端口n Timeout Down;
[0019]若所述收包计数器不为零,则将所述超时计数器清零。若成员端口n状态为Down,则对外通告所述成员端口n Up。
[0020]进一步的,所述将所述超时计数器清零的步骤后,包括:
[0021]判断所有所述成员端口收包计数器是否为均零;
[0022]若是,则将所述链路聚合组端口的超时计数器加1,当所述链路聚合组端口的超时计数器≥3,若所述链路聚合组端口的会话状态为Up状态,则对外通告所述链路聚合组Timeout Down,当所述链路聚合组端口的超时计数器<3,则进入选举所述主链路步骤;
[0023]若否,则将所述超时计数器清零,若所述链路聚合组状态为Down,则对外通告所述链路聚合组Up。
[0024]进一步的,所述在反射设备收到所述BFD Echo报文后,将所述BFD Echo报文复制到所述反射设备所在的链路聚合组的各个成员端口中,通过各个成员端口对应的物理链路将所述BFD Echo报文反射回所述发送设备的步骤前,包括:
[0025]判断发送设备及反射设备收到BFD Echo报文的目的IP(Destination IP)是否是本设备的IP(即本机IP);
[0026]若是,则在查询到所述BFD Echo报文为所述发送设备所配置后,将所述BFD Echo报文判定为状态报文,对所述BFD Echo报文进行终结,接收BFD Echo报文的物理链路的收报计数器加1;
[0027]若否,则将所述BFD Echo报文判定为反射报文,通过报文反射模块将所述BFD Echo报文发回所述发送设备。
[0028]进一步的,所述将所述BFD Echo报文判定为反射报文,通过报文反射模块将所述BFD Echo报文发回所述发送设备的步骤中,包括:
[0029]判断所述反射设备接收所述BFD Echo报文的物理端口是否属于所述链路聚合组;
[0030]若是,则将所述BFD Echo报文复制到各所述成员端口中,并通过对应的物理链路将所述BFD Echo报文弹回所述发送设备;
[0031]若否,则直接将所述BFD Echo报文从所述物理端口弹回所述发送设备。
[0032]进一步的,所述选取所述发送设备中所述链路聚合组的某一成员端口对应的链路作为主链路发送BFD Echo报文的步骤中,包括:
[0033]获取所述发送设备中所述链路聚合组的各个所述物理链路的总带宽及当前负载流量;
[0034]通过所述总带宽及所述当前负载流量计算出各所述物理链路的链路选举值;
[0035]根据所述链路选举值进行选举出所述主链路。
[0036]进一步的,所述根据所述链路选举值进行选举出所述主链路的步骤中,包括:
[0037]依据所述链路选举值从大到小对各所述物理链路进行排序;
[0038]将排序第一的所述物理链路选定为所述主链路。
[0039]进一步的,所述通过所述总带宽及所述当前负载流量计算出各所述物理链路的链路选举值的步骤中,包括:
[0040]利用以下公式计算出所述链路选举值:
[0041]R=K*d+(K

f)*(1

d);
[0042]其中,R为所述物理链路的链路选举值,K为所述物理链路的总带宽,f为所述物理链路的当前负载流量,d为预设的权重值,其中,所述权重值取值范围为0

本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对链路聚合组的故障快速检测方法,其特征在于,包括:S1:在发送设备中建立一条BFD Echo会话,并选取所述发送设备中所述链路聚合组的某一成员端口对应的链路作为主链路发送BFD Echo报文;S2:在反射设备收到所述BFD Echo报文后,将所述BFD Echo报文复制到所述反射设备所在的链路聚合组的各个成员端口中,通过各个成员端口对应的物理链路将所述BFD Echo报文反射回所述发送设备,每一物理链路对应一成员端口;S3:判断所述发送设备各成员端口是否收到所述BFD Echo报文;S4:若所述成员端口在预设检测次数内均没有收到所述BFD Echo报文,则判定与所述成员端口对应的所述成员端口故障,其中,所述预设检测次数设定为3次;S5:若所有所述成员端口在所述预设检测次数内均没有收到所述BFD Echo报文,则重新选举主链路,以所述主链路再次发送所述BFD Echo报文,并重复步骤S2

S4;S6:若在所述预测检测次数内,所有所述成员端口均没有收到所述BFD Echo报文后,判定所述链路聚合组端口故障。2.根据权利要求1所述的针对链路聚合组的故障快速检测方法,其特征在于,所述步骤S1之前,包括:判断在定时器预设的周期内,接收时长是否超过某一成员端口n的定时器设定的时间;若是,则判断所述成员端口n收包计数器是否为零,其中,所述数据包包括所述BFD Echo报文;若所述收包计数器为零,则所述成员端口n的超时计数器加1,当所述超时计数器≥3,若所述成员端口n的会话状态为Up状态时,则对外通告所述成员端口n Timeout Down;若所述收包计数器不为零,则将所述超时计数器清零。若成员端口n状态为Down,则对外通告所述成员端口n Up。3.根据权利要求2所述的针对链路聚合组的故障快速检测方法,其特征在于,所述将所述超时计数器清零的步骤后,包括:判断所有所述成员端口收包计数器是否为均零;若是,则将所述链路聚合组端口的超时计数器加1,当所述链路聚合组端口的超时计数器≥3,若所述链路聚合组端口的会话状态为Up状态,则对外通告所述链路聚合组Timeout Down,当所述链路聚合组端口的超时计数器<3,则进入选举所述主链路步骤;若否,则将所述超时计数器清零,若所述链路聚合组状态为Down,则对外通告所述链路聚合组Up。4.根据权利要求1所述的针对链路聚合组的故障快速检测方法,其特征在于,所述在反射设备收到所述BFD Echo报文后,将所述BFD Echo报文复制到所述反射设备所在的链路聚合组的各个成员端口中,通过各个成员端口对应的物理链路将所述BFD Echo报文反射回所述发送设备的步骤前,包括:判断发送设备及反射设备收到BFD Echo报文的目的IP(Destination IP)是否是本设备的IP(即本机IP);若是,则在查询到所述BFD Echo报文为所述发送设备所配置后,将所述BFD Echo报文判定为状态报文,对所述BFD Echo报文进行终结,接收BFD Echo报文的物理链路的收报计数器加1;
若否,则将所述BFD Echo报文判定为反射报文,通过报文反射模块将所...

【专利技术属性】
技术研发人员:王超
申请(专利权)人:深圳市楠菲微电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1