一。产生背景:
   1及时了解网络的性能状况,针对不同的网络性能,进行相应的处理
   2对网络故障进行诊断和定位
NQA还提供了与track和应用模块联动的功能,实时监控网络状态的变化,及时进行相应的处理,从而避免通信的中断或服务质量的降低

二。技术有点:
   1.支持多测试组并发
   2.支持联动功能:把探测结果通知其他模块,其他模块根据探测结果进行相应处理的功能。目前实现了与VRRP,静态路由,备份中心和策略路由的联动。

三。特性介绍:
    1.测试处理机制:
        ICMP-echo功能是NQA最基本的功能,遵循RFC 2925来实现,其实现原理是通过发送ICMP报文来判断目的地的可达性、计算网络响应时间及丢包率。
        ICMP-echo测试成功的前提条件是目的设备要能够正确响应ICMP echo request报文。NQA客户端会根据设置的探测时间及频率向探测的目的IP地址发ICMP echo request报文,目的地址收到ICMP echo request报文后,回复ICMP echo reply报文。NQA客户端根据ICMP echo reply报文的接收情况,如接收时间和报文个数,计算出到目的IP地址的响应时间及丢包率,从而反映当前的网络性能及网络情况。
       ICMP-echo测试的结果和历史记录将记录在测试组中,可以通过命令行来查看探测结果和历史记录

        3。NQA与VRRP联动
        通过NQA与VRRP联动,可以实现对上行链路的监控。当上行链路出现故障,局域网内的主机无法通过路由器访问外部网络时,NQA会通过Track模块通知VRRP将路由器的优先级降低指定的数额。从而,使得备份组内其它路由器的优先级高于这个路由器的优先级,成为Master路由器,保证局域网内主机与外部网络的通信不会中断。上行链路恢复后,NQA通过Track模块通知VRRP恢复路由器的优先级。

图4 VRRP与NQA联动
4所示,在Device A上通过NQA监测10.1.2.2是否可达,配置VRRP通过Track和NQA进行联动。当NQA监测到10.1.2.2不可达时,通过Track通知VRRP,降低Device A在备份组中的优先级,从而使Device B成为Master路由器,取代Device A转发报文。
         4.与静态路由联动
             通过在NQA、Track模块和静态路由模块之间建立联动,可以实现静态路由有效性的实时判断。利用NQA对静态路由的下一跳地址进行探测,如果NQA探测成功,则静态路由有效;否则,静态路由无效。
图5 NQA与静态路由联动
5所示,在Device B上配置到达Device C的静态路由下一跳地址为10.1.2.1,通过NQA监测10.1.2.1是否可达,并配置静态路由通过Track模块与NQA实现联动。如果NQA发现10.1.2.1不可达,它将通过Track模块通知静态路由,将该静态路由项置为无效;如果NQA发现10.1.2.1可达,则通过Track模块通知静态路由,将该静态路由项恢复为有效。

       5。NQA与策略路由联动|
           IP单播策略路由通过与NQA、Track联动,增加了应用的灵活性,增强了策略路由对网络环境的动态感知能力。

策略路由可以在配置报文的发送接口、缺省发送接口、下一跳、缺省下一跳时,通过Track与NQA关联。如果NQA探测成功,则该策略有效,可以指导转发;如果探测失败,则该策略无效,转发时忽略该策略。
图7 NQA与策略路由联动
7所示,Device A可以通过Device B和Device C两个设备连入Internet。在Device A上定义策略路由,实现Device A连接局域网接口接收到的所有TCP报文通过Device B转发(报文的下一跳地址为10.2.1.2)。同时,配置策略路由与NQA、Track联动,利用NQA探测Device B的可达性。如果Device B可达,则该策略可以指导转发,接口接收到的TCP报文下一跳地址为10.2.1.2;否则,该策略无效,接口接收到的TCP报文根据路由查找可用的下一跳。

 

     2.联动功能机制:
        联动功能是指通过建立联动项,对当前所在测试组中的探测进行监测,当连续探测失败次数达到一定数目时,就触发其他模块联动(UDP-jitter测试不支持联动功能)。联动功能的实现如 3所示。
图3 联动功能的实现
        联动功能由应用模块、Track模块和监测功能模块(如NQA)三部分组成。Track模块位于应用模块和NQA之间,当监测项的状态发生变化时,监测功能模块通知Track模块,再由Track模块通知应用模块进行相应的处理,从而实现联动。以静态路由为例,用户配置了一条静态路由,下一跳为192.168.0.88,如果192.168.0.88可达,那么该静态路由有效;如果192.168.0.88不可达,则该静态路由无效。通过在NQA、Track模块和应用模块之间建立联动,可以实现静态路由有效性的实时判断。如果NQA发现192.168.0.88不可达,NQA将通过Track模块通知静态路由模块,静态路由模块可以据此判断该静态路由项无效。