NQA简介及原理与实验

1.1、定义

NQA(Network Quality Analysis),即网络质量分析,是用于帮助用户度量网络性能检测网络故障的工具。NQA通过从一个网络端点向另一个网络端点发送报文,检测网络可达性,并统计两端之间网络的时延、丢包率、抖动等性能数据。

1.2、目的

  • 网络质量通常通过可达性、实验、丢包率、抖动、服务响应时间等指标统计表现;网络故障的诊断和定位则通过检测对端可达性及逐跳检测网络路径。

  • 依靠传统的PingTracert操作,仅能获知网络的端到端可达性和逐跳检测传输路径。用户为获取额外的网络质量数据,通常还需要使用专用的探针工具如:PingInfoView,当网络规模较大探针维护探针工作的成本同样也会相应增加。

  • NQA可以很好的满足当前的需求,NQA可以在用户不部署探针设备的情况下,即可获取网络质量相关的数据。NQA通过主动在多个节点之间货多条路径之间按配置发送测试报文,从而实时收集可达性、响应时间、时延、抖动、丢包率度量网络质量的信息。网络供应商可以通过分析获取的网络质量信息,可以实时了解网络状态和性能,并诊断和定位网络故障。网络用户可以可以检测网络质量是否满足要求或网络服务是否可用;

2、NAQ的基本原理

NQA通过发送一些列的测试报文,并接受对应的相应报文,从而获取各项网络的质量信息;

支持多种类型的测试,如ICMP测试、Trace测试;

2.1、NQA测试原理

在NQA测试中,将发起NQA测试的源称之为NQA客户端,测试的目的端为NQA服务器端。用户需要在NQA客户端创建各种类型的测试实例(也即NQA测试项),在大多数测试中,只需要配置NQA客户端,但对于TCP测试和UDP Jitter测试时,必须配置NQA的服务器,以便能够响应NQA测试报文

时延信息获取的测试过程:

  1. NQA客户端发送请求报文时,会将当前系统时间T1作为测试报文的发送时间,向请求报文中打入时间戳,然后再发送给NQA服务器端。

  2. NQA服务器端接受请求报文后,会向NQA客户端发送对应地响应报文。

  3. NQA客户端再接受到响应报文后,会再次读取系统的时间T2,向响应报文中打入时间戳。

  4. 根据请求报文发送时间T1与响应报文接受时间T2的时间差,就可以得出报文的往返时间,也即时延。

由此可以判断,delay = response - request

对于抖动(Jitter)测试,不仅NQA客户端需要在发送和接收报文时打时间戳,NQA服务器端在接收和发送报文时,也要读取自己的本地系统时间,打上时间戳。通过每次往返时间的差别,就能够计算出抖动时间。

2.2、NQA的特点

获取丰富的网络质量货性能数据

通过NQA测试,用户可以获取的网络质量或性能指标;

分类指标说明
连通性端到端连通性可以获知从源端与目的端之间的可达性。
路径信息端到端路径信息可以获知从源端到目的端路径上每一跳的IP地址、可达性和时延信息,以及路径的MTU。
链路性能时延(单向时延、双向时延)可以获知从源端到目的端之间通信的时延。
抖动可以获知源端与目的端之间通信时延的变化,从而可以了解网络通信的稳定行。
丢包率可以获知从源端向目的端发送的报文中丢失的报文占总报文数的比例。
网络服务响应时间DNS服务响应时间可以获知网络中DNS服务器解析域名获取IP地址的时间。

2.3、丰富的测试类型

NQA支持多种测试类型,可以用于不同场景下检测各项网络质量或性能

测试类型说明测试举例
PingPing类型的测试主要用于检测网络的连通性。该类型的主要特点是,提供的性能指标较少,但检测速度快,用于实时反映网络的连通性。ICMP测试、LSP Ping测试
TraceTrace类型的测试主要用于获取网络的路径信息。该类型的特点是,能获取到达目的端设备路径上的所有节点的地址信息,用于快速定位网络中的故障。Trace测试、LSP Trace测试
JitterJitter类型的测试主要用于测量网络的性能。该类型的特点是,能够提供丰富的性能指标,例如时延、抖动、丢包率、报文序号验证等,但是检测速度较慢,用于分析网络性能瓶颈。ICMP Jitter测试、UDP Jitter测试
网络服务性能网络服务类型的测试主要用于检测网络中各类服务的性能。TCP测试、DNS测试

3、NQA的应用场景

3.1、通过NQA进行网络诊断

用户经常会遇到的问题有:上网时断时续、不能访问相关的站点、上网慢、下载文件慢等。需要在设备上进行相关数据的统计,通过分析这些数据定位出问题;

如图所示,用户位于不同网络位置,中间通过vpn来互访。此时用户反映网络出现断断续续的问题,即使能够连接,速度也特别慢,通过在PE端部署NQA特性,对网络的质量进行分析,首先在PE和CE之前进行ICMP测试,查看网络的连通性,在确保连通性的前提下,对每一段网络进行NQA的Jitter测试,查看网络的抖动情况,收集信息对其分析,从而为定位故障提供依据;

4、配置NQA检测IP网络

4.1、背景信息

NQA的ICMP测试用于检测NQA源端到目的端是否路由可达。ICMP测试提供类似于普通命令行下的PING命令功能,但输出信息更为丰富,包括:

  • 默认情况下能够保持最近5次的测试结果;

  • 结果中能够显示平均时延、丢包率、最后一个响应报文正确接受的时间等信息。

ICMP测试的过程如下:

  1. DeviceA(源端)向DeviceB(目的端)发送构造的ICMP Echo Request报文,Device1记录时间戳T1。

  2. DeviceB收到ICMP Echo Request报文后,直接向DeviceA回复ICMP Echo Reply报文。

  3. DeviceA将收到的Reply报文记录收取时间为T2,并通过计算公式relay = relay or response - request,从而计算出时延,从而清晰反映出网络畅通情况;

  4. 如果DeviceA再等待时间内未收到DeviceB的回复报文,则将发出的报文统计为丢包,并计算丢包率(丢包率=丢包个数\发送探测报文个数),如果丢包率为100%,则表明目标端不可达

4.2、配置ICMP测试

4.2.1、组网需求

SW1作为NQA的客户端,SW2作为NQA的服务端,SW1上需要做NQA ICMP对SW2的连通性进行检测

4.2.2、配置思路

采用如下配置思路进行配置

  1. 使用NQA ICMP检测功能,测试报文在本端(SW1)和目的端(SW2)之间是否可达。

  2. 使用NQA ICMP检测功能,测试报文在本端(SW1)和目的端(SW2)之间的往返时间。

4.2.3、配置过程

1、基础配置(ip地址)

配置SW1的IP地址:

interface Vlanif10
 ip address 192.168.1.10 255.255.255.0
 
 interface GigabitEthernet0/0/1
  port link-type access
  port default vlan 10
​​

配置SW2的IP地址:

​
interface Vlanif10
 ip address 192.168.1.20 255.255.255.0
 
 interface GigabitEthernet0/0/1
  port link-type access
  port default vlan 10
 

2、客户端配置NQC测试;

使能NQA客户端

SW1:

nqa test-instance admin icmp                //定义NQA测试名称
 test-type icmp                             //测试类型为ICMP
 destination-address ipv4 192.168.1.20          //icmp测试目的地址为192.168.1.20
 probe-count 15                             //测试15次ICMP的报文,也就是ping15次对端
 strat now                                  //测试开始

扩展:

[SW1-nqa-admin-icmp]test-type ?
  dns     Dns type NQA test
  ftp     Ftp type NQA test
  http    Http type NQA test
  icmp    Icmp type NQA test
  jitter  Jitter type NQA test
  snmp    Snmp type NQA test
  tcp     Tcp type NQA test
  trace   Trace type NQA test
  udp     Udp type NQA test
  
  //NQA所支持探测协议的类型
​

3、验证测试结果:

[SW1] dis nqa results test-instance admin icmp
​
5 . Test 5 result   The test is finished
   Send operation times: 15             Receive response times: 15
   Completion:success                   RTD OverThresholds number: 0
   Attempts number:1                    Drop operation number:0
   Disconnect operation number:0        Operation timeout number:0
   System busy operation number:0       Connection fail number:0
   Operation sequence errors number:0   RTT Status errors number:0
   Destination ip address:192.168.1.20
   Min/Max/Average Completion Time: 10/50/21
   Sum/Square-Sum  Completion Time: 320/9000
   Last Good Probe Time: 2024-12-03 21:26:29.7
   Lost packet ratio: 0 %
       
   //从此回显结果中可以分析出,发送了15次ICMP的报文,15次被接收
   //最小时延为10ms、最大时延为50ms、平均时延为21ms
​

至此我们成功使用NQA做了一次最基础的ICMP测试;

4.3、NQA联动Track实现静态路由的切换;

4.3.1、组网需求

下面两台交换机设备SW1与SW2,通过两根物理线路三层连接,SW1通过静态路由访问SW2的8.8.8.8业务、vlan10作为主线路,vlan20作为备用线路,需要当主线路丢包率高或者down掉时切换至备用线路,确保业务的连续性;

4.3.2、配置思路:

  1. 通过配置NQA对主线路的ICMP网络质量检测,Track绑定次NQC测试;

  2. 为主线路的静态路由进行Track关联,备线路的静态路由路由优先级调高使其不存在路由表中。

4.3.3、配置过程:

1、首先配置互联地址:

SW1:


interface Vlanif10
 ip address 192.168.1.10 255.255.255.0
 
 interface GigabitEthernet0/0/1
  port link-type access
  port default vlan 10
  
interface Vlanif20
 ip address 192.168.2.10 255.255.255.0
 
 interface GigabitEthernet0/0/2
  port link-type access
  port default vlan 20
​

SW2:

interface Vlanif10
 ip address 192.168.1.20 255.255.255.0
 
 interface GigabitEthernet0/0/1
  port link-type access
  port default vlan 10
  
interface Vlanif20
 ip address 192.168.2.20 255.255.255.0
 
 interface GigabitEthernet0/0/2
  port link-type access
  port default vlan 20

2、配置NQA测试ICMP报文

使能NQA客户端

SW1:

nqa test-instance admin icmp
 test-type icmp
 destination-address ipv4 192.168.1.20
 frequency 1                                //探测时间3秒一次
 probe-count 15                             //探测报文为15个

这样就可以通过NQA来检测链路可达性了(即使NQA多数不会用来做二三层的链路检测,NQA多数用来做应用层协议的测试)

3、静态路由联动Track配置、

SW1:

ip route-static 8.8.8.8 255.255.255.255 192.168.1.20 track nqa admin icmp
​
ip route-static 8.8.8.8 255.255.255.255 192.168.2.20 preference 100
​
//主线路Track NQA实例
//备用线路调高优先级,隐藏在路由表下,当主线路down掉备用线路才会出现在路由表中
​

4、结果测试:

为测试业务,我们在SW1上增加一台PC,长ping8.8.8.8查看业务切换时间

[SW1-nqa-admin-icmp]tracert 8.8.8.8
 traceroute to  8.8.8.8(8.8.8.8), max hops: 30 ,packet length: 40,press CTRL_C to break
 1 192.168.1.20 40 ms  30 ms  40 ms
​
//首先在SW1上测试去往8.8.8.8下一跳为主线路

我们在SW1上面开始NQA的检测,将主线路down掉查看业务连通性和沿途路径;

int g0/0/1
 shutdown
 
 [SW1]dis nqa results test-instance admin icmp
 
 NQA entry(admin, icmp) :testflag is inactive ,testtype is icmp 
  1 . Test 1 result   The test is finished
   Send operation times: 15             Receive response times: 2          
   Completion:success                   RTD OverThresholds number: 0       
   Attempts number:1                    Drop operation number:0            
   Disconnect operation number:0        Operation timeout number:13        
   System busy operation number:0       Connection fail number:0           
   Operation sequence errors number:0   RTT Status errors number:0         
   Destination ip address:192.168.1.20                                   
   Min/Max/Average Completion Time: 20/30/25                             
   Sum/Square-Sum  Completion Time: 50/1300                              
   Last Good Probe Time: 2024-12-03 22:33:11.7                           
   Lost packet ratio: 86 %   
   
   
   //能够观察出发送15个包,只有2个包做出了回应。

此时NQA感知到了对方不可达,会被Track所感知到,主线路的静态路由因为下一跳不可达会消失在路由表中,此时优先级为100的备用线路就会接替主线路的工作,确保业务的连续性;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值