一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种网络链路的故障检测方法及装置与流程

2022-11-23 13:18:27 来源:中国专利 TAG:


1.本技术涉及通信技术领域,公开了一种网络链路的故障检测方法及装置。


背景技术:

2.随着网关类设备的应用,对于一些重要业务,通常会在网路设备中部署多条网络链路,当主链路故障时,能够从主链路切换到备链路,达到主备多线的高可用场景,以确保该业务不会发生中断。因此,链路高可用的核心功能之一是:网络设备如何检测链路故障以进行主备链路切换。
3.目前,主流的链路故障检测技术包括双向转发检测(bidirectional forwarding detection,bfd)协议和网络质量分析(network quality analyzer,nqa)。其中,bfd基于接收到的对端发送的检测报文的时间进行链路故障检测,nqa通过分析对端发送的检测报文的网络参数进行链路故障检测。
4.由于网络设备对服务质量(quality of service,qos)存在上限,可能会丢失检测报文,导致链路故障检测出现错误,从而引发链路的错误切换;且这两种技术并未兼顾链路的特殊状态,当网络链路出现间歇性抖动时,可能出现反复切换链路和反复回切的情况,加重链路损伤。


技术实现要素:

5.本技术提供了一种网络链路的故障检测方法及装置,用于提高链路故障检测的准确性。
6.一方面,本技术提供一种网络链路的故障检测方法,所述方法包括:
7.按照设定的检测时间间隔,向对端网络设备发送的http请求;
8.在设定的检测时长内,当未接收到所述对端网络设备针对所述http请求发送的响应报文时,获取所述检测时长内自身的业务流量;
9.根据所述业务流量和限速带宽,确定所述检测时长内连续发生故障的次数;
10.根据所述次数和所述检测时间间隔,确定故障倒换时间;
11.当所述故障倒换时间到达时,确定发生链路故障。
12.可选的,所述根据所述业务流量和限速带宽,确定所述检测时长内连续发生故障的次数,包括:
13.根据所述业务流量和所述业务流量的预设统计时间间隔,确定单位时间的吞吐量;
14.根据所述吞吐量和所述限速带宽,确定带宽占用率;
15.根据预设的基础故障门限和所述带宽占用率,确定所述检测时长内连续发生故障的次数。
16.可选的,所述检测时长内连续发生故障的次数的计算公式为:
[0017][0018][0019]
其中,fdf表示所述检测时长内连续发生故障的次数,bf表示所述基础故障门限,tps表示单位时间的吞吐量,bw表示所述限速带宽,dt表示所述预设统计时间间隔,表示向下取整。
[0020]
可选的,所述方法还包括:
[0021]
在所述检测时长内,每次接收到所述对端网络设备针对所述http请求发送的响应报文后,则重新计算检测时长;
[0022]
根据新的检测时长内获取自身的业务流量,重新确定故障倒换时间。
[0023]
可选的,所述方法还包括:
[0024]
在所述检测时长内,若至少一次接收到所述对端网络设备针对所述http请求发送的响应报文,则确定未发生链路故障。
[0025]
另一方面,本技术提供一种网络链路的故障检测装置,包括:
[0026]
请求模块,用于按照设定的检测时间间隔,向对端网络设备发送的http请求;
[0027]
获取模块,用于在设定的检测时长内,当未接收到所述对端网络设备针对所述http请求发送的响应报文时,获取所述检测时长内自身的业务流量;
[0028]
故障检测模块,用于根据所述业务流量和限速带宽,确定所述检测时长内连续发生故障的次数;以及,根据所述次数和所述检测时间间隔,确定故障倒换时间;
[0029]
故障确定模块,当所述故障倒换时间到达时,确定发生链路故障。
[0030]
可选的,所述故障检测模块具体用于:
[0031]
根据所述业务流量和所述业务流量的预设统计时间间隔,确定单位时间的吞吐量;
[0032]
根据所述吞吐量和所述限速带宽,确定带宽占用率;
[0033]
根据预设的基础故障门限和所述带宽占用率,确定所述检测时长内连续发生故障的次数。
[0034]
可选的,所述检测时长内连续发生故障的次数的计算公式为:
[0035][0036][0037]
其中,fdf表示所述检测时长内连续发生故障的次数,bf表示所述基础故障门限,tps表示单位时间的吞吐量,bw表示所述限速带宽,dt表示所述预设统计时间间隔,表示向下取整。
[0038]
可选的,所述故障检测模块403还用于:
[0039]
在所述检测时长内,每次接收到所述对端网络设备针对所述http请求发送的响应报文后,则重新计算检测时长;
[0040]
根据新的检测时长内获取自身的业务流量,重新确定故障倒换时间。
[0041]
可选的,所述故障确定模块还用于:
[0042]
在所述检测时长内,若至少一次接收到所述对端网络设备针对所述http请求发送的响应报文,则确定未发生链路故障。
[0043]
另一方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在网络设备上运行时,使得网络设备执行网络链路的故障检测方法。
[0044]
另一方面,本技术实施例提供一种计算机程序产品,包含计算机程序,所述计算机程序被网络设备执行时实现上述网络链路的故障检测方法的步骤。
[0045]
本技术实施例的有益效果如下:
[0046]
本技术提供一种网络链路的故障检测方法及装置,按照设定的检测时间间隔,向对端网络设备发送的http请求,基于http协议,每一次http请求均应得到http响应,如果在设定的检测时长内若未接收到对端网络设备针对http请求发送的响应报文,并不是立即确定发送故障,而是获取检测时长内自身的业务流量,并根据业务流量和限速带宽,确定检测时长内连续发生故障的次数,结合检测时间间隔,得到故障倒换时间,当故障倒换时间到达时,确定发生链路故障。通过基于http协议、业务流量和限速带宽进行链路故障检测,从而可以根据网络设备实际的业务情况,灵活适配网络情况,拉长网络允许的故障次数,能够根据业务情况灵活变换故障检测的灵敏度,提高故障检测的准确性;且由于不是检测出一次故障后立即上报进行链路切换,从而可以兼顾网络的异常变化,提高故障检测的稳定性。
[0047]
本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
[0048]
为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0049]
图1为本技术实施例提供的应用场景示意图;
[0050]
图2为本技术实施例提供的网络链路的故障检测方法流程图;
[0051]
图3为本技术实施例提供的检测时长内链路故障的次数的确定方法流程图;
[0052]
图4为本技术实施例提供的网络链路的故障检测装置的结构图;
[0053]
图5为本技术实施例提供的网络设备的结构图。
具体实施方式
[0054]
为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术技术方案的一部分实施例,而不是全部的实施例。基于本技术文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术技术方
案保护的范围。
[0055]
在网络通信中,一些重要业务通常会部署多条网络链路,以便在底层链路故障时进行切换,实现多条链路的高可用场景。
[0056]
目前,主流的链路故障检测技术包括基于bfd协议的检测方法和基于nqa的检测方法。其中:
[0057]
bfd协议是一个简单的“hello”协议,与路由协议(如:开放的最短路径优先协议(open shortest path first,ospf))的邻居检测部分相似,提供了一种检测两台邻接路由器/交换机之间转发路径连通状态的方法,具有轻负载、速度快的特点。在bfd协议中,相邻的两个网络设备在二者建立会话的通道上周期性的发送检测报文,如果一个网络设备在足够长的时间内,没有收到对端网络设备发送的检测报文,则确定在这条双向通道的某个部分发生了故障。通过bfd协议可以快速检测到转发路径的连通故障,加快启用备份转发路径,提升网络性能。
[0058]
nqa是一种实时的网络性能探测和统计技术,可以对响应时间、网络抖动、丢包率等网络信息进行统计。nqa还提供了与track和应用模块联动的功能,实时监控网络状态的变化。nqa通过发送检测报文,对网络性能或服务质量进行分析,提供网络性能参数,如:时延抖动、http的总时延、通过dhcp获取ip地址的时延、tcp连接时延、ftp连接时延和文件传输速率等。
[0059]
目前主流的链路故障检测技术的目的是:当发生链路故障时,实现网络链路的快速切换,减少业务中断的时间,故障检测的灵敏度较高。
[0060]
在实际应用中,采用主流的链路故障检测技术,由于故障检测灵敏度较高,当检测到主链路故障时,会立刻切换到备链路,当检测到主链路恢复后,又会立刻回切到主链路。这样,可能出现有损或者无效的切换。例如,当网络链路出现间歇性抖动时,采用主流的链路故障检测技术,可能出现反复切换和反复回切的情况,加重链路损伤的程度,对业务的影响表现为,出现严重的丢包效果,降低业务体验。
[0061]
同时,考虑到网络设备对qos存在限速的情况,当网络流量达到qos限速的上限时,qos会随机丢包,有可能会丢掉检测报文,导致链路故障检测出现错误,从而引发链路的错误切换。
[0062]
鉴于此,本技术实施例提供一种网络链路的故障检测方法及装置,基于http协议,结合业务流量、带宽等多因素进行故障判断,可以根据网络设备实际的业务情况,灵活适配网络情况,拉长网络允许的故障次数,从而确定合适的故障倒换时间,做出更准确的链路故障检测,且能兼顾网络抖动或网络拥塞等异常时做出错误的故障判断,适应更多的故障检测场景,具有高效、灵活、适应性强的特点。
[0063]
参见图1,为本技术实施例提供的应用场景示意图。在图1中,a点网络设备配置有对端网络设备(b点网络设备)的ip地址,b点网络设备配置有对端网络设备(a点网络设备)的ip地址。a点网络设备和b点网络设备之间可以通过网络进行点对点(post office protocol,pop)通信。其中,a点网络设备和b点网络设备之间部署了两条链路。a点网络设备和b点网络设备根据各自配置的ip地址,通过一条链路(在图1中用粗虚线表示)进行双向通信,通信过程中,网络设备可以向对端网络设备发送用于故障检测的http请求,根据对端网络设备对http请求的响应情况,确定当前链路(在图1中用粗虚线表示)是否发生故障,并在
发生故障时切换至另一条链路,保证业务的正常运行。
[0064]
基于图1所述的应用场景,图2示例性示出了本技术实施例提供的网络链路的故障检测方法流程图,该流程由任一网络设备执行,主要包括以下几步:
[0065]
s201:按照设定的检测时间间隔,向对端网络设备发送http请求。
[0066]
在s201中,网络设备配置了对端网络设备的ip地址,根据配置的ip地址,按照设定的检测时间间隔,向该ip地址指示的对端网络设备发送http请求。
[0067]
需要说明的是,本技术实施例中的检测时间间隔可根据实际业务进行设置,大小不做限制性要求。
[0068]
s202:在设定的检测时长内,当未接收到对端网络设备针对http请求发送的响应报文时,获取检测时长内自身的业务流量。
[0069]
网络设备每次发送http请求后,如果未接收到对端网络设备发送的响应报文,表明探测失败一次,但如果立即确定网络链路出现故障,进而进行链路切换,可能会出现误判。这是因为网络处于动态的变化,如果发生网络抖动或网络拥塞时,可能会引发响应报文不可达或延时,但不是网络链路出现了故障。因此,在s202中,网格设备在设定的检测时长内未接收到对端网络设备针对http请求发送的响应报文时,并未立即做出链路故障的判断,而是通过网络接口,获取检测时长内自身的业务流量,进而根据实际业务的情况进行故障检测,防止网络异常引发的错误检测,提高链路故障检测的准确性。
[0070]
本技术的实施例中,在检测时长内,当网络设备至少一次接收到对端网络设备针对http请求发送的响应报文,则确定未发生链路故障。
[0071]
s203:根据业务流量和限速带宽,确定检测时长内连续发生故障的次数。
[0072]
在s203中,检测时长内故障发生的次数的确定过程参见图3,主要包括以下几步:
[0073]
s2031:根据业务流量和业务流量的预设统计时间间隔,确定单位时间的吞吐量。
[0074]
在s2031中,单位时间内吞吐量的计算公式为:
[0075][0076]
其中,tps(throughput per second)表示单位时间的吞吐量,tb(throughput byte)表示检测时长内的业务流量,也可理解为检测时长内的下行流量,单位为字节(byte),dt(duration time)表示业务流量的预设统计时间间隔。
[0077]
在公式1中,dt的时间单位可自行定义,本技术不做限制性要求,时间单位越小,故障检测的灵敏度越高,进行链路切换的灵敏度越高。
[0078]
s2032:根据吞吐量和限速带宽,确定带宽占用率。
[0079]
在s2032中,限速带宽即理论上最大的带宽速率,本技术实施例为qos的限速带宽。通过吞吐量和限速带宽的比,可以得到带宽占用率。
[0080]
s2033:根据预设的基础故障门限和带宽占用率,确定检测时长内连续发生故障的次数。
[0081]
在s2033中,故障次数的计算公式为:
[0082][0083]
其中,fdf(fault detection frequency)表示检测时长内连续发生故障的次数,即连续几次未收到响应报文,bf(basic frequency)表示预设的基础故障门限,代表最少的
故障次数门限,bw(bandwidth)表示限速带宽,表示带宽占用率,表示向下取整。
[0084]
在s2033中,通过带宽占用率乘以100向下取整后得到一个整数,加上基础故障门限后得到检测时长内连续发生故障的次数。
[0085]
通过公式2可知,当获得的业务流量较低时,检测时长内网络允许发生的故障次数越少,这样可以及时的报告网络设备和对端网络设备的链路出现了故障,当获得的业务流量较高时,检测时长内网络允许发生的故障次数越多,从而降低故障倒换的灵敏度,可以兼顾网络抖动或者网络拥塞等异常引发的错误检测,避免链路的频繁切换造成的链路损耗。
[0086]
从公式2还可以看出,当业务流量很小时,检测时长内网络允许发生的故障次数为基本故障门限。例如,假设基础故障门限为三次,业务流量很小导致带宽占用率取整后为0时,当有三次未接收到响应报文时,判断网络设备和对端网络设备的链路发生了故障,需要进行切换。
[0087]
本技术实施例考虑了单位时间内的业务流量和限速带宽,通过带宽占用率灵活的调节链路故障检测的灵敏度,其中,带宽占用率越高,故障检测的灵敏性越低,带宽占用率越低,故障检测的灵敏性越高。
[0088]
可选的,本技术实施例设置fdf的上限为100次。
[0089]
s204:根据次数和检测时间间隔,确定故障倒换时间。
[0090]
在s204中,故障倒换时间的计算公式为:
[0091]
psd=fdf*lag
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式3
[0092]
其中,psd(protection switching duration)表示故障倒换时间,lag表示检测时间间隔,默认为1秒。
[0093]
s205:当故障倒换时间到达时,确定发生链路故障。
[0094]
例如,假设lag=1秒,fdf=n次,这样,网络设备最小可在n秒确定发生链路故障,进行链路切换;最大可在100n秒确定发生链路故障,进行链路切换。
[0095]
本技术的实施例中,采用公式3计算链路的故障到换时间,当业务流量较小(当链路真正中断或者进行演示测试的情况下,业务流量接近0kbps)时,可以快速进行链路切换,以保障业务连续不中断;当业务流量较大时,增加了故障倒换时间,这样可以兼顾间歇的网络抖动或者网络拥塞等异常情况,适当降低故障检测的敏感性,减小故障误判造成的链路来回切换的损耗,保障业务的持续性。
[0096]
本技术上述实施例的方法可独立运作预网络设备侧,仅需要与对端网络设备或对端终端进行互动,相对独立,且配置灵活。
[0097]
在一些实施例中,网络设备按照设定的检测时间间隔向对端网络设备发送http请求时,在设定的检测时长内可能间断性的接收到响应报文,由于故障倒换时间时基于连续的故障次数确定的,因此,当间断性接收到响应报文时,需从新计算检测时长。
[0098]
具体实施时,在检测时长内,每次接收到对端网络设备针对http请求发送的响应报文后,则重新计算检测时长,并根据新的检测时长内获取自身的业务流量,重新确定故障倒换时间。
[0099]
例如,假设当前业务对应的fdf为5次,在当前检测时长内,网络设备针对前2次发送的http请求没有接收到响应报文,而第3次接收到了响应报文,则从第3次接收到响应报
文开始,连续5次未接收到响应报文时,确定发生了链路故障,并在第3次接收到响应报文开始,5*lag秒后上报链路故障并切换。
[0100]
本技术实施例提供的网络链路的故障检测方法中,在进行链路故障检测时,考虑了网络设备在单位时间内业务流量的大小和qos限速带宽的大小,通过计算带宽占用率灵活的调节故障检测的灵敏度,带宽占用率越高,故障检测的灵敏性越低,带宽占用率越低,故障检测的灵敏性越高,这样,在处理网络业务复杂的情况下,提高了链路故障的检测的灵活性,从而在业务流量较小时,及时的报告链路故障,当业务流量较高时,能够兼顾网络抖动或拥塞等异常现象,提高链路故障检测的准确性,避免链路来回切换,降低链路损耗,具有高效、灵活、适应性强的特点。并且,本技术基于http协议进行故障检测,相对于控制报文协议(internet control message protocol,icmp),故障检测的准确性更高,对实际应用可用性指导性更强,提供业务体验。
[0101]
本技术上述实施例提供的网络链路的故障检测方法,可所有网络终端类设备,适合支持多链路出口的场景,通过检测时长内连续发生故障的次数,最终确定是否真的故障,并在主链路故障时,切换到备用链路。
[0102]
例如,上述网络设备可以为软件定义广域网(software defined wide area network,sd-wan)的智能网关。sd-wan的智能网关支持双wan、lte等多种上行链路方式,且具备多链路高可用倒换的能力。sd-wan的智能网关采用本技术实施例提供的方法进行链路故障检测,相对于使用bfd协议,该方法简单,实现难度低,性能消耗小,不仅能兼顾bfd的优点,同时解决bfd方案的不足,能够有效解决sdwan的智能网关在实际应用中出现的错误切换问题。
[0103]
基于相同的技术构思,本技术实施例提供一种网络链路的故障检测装置,该装置能够执行上述实施例中网络链路的故障检测方法,且能够实现相同的技术效果,在此不再赘述。
[0104]
参见图4,该装置包括请求模块401、获取模块402、故障检测模块403和故障确定模块404,其中:
[0105]
请求模块401,用于按照设定的检测时间间隔,向对端网络设备发送的http请求;
[0106]
获取模块402,用于在设定的检测时长内,当未接收到所述对端网络设备针对所述http请求发送的响应报文时,获取所述检测时长内自身的业务流量;
[0107]
故障检测模块403,用于根据所述业务流量和限速带宽,确定所述检测时长内连续发生故障的次数;以及,根据所述次数和所述检测时间间隔,确定故障倒换时间;
[0108]
故障确定模块404,当所述故障倒换时间到达时,确定发生链路故障。
[0109]
可选的,所述故障检测模块403具体用于:
[0110]
根据所述业务流量和所述业务流量的预设统计时间间隔,确定单位时间的吞吐量;
[0111]
根据所述吞吐量和所述限速带宽,确定带宽占用率;
[0112]
根据预设的基础故障门限和所述带宽占用率,确定所述检测时长内连续发生故障的次数。
[0113]
可选的,所述检测时长内联系发生故障的次数的计算公式为:
[0114][0115][0116]
其中,fdf表示所述检测时长内连续发生故障的次数,bf表示所述基础故障门限,tps表示单位时间的吞吐量,bw表示所述限速带宽,dt表示所述预设统计时间间隔,表示向下取整。
[0117]
可选的,所述故障检测模块403还用于:
[0118]
在所述检测时长内,每次接收到所述对端网络设备针对所述http请求发送的响应报文后,则重新计算检测时长;
[0119]
根据新的检测时长内获取自身的业务流量,重新确定故障倒换时间。
[0120]
基于相同的技术构思,本技术实施例提供一种网络设备,该网络设备执行上述实施例中网络链路的故障检测方法,且能够实现相同的技术效果,在此不再赘述。
[0121]
参见图5,该网络设备包括处理器501、存储器502和通信接口503,所述处理器501、所述存储器502和所述通信接口通过总线504连接,所述通信接口503用于与对端网络设备进行通信,包括但不限于发送请求和接收响应,所述存储器502存储有计算机程序,所述处理器501根据所述计算机程序执行上述实施例中网络链路的故障检测方法步骤。
[0122]
本技术实施例图5中涉及的处理器可以是中央处理器(central processing unit,cpu),通用处理器,图形处理器(graphics processing unit,gpu)数字信号处理器(digital signal processor,dsp),专用集成电路(application-specific integrated circuit,asic),现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。
[0123]
另一方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在网络设备上运行时,使得网络设备执行网络链路的故障检测方法。
[0124]
另一方面,本技术实施例提供一种计算机程序产品,包含计算机程序,所述计算机程序被网络设备执行时实现上述网络链路的故障检测方法的步骤。
[0125]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0126]
本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0127]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特
定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0128]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0129]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献