欢迎user
NQA是Network Quality Analyzer(网络质量分析)的简称。NQA通过发送测试报文,对网络性能、网络提供的服务及服务质量进行分析,并为用户提供网络性能和服务质量的参数,如时延抖动、TCP连接时延、FTP连接时延和文件传输速率等。
利用NQA的测试结果,用户可以:
(1) 及时了解网络的性能状况,针对不同的网络性能进行相应处理。
(2) 对网络故障进行诊断和定位。
以往的Ping功能是使用ICMP(Internet Control Message Protocol,互联网控制报文协议)测试数据包在本端和指定目的端之间的往返时间。NQA是对Ping功能的扩展和增强,它增加了多种测试类型,提供了更多的功能。
目前NQA支持11种测试类型:ICMP-echo、DHCP、DNS、FTP、HTTP、UDP-jitter、SNMP、TCP、UDP-echo、Voice和DLSw测试。客户端向对端发送不同类型的测试报文,统计对端是否回应报文以及报文的往返时间等参数,以便用户根据统计结果判断协议的可用性和网络的性能。
联动功能是指通过建立联动项,对当前所在测试组中的探测结果进行监测,当连续探测失败次数达到一定数目时,就触发其他模块联动。联动功能的实现如图1所示。
图1 联动功能实现示意图
联动功能由监测模块、Track模块和应用模块三部分组成:
l 监测模块负责对链路状态、网络性能等进行监测,并将探测结果通知给Track模块。
l Track模块接收到监测模块的探测结果后,及时改变Track项的状态,并通知应用模块。Track模块位于应用模块和监测模块之间,主要功能是屏蔽不同监测模块的差异,为应用模块提供统一的接口。
l 应用模块根据Track项的状态,进行相应的处理,从而实现联动。
以静态路由为例,用户配置了一条静态路由,下一跳为192.168.0.88,如果192.168.0.88可达,那么该静态路由有效;如果192.168.0.88不可达,则该静态路由无效。通过在NQA、Track模块和应用模块之间建立联动,可以实现静态路由有效性的实时判断:
(1) 通过NQA监测目的地址192.168.0.88是否可达;
(2) 如果发现192.168.0.88不可达,NQA将通过Track模块通知静态路由模块;
(3) 静态路由模块可以据此判断该静态路由项无效。
NQA测试过程中可以通过设置Trap开关控制是否向网管服务器发送Trap消息。在探测失败或测试完成时通知网管服务器,以便网络管理员根据Trap消息及时了解测试运行状况和网络性能。
进行NQA测试前,需要创建NQA测试组。在NQA测试组中配置NQA测试的参数,如测试类型,测试目的地址,测试目的端口等。
每个测试组都有一个管理员名称和一个操作标签,管理员名称和操作标签可以唯一确定一个测试组。
启动NQA测试后,每隔一段时间启动一次测试,测试的时间间隔可以由用户来设定。
一次NQA测试由若干次连续的探测组成,探测的次数可以由用户来设定。
不同测试类型中,探测的含义不同:
l 对于TCP和DLSw测试,一次探测是指一次连接;
l 对于UDP-jitter和Voice测试,一次探测中连续发送多个探测报文,发送探测报文的个数由用户来设定;
l 对于FTP、HTTP、DHCP和DNS测试,一次探测是指完成一次相应的功能;
l 对于ICMP-echo和UDP-echo测试,一次探测发送一个探测报文;
l 对于SNMP测试,一次探测发送三个探测报文。
NQA客户端是发起NQA测试的设备,NQA测试组在客户端创建。
NQA服务器负责处理NQA客户端发来的测试报文,如图2所示。NQA服务器通过监听指定IP地址和端口的报文对客户端发起的测试进行响应。
图2 NQA客户端与服务器之间的关系
在大多数的测试中,只需要配置NQA客户端。但在进行TCP、UDP-echo、UDP-jitter和Voice类型测试时,必须配置NQA服务器。
在一个NQA服务器上可以创建多个TCP或UDP监听服务,每个监听服务对应一个目的地址和一个端口号,配置的目的地址和端口号必须与NQA客户端的配置一致,且不能与已有的监听服务冲突。
NQA测试操作的过程为:
(1) NQA客户端构造指定测试类型的报文,并发送给对端;
(2) 对端收到测试报文后,回复带有时间戳的应答报文;
(3) NQA客户端根据是否收到应答报文,以及应答报文中的时间戳,计算报文丢失率、往返时间等参数。