NQA基础及配置

2022年5月份下午题有考

什么是NQA?

网络质量分析NQA(Network Quality Analysis)是一种实时的网络性能探测和统计技术,可以对响应时间、网络抖动、丢包率等网络指标进行统计。

NQA能够实时监视网络服务质量,在网络发生故障时进行有效的故障诊断和定位。

例如:HTTP的总时延、TCP连接时延、DNS解析时延、文件传输速率、FTP连接时延、DNS解析错误率等。

NQA工作原理

1662600616446

NQA测试中,把测试两端称为客户端和服务器端(或者称为源端和目的端),NQA的测试是由客户端(源端)发起。客户端根据测试例的测试类型,构造符合相应协议的报文并打上时间戳,再发送至服务器端。

NQA服务器负责处理NQA客户端发来的测试报文,通过侦听指定IP地址和端口号的报文对客户端发起的测试进行响应。客户端根据发送和接收报文来计算各项性能指标,如连通性、时延、丢包率等。

NQA测试例处理机制:

  • ICMP测试
  • Trace测试
  • TCP测试
  • UDP测试
  • DNS测试
  • FTP测试
  • HTTP测试
  • SNMP测试
  • LSP ping测试
  • LSP trace测试

NQA典型应用

⚡️ 例如:静态路由与NQA联动

静态路由本身并没有检测机制,如果非本机直连链路发生了故障,静态路由不会自动从IP路由表中自动删除,需要管理员介入,这就无法保证及时进行链路切换,可能造成较长时间的业务中断。

基于以上原因,需要有一种有效的方案来检测静态路由所在的链路。对于静态路由而言,现有的静态路由与BFD联动特性,由于受到互通设备两端都必须支持BFD的限制,在某些应用场景无法实施。而静态路由与NQA联动则只要求互通设备的其中一端支持NQA即可。

1662600971717

利用NQA测试例来检测静态路由所在链路的状态,根据NQA的检测结果,决定静态路由是否活跃,达到避免通信的中断或服务质量降低的目的。

以上图为例,RouterA至RouterD有主、备两条链路,RouterA作为NQA客户端来检测至RouterD的链路状态:

  • 如果NQA测试例检测到主链路故障,RouterA将这条静态路由设置为“非激活”状态;
  • 如果NQA测试例检测到主链路恢复正常,RouterA将这条静态路由设置为“激活”状态。

AR路由器NQA的配置方法

AR路由器NQA配置步骤如下: 1. 进入系统视图。(命令: system-view) 2. 建立NQA测试例。(命令:nqa test-instance <用户名> <测试实例名>) 3. 配置测试例类型 (命令:test-type <测试类型>) 4. 根据不同类型的测试例配置必要参数。(如icmp类型的测试例需指定目的IP、dhcp类型的测试例需指定发送DHCP请求报文的源接口、DNS类型的测试例需指定目的域名等) 5. 根据需要配置相关类型测试例的其他参数。(可选,如测试周期、超时时间等) 6. 与其他模块联动。(可选,如:与vrrp、静态路由联动,在vrrp或静态路由相应命令后track相应的NQA测试例,具体命令请参考相应联动模块方面配置)

如下面的举例:

[Huawei] nqa test-instance admin icmp  //配置名为admin icmp的NQA测试例
[Huawei-nqa-admin-icmp] test-type icmp  //配置测试例类型为ICMP
[Huawei-nqa-admin-icmp] destination-address ipv4 192.168.3.1  //配置NQA测试例的目的地址为192.168.3.1
[Huawei-nqa-admin-icmp] start now  //立即开始执行当前的NQA测试例
[Huawei-nqa-admin-icmp] quit
[Huawei] ip route-static 192.168.5.0 255.255.255.0 GigabitEthernet2/0/0 192.168.4.2 track nqa admin icmp  //配置与NQA测试例联动的静态路由

AR路由器NQA联动机制

联动功能是指通过建立联动项,对当前所在测试例中的探测进行监测,当连续探测失败次数达到一定数目时,就触发其他模块联动。

1662611972853

联动功能由应用模块、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模块通知静态路由模块,静态路由模块可以据此判断该静态路由项无效

参考案例:

策略路由结合NQA联动避免远端三层故障导致业务中断- 华为 (huawei.com)

配置IPv4静态路由与NQA联动示例 - AR120, AR150, AR160, AR200, AR1200, AR2200, AR3200, AR3600 V200R007 配置指南-IP单播路由(命令行) - 华为 (huawei.com)

NQA常用命令

nqa test-instance admin icmp   
test-type icmp                  #使用ICMP协议
destination-address ipv4 10.1.17.1      #目的地址
frequency 15                    #NQA测试例自动执行测试的时间间隔
interval seconds 2              #NQA测试例的发送报文的时间间隔
timeout 2                       #NQA测试例的一次探测的超时时间
probe-count 5                   #NQA测试例的一次测试探针数目 
start now                       #立即启动执行当前测试例