一种基于RTT监测的链路健康检测系统及方法转让专利

申请号 : CN201610005141.1

文献号 : CN106941425B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 叶晓舟贾正义

申请人 : 中国科学院声学研究所北京中科智网科技有限公司

摘要 :

本发明涉及一种基于RTT监测的链路健康检测系统,包括:实时监测模块、计时模块、基准文件模块、异常统计模块以及自适应采样模块;其中,实时监测模块负责对链路上数据包往返时间进行实时检测并与基准文件模块所提供的基准值进行对比;所述基准文件模块提供基准值,还负责对各时段历史基准值进行加权更新;所述计时模块负责确定当前所处时段;所述异常统计模块负责统计异常次数;所述自适应采样模块根据异常统计模块所提供的异常计数值调整发送监测数据包的间隔。

权利要求 :

1.一种基于RTT监测的链路健康检测方法,基于一种基于RTT监测的链路健康检测系统实现,该系统包括:实时监测模块(101)、计时模块(102)、基准文件模块(103)、异常统计模块(104)以及自适应采样模块(105);其中,所述实时监测模块(101)负责对链路上数据包往返时间进行实时检测并与基准文件模块(103)所提供的基准值进行对比;所述基准文件模块(103)提供基准值,还负责对各时段历史基准值进行加权更新;所述计时模块(102)负责确定当前所处时段;所述异常统计模块(104)负责统计异常次数;所述自适应采样模块(105)根据异常统计模块(104)所提供的异常计数值调整发送监测数据包的间隔;所述方法包括:步骤1)、系统初始化,并输入待监测链路;其中,所述系统初始化包括对系统参数的初始化以及基准文件模块(103)的初始化;其中,所述系统参数至少包括异常判定阈值、异常统计阈值、发送探测数据包间隔以及异常计数值;

步骤2)、由计时模块(102)获得当前时段,基准文件模块(103)准备好当前时段的历史基准值;

步骤3)、判断是否进入了一个新的时段,如果进入了一个新的时段,执行下一步,否则,执行步骤5);

步骤4)、对前一时段中记录的RTT值求均值N,然后加权更新前一时段的RTT基准值,然后重新执行步骤2);

步骤5)、依然处于当前时段,实时监测模块(101)开始以发送探测数据包间隔大小为T发送监测数据包并记录获得的RTT值;

步骤6)、实时监测模块(101)每获得一次RTT值,都要与基准文件中当前时段的历史基准值进行对比,判断两者之差有没有超过异常判定阈值,如果超过,则执行步骤11),如果没有超过,执行下一步;

步骤7)、判断异常计数值是否大于1,如果大于1,执行下一步,否则,重新执行步骤2);

步骤8)、记录RTT值,并将异常计数值减1;

步骤9)、判断异常计数值是否大于0,如果是,重新执行步骤2),如果不是,执行下一步;

步骤10)、将发送探测数据包的间隔大小变为T,然后重新执行步骤2);

步骤11)、将异常统计值加1,并丢弃当前获得的RTT值;

步骤12)、判断异常计数值是否达到了异常统计阈值,如果是,执行下一步,否则,执行步骤14);

步骤13)、发出链路异常报警,检测结束;

步骤14)、判断异常计数值是否大于异常统计阈值B的一半,如果是,执行下一步,否则,重新执行步骤2);

步骤15)、将发送探测数据包的间隔大小由T变为T/2,然后重新执行步骤2)。

2.根据权利要求1所述的基于RTT监测的链路健康检测方法,其特征在于,初始化异常判定阈值时为其赋值100ms,初始化异常统计阈值时为其赋值5,初始化发送探测数据包间隔时为其赋值10s,初始化异常计数值时为其赋值0。

3.根据权利要求1所述的基于RTT监测的链路健康检测方法,其特征在于,在步骤4)中,加权更新前一时段的RTT基准值的更新公式为:NEW=C1×H+C2×N;

其中,H为前一时段RTT的历史基准值,N为前一时段实时监测RTT值的均值,NEW为更新后前一时段RTT基准值,C1为与历史基准值有关的加权更新时的权值,C2为与实时基准值有关的加权更新的权值,C1+C2=1,且C2的值大于C1的值。

4.根据权利要求3所述的基于RTT监测的链路健康检测方法,其特征在于,C1=0.3,C2=0.7。

说明书 :

一种基于RTT监测的链路健康检测系统及方法

技术领域

[0001] 本发明涉及网络监测领域,特别涉及一种基于RTT监测的链路健康检测系统及方法。

背景技术

[0002] 许多企业都意识到单条互联网出口链路带来的问题:链路一旦中断,内部员工将无法访问互联网,分支机构VPN中断,网站邮箱均无法对外服务。因此许多企业会部署多条运营商链路来解决单出口的不可靠。但是多链路引入后需要根据各链路的健康状况来进行负载均衡策略部署。这就需要一种实时链路健康检测方法与系统。
[0003] 网络延时作为直观反映网络性能好坏的技术指标,受到IETF标准化组织和几乎所有的网络性能研究机构的重视,纷纷以其作为对网络性能进行全面分析、深入研究的首要指标。网络延时小,说明网络连接性能好,网络路径上的所有组件处于正常运行状态。网络延时大,且持续相当一段时间,则暗示该网络路径所经过的某些组件发生了异常行为,导致该连接性能变差,承载的高层业务性能也可能受到影响。因此,通过对网络延时进行全天候、实时的测量和分析,可以及时了解网络的运行情况。
[0004] 但是目前的多数方法都没有考虑到一个问题,那就是往返时间(Round-TripTime,RTT)分布具有一定周期性,依赖于每天时间的不同和用户网络行为的不同,正常的RTT曲线应该是有一定波动的,而不是一条直线。

发明内容

[0005] 本发明的目的在于克服已有的链路健康监测系统及方法没有考虑往返时间分布具有周期性的缺陷,从而提供一种基准值更准确的链路健康监测系统及方法。
[0006] 为了实现上述目的,本发明提供了一种基于RTT监测的链路健康检测系统,包括:实时监测模块101、计时模块102、基准文件模块103、异常统计模块104以及自适应采样模块
105;其中,
[0007] 所述实时监测模块101负责对链路上数据包往返时间进行实时检测并与基准文件模块103所提供的基准值进行对比;所述基准文件模块103提供基准值,还负责对各时段历史基准值进行加权更新;所述计时模块102负责确定当前所处时段;所述异常统计模块104负责统计异常次数;所述自适应采样模块105根据异常统计模块104所提供的异常计数值调整发送监测数据包的间隔。
[0008] 本发明还提供了基于所述的基于RTT监测的链路健康检测系统所实现的链路健康检测方法,包括:
[0009] 步骤1)、系统初始化,并输入待监测链路;其中,所述系统初始化包括对系统参数的初始化以及基准文件模块103的初始化;其中,所述系统参数至少包括异常判定阈值、异常统计阈值、发送探测数据包间隔以及异常计数值;
[0010] 步骤2)、由计时模块102获得当前时段,基准文件模块103准备好当前时段的历史基准值;
[0011] 步骤3)、判断是否进入了一个新的时段,如果进入了一个新的时段,执行下一步,否则,执行步骤5);
[0012] 步骤4)、对前一时段中记录的RTT值求均值N,然后加权更新前一时段的RTT基准值,然后重新执行步骤2);
[0013] 步骤5)、依然处于当前时段,实时监测模块101开始以发送探测数据包间隔大小为T发送监测数据包并记录获得的RTT值;
[0014] 步骤6)、实时监测模块101每获得一次RTT值,都要与基准文件中当前时段的历史基准值进行对比,判断两者之差有没有超过异常判定阈值,如果超过,则执行步骤11),如果没有超过,执行下一步;
[0015] 步骤7)、判断异常计数值是否大于1,如果大于1,执行下一步,否则,重新执行步骤2);
[0016] 步骤8)、记录RTT值,并将异常计数值减1;
[0017] 步骤9)、判断异常计数值是否大于0,如果是,重新执行步骤2),如果不是,执行下一步;
[0018] 步骤10)、将发送探测数据包的间隔大小变为T,然后重新执行步骤2);
[0019] 步骤11)、将异常统计值加1,并丢弃当前获得的RTT值;
[0020] 步骤12)、判断异常计数值是否达到了异常统计阈值,如果是,执行下一步,否则,执行步骤14);
[0021] 步骤13)、发出链路异常报警,检测结束;
[0022] 步骤14)、判断异常计数值是否大于异常统计阈值B的一半,如果是,执行下一步,否则,重新执行步骤2);
[0023] 步骤15)、将发送探测数据包的间隔大小由T变为T/2,然后重新执行步骤2)。
[0024] 上述技术方案中,初始化异常判定阈值时为其赋值100ms,初始化异常统计阈值时为其赋值5,初始化发送探测数据包间隔时为其赋值10s,初始化异常计数值时为其赋值0。
[0025] 上述技术方案中,在步骤4)中,加权更新前一时段的RTT基准值的更新公式为:
[0026] NEW=C1×H+C2×N;
[0027] 其中,H为前一时段RTT的历史基准值,N为前一时段实时监测RTT值的均值,NEW为更新后前一时段RTT基准值,C1为与历史基准值有关的加权更新时的权值,C2为与实时基准值有关的加权更新的权值,C1+C2=1,且C2的值大于C1的值。
[0028] 上述技术方案中,C1=0.3,C2=0.7。
[0029] 本发明的优点在于:
[0030] 1、本发明将RTT的波动性纳入考虑,为链路检测提供了更加准确的基准值。
[0031] 2、本发明在更新基准值时采取加权更新的方法,可以利用赋予历史值一定的权值来平滑掉一些可能由于某一特殊事件引起的RTT变化过大,同时也能利用为新测得的值赋予较大的权值来保留RTT的总体变化趋势。
[0032] 3、本发明中的异常统计模块可以有效的消除一些由于链路延时抖动所造成的误报警。
[0033] 4、本发明中的自适应采样模块能够有效的降低功耗。
[0034] 5、本发明的方法在实时监测时只引入减法运算,在更新基准时,也只需要简单的加法和乘法运算,整体的运算复杂度比较低,不会为整个系统增加过多的负担,有利于工程实现。

附图说明

[0035] 图1是本发明的链路健康检测系统的结构示意图;
[0036] 图2是本发明的链路健康检测方法的流程图。

具体实施方式

[0037] 现结合附图对本发明作进一步的描述。
[0038] 如图1所示,本发明的链路健康检测系统包括:实时监测模块101、计时模块102、基准文件模块103、异常统计模块104以及自适应采样模块105;其中,
[0039] 所述的实时监测模块101负责对链路上数据包往返时间进行实时检测并与基准文件模块103所提供的基准值进行对比;所述基准文件模块103除了提供基准值外,还负责对各时段历史基准值进行加权更新;所述计时模块102负责确定当前所处时段;所述异常统计模块104负责统计异常次数;所述自适应采样模块105根据异常统计模块104所提供的异常计数值调整发送监测数据包的间隔。
[0040] 参考图2,基于本发明的链路健康检测系统所实现的检测方法包括:
[0041] 步骤201、系统初始化,并输入待监测链路;其中,系统初始化包括:初始化异常判定阈值A、异常统计阈值B、发送探测数据包间隔T在内的参数,如在一个实施例中,初始化时为这些参数分别赋值为A=100ms、B=5、T=10s,在其他实施例中,也可根据实际需要为这些参数赋予其他的值;初始化异常计数值为0;初始化基准文件模块103,读入历史基准文件。
[0042] 步骤202、由计时模块102获得当前时段,基准文件模块103准备好当前时段的历史基准值。
[0043] 步骤203、判断是否进入了一个新的时段,如果进入了一个新的时段,执行下一步,否则,执行步骤205。
[0044] 步骤204、对前一时段中记录的RTT值求均值N,然后加权更新前一时段的RTT基准值,更新公式为:NEW=C1×H+C2×N,其中,H为前一时段RTT的历史基准值,N为前一时段实时监测RTT值的均值,NEW为更新后前一时段RTT基准值,C1为与历史基准值有关的加权更新时的权值,C2为与实时基准值有关的加权更新的权值,C1+C2=1,为了更好地反映变化趋势,通常为C2赋予较大的值,为C1赋予较小的值,如C1=0.3,C2=0.7;然后回到步骤202继续执行。
[0045] 步骤205、依然处于当前时段,实时监测模块101开始以间隔T发送监测数据包并记录获得的RTT值。
[0046] 步骤206、实时监测模块101每获得一次RTT值,都要与基准文件中当前时段的历史基准值进行对比,判断两者之差有没有超过异常判定阈值A,如果超过,则执行步骤211,如果没有超过,执行下一步。
[0047] 步骤207、判断异常计数值是否大于1,如果大于1,执行下一步,否则,重新执行步骤202。
[0048] 步骤208、记录RTT值,并将异常计数值减1。
[0049] 步骤209、判断异常计数值是否大于0,如果是,重新执行步骤202,如果不是,执行下一步。
[0050] 步骤210、将发送探测数据包的间隔大小变为T,然后重新执行步骤202。
[0051] 步骤211、将异常统计值加1,并丢弃当前获得的RTT值。
[0052] 步骤212、判断异常计数值是否达到了异常统计阈值B,如果是,执行下一步,否则,执行步骤214。
[0053] 步骤213、发出链路异常报警,检测结束。
[0054] 步骤214、判断异常计数值是否大于异常统计阈值B的一半,如果是,执行下一步,否则,重新执行步骤202。
[0055] 步骤215、将发送探测数据包的间隔大小由T变为T/2,然后重新执行步骤202。
[0056] 最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。