根据网络抖动调整bfd发送间隔的方法及装置的制作方法

文档序号:7767043阅读:1149来源:国知局
专利名称:根据网络抖动调整bfd发送间隔的方法及装置的制作方法
技术领域
本发明涉及通讯技术领域,尤其涉及一种链路检测中根据网络抖动调整 BFD(Bidirectional Forwarding Detection,双向转发检测)发送间隔的方法及装置。
背景技术
为了保护关键应用,网络中设计有冗余备份链路,当网络发生故障时,要求网络设备能够快速检测出故障,并将流量切换至备份链路以加快网络收敛速度。目前,有些链路比如POS(locket over SONET)可以通过硬件检测机制来实现快速故障检测,但是,有些链路比如以太网链路则不具备这样的检测机制。此时,应用需要依靠上层协议自身的机制来进行故障检测,而上层协议的检测时间都在1秒以上,这样的故障检测时间无法满足某些应用的要求。路由协议如OSPF(Open Shortest Path First,开放式最短路径优先)、 IS-IS(Intermediate System to Intermediate System Routing Protocol,中间系统至Ij中间系统的路由选择协议),虽然有i^ast Hello功能来加快检测速度,但是其检测时间也只能达到1秒的精度,而且!^计Hello功能只针对本协议,无法为其他协议提供快速故障检测。BFD协议则是在此种背景下产生,其提供了一个通用的标准化的与介质无关、与协议无关的快速故障检测机制。BFD在发送BFD控制报文时,考虑到传输网络环境中的抖动对于检测结果的影响, 对于发送周期做如下处理周期性发送BFD控制报文时必须考虑以每包为基础的最大25%的抖动,也就是说,包间隔必须随机的减小一个从O 25%的值,为了避免同一子网上与其他系统的同步, 平均包间隔大致比协商值小12.5%。若检测时间累加器为1,则传输的包间隔必须为协商传输间隔值的90%,并且不小于协商间隔值的75%。这是为了保证在接收到下一报文前远端系统计算检测时间超时。发送间隔对于BFD检测结果有着重要的影响,针对网络抖动,通过随机值将实际的发送间隔减小,平均的包间隔减小12. 5%,但是包的实际发送间隔并不可知,并且随机值并不能做到真正随机,由此可能出现抖动大时包间隔不减小的情况而导致检测失误。而且当网络环境较好时,没有必要对包间隔进行缩短处理;而当抖动超出了上述25%范围的时候,表明网络环境较差,为了应对抖动,也不一定只对发包间隔进行调整,还可以通过上报告警通知告知控制面提前采取其他措施,而不必等到BFD检测到链路断时再采取措施。因此,现有技术中的BFD发送控制报文时,不能根据实际网络状况而动态调整发送报文间隔,从而导致发包间隔在较大范围内随机变化,无法精确控制发包时间。

发明内容
本发明的主要目的在于提供一种根据网络抖动调整BFD发送间隔的方法及装置, 旨在提高BFD检测的精确度和可应用性。为了达到上述目的,本发明提出一种根据网络抖动调整双向转发检测BFD发送间隔的方法,包括通过BFD会话源端与目的端发送报文来测量网络抖动值X ;根据所述网络抖动值X、当前BFD报文发送时的协商间隔值Y以及检测时间累加器的值调整BFD发送间隔。优选地,所述通过BFD会话源端与目的端发送报文来测量网络抖动值X的步骤包括记录目的端向源端发送报文的等间隔时间T,并统计源端接收每一报文的时戳t ;计算每两个所述报文到达的时差Δ t ;根据所述等间隔时间T以及时差Δ t计算网络抖动值X。优选地,所述根据网络抖动值X、当前BFD报文发送时的协商间隔值Y以及检测时间累加器的值调整BFD发送间隔的步骤包括当所述检测时间累加器的值大于1时,若X/Y< 25%,则将BFD报文发送时的协商间隔值Y减小第一预定阀值Μ,得到调整后的BFD发送间隔;或者若Χ/Υ彡25%,则将BFD报文发送时的协商间隔值Y减小25%,得到调整后的BFD 发送间隔。优选地,所述根据网络抖动值X、当前BFD报文发送时的协商间隔值Y以及检测时间累加器的值调整BFD发送间隔的步骤还包括当所述检测时间累加器的值为1时,若Χ/Υ< 25%,则将BFD报文发送时的协商间隔值Y减小第一预定阀值M再减去第二预定阀值N,得到调整后的BFD发送间隔;或者若Χ/Υ彡25%,则将BFD报文发送时的协商间隔值Y减小25%,得到调整后的BFD 发送间隔。优选地,所述第一预定阀值M和第二预定阀值N根据网络状态确定。本发明还提出一种根据网络抖动调整BFD发送间隔的装置,包括网络抖动值测量模块,用于通过BFD会话源端与目的端发送报文来测量网络抖动值X;发送间隔调整模块,用于根据所述网络抖动值X、当前BFD报文发送时的协商间隔值Y以及检测时间累加器的值调整BFD发送间隔。优选地,所述网络抖动值测量模块包括;统计单元,用于记录目的端向源端发送报文的等间隔时间Τ,并统计源端接收每一报文的时戳t;时差计算单元,用于计算每两个所述报文到达的时差At;网络抖动值计算单元,用于根据所述等间隔时间T以及时差At计算网络抖动值 X。优选地,所述发送间隔调整模块还用于当所述检测时间累加器的值大于1时,若 X/Y < 25% JI^tBFD报文发送时的协商间隔值Y减小第一预定阀值M,得到调整后的BFD 发送间隔;或者若X/Y ^25%,则将BFD报文发送时的协商间隔值Y减小25%,得到调整后的BFD发送间隔。优选地,所述发送间隔调整模块还用于当所述检测时间累加器的值为1时,若X/Y <25% Jl^fBFD报文发送时的协商间隔值Y减小第一预定阀值M再减去第二预定阀值N,得到调整后的BFD发送间隔;或者若X/Y ^ 25% Jl^fBFD报文发送时的协商间隔值Y减小25 %,得到调整后的BFD发送间隔。优选地,所述第一预定阀值M和第二预定阀值N根据网络状态确定。本发明提出的一种根据网络抖动调整BFD发送间隔的方法及装置,通过BFD会话两端发送报文来测量网络抖动值,根据网络抖动值、当前BFD报文发送时的协商间隔值以及检测时间累加器的值对BFD发送间隔进行调整,克服了现有技术中的BFD发送控制报文时,不能根据实际网络状况而动态调整发送报文间隔从而导致发包间隔在较大范围内随机变化的缺点,解决现有技术中存在的实际发包间隔与实际环境配置参数不符的问题,根据网络抖动对发包时间间隔进行范围控制,从而更精确控制发包时间,提高BFD检测的精确度和可应用性。


图1是本发明根据网络抖动调整BFD发送间隔的方法一实施例流程示意图;图2是本发明根据网络抖动调整BFD发送间隔的方法一实施例中通过BFD会话源端与目的端发送报文来测量网络抖动值X的流程示意图;图3是本发明根据网络抖动调整BFD发送间隔的方法一实施例中根据网络抖动值 X、当前BFD报文发送时的协商间隔值Y以及检测时间累加器的值调整BFD发送间隔的流程示意图;图4是本发明根据网络抖动调整BFD发送间隔的装置一实施例结构示意图;图5是本发明根据网络抖动调整BFD发送间隔的装置一实施例中网络抖动值测量模块的结构示意图。为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施例方式本发明实施例解决方案主要是通过BFD会话两端发送报文来测量网络抖动值,根据网络抖动值、当前BFD报文发送时的协商间隔值以及检测时间累加器的值对BFD发送间隔进行调整,以提高BFD检测的精确度和可应用性。如图1所示,本发明一实施例提出一种根据网络抖动调整BFD发送间隔的方法,包括步骤S101,通过BFD会话源端与目的端发送报文来测量网络抖动值X ;在本实施例中,可以通过BFD会话两端即目的端与源端之间发送报文来计算网络抖动值X。其中,可以利用BFD报文本身进行测量,也可以通过发送BFD报文之外的报文进行测量。以UDP报文为例,具体可以通过目的端向源端等间隔时间T发送UDP小报文对网络抖动进行计算,源端统计每一次接收到UDP报文的时戳t,并计算每两包UDP报文到达的时差At,通过公式|T-At|得到网络抖动值X。步骤S102,根据网络抖动值X、当前BFD报文发送时的协商间隔值Y以及检测时间累加器的值调整BFD发送间隔。对BFD发送间隔的调整分为两种情况进行考虑,第一种情况是检测时间累加器的值为大于1的情况;第二种情况是检测时间累加器的值为1的情况。设当前BFD报文发送时的协商间隔值为Y,当检测时间累加器大于1时,若X/Y < 25%,则将BFD报文发送时的协商间隔值Y减小第一预定阀值M(比如网络抖动值X)之后作为实际的发送间隔。若X/ Y彡25% Jl^fBFD报文发送时的协商间隔值Y减小25%,作为实际的发送间隔。当检测时间累加器为1时,若X/Y < 25%,则将BFD报文发送时的协商间隔值Y在减小第一预定阀值M的基础上再减去第二预定阀值N(比如减小网络抖动值X之后再减去 5ms)作为实际的发送间隔。若X/Y彡25%,则将BFD发送协商间隔减小25%作为实际的发送间隔。上述第二种情况相对于第一种情况而言,对于BFD发送间隔的处理需要更加严格,因为在第二种情况下,超时时间只有一个发送时间间隔,如果间隔预留的裕量不够,在网络状况不稳定的情况下,则会出现误报。所以当χ/Υ < 25%的情况下,第二种情况比第一种情况减小的间隔时间要更大。因此,本实施例中,在两种情况下,分别针对X/Y比值与 25%进行比较而作区分,对实际的BFD发包间隔做调整。其中,第一预定阀值M和第二预定阀值N根据网络实际状态确定。M值直接与抖动值相关,可以动态设定,当网络抖动较大的时候,该值取较大的值;当网络抖动较小时,该值取较小的值;比如,该值可以直接设置为抖动值或者抖动值乘以某个系数。N的取值只在在检测时间累加器为1的时候用到,对比与检测时间累加器大于1的情况,为了防止BFD误检测而在已经减小BFD发送间隔的基础上再减小一个值,在M和N分别单独取值的时候,N值可以静态设定也可以动态设定,静态设定是用于网络环境比较稳定的情况下,动态设定是用于网络环境不稳定的情况下。在网络环境不稳定的情况下,M和N的取值也可以利用抖动值乘以某个系数共同设定,该系数取值的原则是使得检测累加器为1的情况下,BFD报文发送时的协商间隔值Y小于检测累加器大于1的情况下的发送协商间隔值。如图2所示,步骤SlOl包括步骤S1011,记录目的端向源端发送报文的等间隔时间T,并统计源端接收每一报文的时戳t;步骤S1012,计算每两个报文到达的时差At ;步骤S1013,根据等间隔时间T以及时差At计算网络抖动值X。如图3所示,步骤S102包括步骤S1021,判断检测时间累加器的值大于1或等于1,若大于1,则进入步骤 S1022 ;若等于1,则进入步骤S1025 ;步骤S1022,判断X/Y是否< 25%,若是,则进入步骤S1023 ;否则,进入步骤 S1024 ;步骤S1023,将BFD报文发送时的协商间隔值Y减小第一预定阀值M,得到调整后的BFD发送间隔;步骤S1024,将BFD报文发送时的协商间隔值Y减小25%,得到调整后的BFD发送间隔。步骤S1025,判断X/Y是否< 25%,若是,则进入步骤S1026 ;否则,进入步骤 S1024 ;步骤S1026,将BFD报文发送时的协商间隔值Y减小第一预定阀值M再减去第二预定阀值N,得到调整后的BFD发送间隔。需要说明的是,在上述网络抖动值测试过程中,目的端向源端发送的UDP报文为小报文,只带有序号与标识符,标识符区分BFD会话,序号可以在接收端查看重传以及丢包,因为报文长度小,流量很小,所以对网络不会造成大的影响。在网络抖动值X确定之前,对于BFD报文的实际初始发送间隔的确定, 可以按照现有的BFD处理方法进行,即在发送方向上以小于max(bfd.DMTI,bfd. RemoteMinRxInterval)的时间间隔发送BFD控制报文。bfd. DMTI表示本端发送BFD报文的最小时间间隔,bfdRemoteMinRxInterval表示对端希望接收报文的最小时间间隔,同时区分检测时间累加器为1和大于1的两种情况。例如在检测时间累加器为1的时候,发送间隔设置为协商值的90% ;在检测累加器大于1的时候,发送间隔设置为协商值的85%。在根据网络抖动值调整发送BFD报文时间间隔时,还可以采用不同的评价标准或者将评价标准与X/Y比值结合,比如,通常抖动值超过60ms,则认为网络状态较差,在调整 BFD发送间隔时,可以参考该值对BFD发送间隔进行相应调整。因为BFD为双向转发协议,所以在每个BFD方向上均可以单独运用本实施例方法。采用本实施例所述方法,解决了现有技术中存在的实际发包间隔与实际环境配置参数不符的问题,根据网络抖动对发包时间间隔进行范围控制,从而更精确控制发包时间, 提高了 BFD检测的精确度和BFD检测的可应用性。如图4所示,本发明一实施例提出一种根据网络抖动调整BFD发送间隔的装置,包括网络抖动值测量模块401以及发送间隔调整模块402,其中网络抖动值测量模块401,用于通过BFD会话源端与目的端发送报文来测量网络抖动值X ;在本实施例中,可以通过BFD会话两端即目的端与源端之间发送报文来计算网络抖动值X。其中,可以利用BFD报文本身进行测量,也可以通过发送BFD报文之外的报文进行测量。以UDP报文为例,具体可以通过目的端向源端等间隔时间T发送UDP小报文对网络抖动进行计算,源端统计每一次接收到UDP报文的时戳t,并计算每两包UDP报文到达的时差At,通过公式|T-At|得到网络抖动值X。发送间隔调整模块402,用于根据网络抖动值X、当前BFD报文发送时的协商间隔值Y以及检测时间累加器的值调整BFD发送间隔。对BFD发送间隔的调整分为两种情况进行考虑,第一种情况是检测时间累加器的值为大于1的情况;第二种情况是检测时间累加器的值为1的情况。设当前BFD报文发送时的协商间隔值为Y,当检测时间累加器大于1时,若X/Y < 25%,则将BFD报文发送时的协商间隔值Y减小第一预定阀值M(比如网络抖动值X)之后作为实际的发送间隔。若X/ Y彡25% Jl^fBFD报文发送时的协商间隔值Y减小25%,作为实际的发送间隔。当检测时间累加器为1时,若X/Y < 25%,则将BFD报文发送时的协商间隔值Y在减小第一预定阀值M的基础上再减去第二预定阀值N(比如减小网络抖动值X之后再减去 5ms)作为实际的发送间隔。若X/Y彡25%,则将BFD发送协商间隔减小25%作为实际的发送间隔。上述第二种情况相对于第一种情况而言,对于BFD发送间隔的处理需要更加严格,因为在第二种情况下,超时时间只有一个发送时间间隔,如果间隔预留的裕量不够,在网络状况不稳定的情况下,则会出现误报。所以当χ/Υ < 25%的情况下,第二种情况比第一种情况减小的间隔时间要更大。因此,本实施例中,在两种情况下,分别针对X/Y比值与 25%进行比较而作区分,对实际的BFD发包间隔做调整。其中,第一预定阀值M和第二预定阀值N根据网络实际状态确定。M值直接与抖动值相关,可以动态设定,当网络抖动较大的时候,该值取较大的值;当网络抖动较小时,该值取较小的值;比如,该值可以直接设置为抖动值或者抖动值乘以某个系数。N的取值只在在检测时间累加器为1的时候用到,对比与检测时间累加器大于1的情况,为了防止BFD误检测而在已经减小BFD发送间隔的基础上再减小一个值,在M和N分别单独取值的时候,N值可以静态设定也可以动态设定,静态设定是用于网络环境比较稳定的情况下,动态设定是用于网络环境不稳定的情况下。在网络环境不稳定的情况下,M和N的取值也可以利用抖动值乘以某个系数共同设定,该系数取值的原则是使得检测累加器为1的情况下,BFD报文发送时的协商间隔值Y小于检测累加器大于1的情况下的发送协商间隔值。如图5所示,网络抖动值测量模块401包括统计单元4011、时差计算单元4012以及网络抖动值计算单元4013,其中统计单元4011,用于记录目的端向源端发送报文的等间隔时间T,并统计源端接收每一报文的时戳t;时差计算单元4012,用于计算每两个报文到达的时差At;网络抖动值计算单元4013,用于根据等间隔时间T以及时差At计算网络抖动值 X。需要说明的是,在上述网络抖动值测试过程中,目的端向源端发送的UDP报文为小报文,只带有序号与标识符,标识符区分BFD会话,序号可以在接收端查看重传以及丢包,因为报文长度小,流量很小,所以对网络不会造成大的影响。在网络抖动值X确定之前,对于BFD报文的实际初始发送间隔的确定, 可以按照现有的BFD处理方法进行,即在发送方向上以小于max(bfd.DMTI,bfd. RemoteMinRxInterval)的时间间隔发送BFD控制报文。bfd. DMTI表示本端发送BFD报文的最小时间间隔,bfdRemoteMinRxInterval表示对端希望接收报文的最小时间间隔,同时区分检测时间累加器为1和大于1的两种情况。例如在检测时间累加器为1的时候,发送间隔设置为协商值的90% ;在检测累加器大于1的时候,发送间隔设置为协商值的85%。在根据网络抖动值调整发送BFD报文时间间隔时,还可以采用不同的评价标准或者将评价标准与X/Y比值结合,比如,通常抖动值超过60ms,则认为网络状态较差,在调整 BFD发送间隔时,可以参考该值对BFD发送间隔进行相应调整。因为BFD为双向转发协议,所以在每个BFD方向上均可以单独运用本实施例装置来实现对BFD发送间隔的调整。本发明实施例根据网络抖动调整BFD发送间隔的方法及装置,通过BFD会话两端发送报文来测量网络抖动值,根据网络抖动值、当前BFD报文发送时的协商间隔值以及检测时间累加器的值对BFD发送间隔进行调整,克服了现有技术中的BFD发送控制报文时,不能根据实际网络状况而动态调整发送报文间隔从而导致发包间隔在较大范围内随机变化的缺点,解决现有技术中存在的实际发包间隔与实际环境配置参数不符的问题,根据网络抖动对发包时间间隔进行范围控制,从而更精确控制发包时间,提高BFD检测的精确度和
可应用性。 以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.一种根据网络抖动调整双向转发检测BFD发送间隔的方法,其特征在于,包括通过BFD会话源端与目的端发送报文来测量网络抖动值X ;根据所述网络抖动值X、当前BFD报文发送时的协商间隔值Y以及检测时间累加器的值调整BFD发送间隔。
2.根据权利要求1所述的方法,其特征在于,所述通过BFD会话源端与目的端发送报文来测量网络抖动值X的步骤包括记录目的端向源端发送报文的等间隔时间T,并统计源端接收每一报文的时戳t ;计算每两个所述报文到达的时差At;根据所述等间隔时间T以及时差Δ t计算网络抖动值X。
3.根据权利要求1所述的方法,其特征在于,所述根据网络抖动值X、当前BFD报文发送时的协商间隔值Y以及检测时间累加器的值调整BFD发送间隔的步骤包括当所述检测时间累加器的值大于1时,若X/Y < 25%,则将BFD报文发送时的协商间隔值Y减小第一预定阀值M,得到调整后的BFD发送间隔;或者若X/Y彡25%,则将BFD报文发送时的协商间隔值Y减小25%,得到调整后的BFD发送间隔。
4.根据权利要求3所述的方法,其特征在于,所述根据网络抖动值X、当前BFD报文发送时的协商间隔值Y以及检测时间累加器的值调整BFD发送间隔的步骤还包括当所述检测时间累加器的值为1时,若X/Y< 25%,则将BFD报文发送时的协商间隔值 Y减小第一预定阀值M再减去第二预定阀值N,得到调整后的BFD发送间隔;或者若Χ/Υ彡25%,则将BFD报文发送时的协商间隔值Y减小25%,得到调整后的BFD发送间隔。
5.根据权利要求4所述的方法,其特征在于,所述第一预定阀值M和第二预定阀值N根据网络状态确定。
6.一种根据网络抖动调整BFD发送间隔的装置,其特征在于,包括网络抖动值测量模块,用于通过BFD会话源端与目的端发送报文来测量网络抖动值X ;发送间隔调整模块,用于根据所述网络抖动值X、当前BFD报文发送时的协商间隔值Y 以及检测时间累加器的值调整BFD发送间隔。
7.根据权利要求6所述的装置,其特征在于,所述网络抖动值测量模块包括统计单元,用于记录目的端向源端发送报文的等间隔时间Τ,并统计源端接收每一报文的时戳t;时差计算单元,用于计算每两个所述报文到达的时差At;网络抖动值计算单元,用于根据所述等间隔时间T以及时差At计算网络抖动值X。
8.根据权利要求6所述的装置,其特征在于,所述发送间隔调整模块还用于当所述检测时间累加器的值大于1时,若X/Y < 25%,则将BFD报文发送时的协商间隔值Y减小第一预定阀值M,得到调整后的BFD发送间隔;或者若X/Y ^ 25% Jl^fBFD报文发送时的协商间隔值Y减小25 %,得到调整后的BFD发送间隔。
9.根据权利要求6所述的装置,其特征在于,所述发送间隔调整模块还用于当所述检测时间累加器的值为1时,若X/Y< 25% Jl^tBFD报文发送时的协商间隔值Y减小第一预定阀值M再减去第二预定阀值N,得到调整后的BFD发送间隔;或者若Χ/Υ彡25%,则将BFD报文发送时的协商间隔值Y减小25%,得到调整后的BFD发送间隔。
10.根据权利要求9所述的装置,其特征在于,所述第一预定阀值M和第二预定阀值N 根据网络状态确定。
全文摘要
本发明涉及一种根据网络抖动调整BFD发送间隔的方法及装置,其方法包括通过BFD会话源端与目的端发送报文来测量网络抖动值X;根据网络抖动值X、当前BFD报文发送时的协商间隔值Y以及检测时间累加器的值调整BFD发送间隔。本发明克服了现有技术中的BFD发送控制报文时,不能根据实际网络状况而动态调整发送报文间隔从而导致发包间隔在较大范围内随机变化的缺点,解决现有技术中存在的实际发包间隔与实际环境配置参数不符的问题,而且根据网络抖动对发包时间间隔进行范围控制,从而更精确控制发包时间,提高BFD检测的精确度和可应用性。
文档编号H04L12/26GK102487338SQ20101056704
公开日2012年6月6日 申请日期2010年12月1日 优先权日2010年12月1日
发明者张冰, 李晋, 王士鹏, 王宝玉 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1