定义
网络质量分析NQA(Network Quality Analysis)是一种实时的网络性能侦探和统计技术,可以对响应时间、网络抖动、丢包率等网络信息进行统计。NQA能够实时监视网络QoS,在网络发生故障的时候哟i小的故障诊断和定位。
目的
为了使网络质量可见,使用户能够自行检查网络服务质量是否达到要求,需要采取以下措施:
- 在设备上提供能够说明网络服务质量的数据
- 在网络中部署探针设备能对网络服务质量进行监控
部署上述措施时,需要在设备侧提供时延,抖动,丢包率等相关统计参数和使用专用的探针设备,增加了设备和资金的投入。
当设备提供NQA时,就不哟给部署专门的探针设备,可以有效的节约成本。
NQA可以实现对网络运行状况的准确测试,输出统计信息。
NQA检测网络上运行的多种协议的性能,使用户能够实时采集到各种网络中的运行指标,好比:HTTP的总时延、TCP连接时延、DNS解析时延、文件传输速率,FTP连接时延、DNS解析错误率等。
NQA原理描述
- 构造测试例
NQA测试中,把测试两端成为客户端和服务器端(或者成为源端和目的端),NQA的测试是由客户端(源端)发起。在客户端通过命令行配置测试例或者由网管发送相应的测试例操作之后,NQA就可以把相应的测试例放到测试队列中进行调度。
- 启动测试例
启动NQA测试例,可以选择立即启动、延迟启动、定时启动。在定时器的时间到达之后,则根据测试例的测试类型,构造符合相应协议的报文,但是配置的测试报文的大小如果无法满足发送本协议的最小尺寸,那就按照本协议规定的最小报文尺寸来构造报文发送。
- 测试例处理
测试例启动之后,根据返回的报文,可以对相关协议的运行状态提供数据信息。发送报文时的系统时间作为测试报文的发送时间,给报文打上时间戳,再发送给服务器。服务器端接收报文之后,返回客户端相应的回应信息,客户端再接收到到报文时,再一次读取系统时间,给报文打上时间戳。根据报文的发送和接收时间,计算出报文的往返时间。
使用DHCP进行测试
NQA的DHCP测试以UDP报文为承载,模拟DHCP Client在指定接口上发起DHCP请求,根据是否申请到地址,确定接口所在的网络中是否有DHCP Server服务以及测试申请到地址的时间。
- 源端从需要获得地址的接口,向接口所在网段广播查询DHCP Server的Discovery报文。
- DHCP Server 收到报文之后,向源端回送Offer报文,报文中包含了DHCP Server的IP地址。
- 源端向接口所在网段广播要求获取IP地址的Request报文,报文包含了DHCP Server的IP地址信息。
- DHCP Server收到报文之后,向源端会送ACK报文,报文中包含了DHCP Server分配给相应接口的IP地址。
源端收到数据包后通过计算源端接收报文的时间和源端最初发送Discovery报文的时间的差,计算出DHCP服务器获取IP地址的时间。
DHCP测试知识借用操作接口发送DHCP报文,申请到地址之后立即释放DHCP租约,不会为接口真正申请地址,因此不会占用DHCP Server的地址资源。进行DHCP测试的操作接口必须处于Up状态。DHCP测试的结果和历史记录将记录在测试例中,可以通过命令行查看探测结果和历史记录。
DNS测试
NQA的DNS测试以UDP报文为承载,通过模拟DNS Client向指定的DNS服务器发送域名解析请求,根据域名解析是否成功及域名解析需要的时间,来判断DNS服务器是否可用,及域名解析速度。
-
客户端(RouterA)向DNS Server发送要求解析给定的DNS名称的Query报文。
-
DNS Server收到报文后,通过解析构造Response报文,然后再把这个数据包发回到客户端。
-
客户端收到数据包后通过计算客户端接收报文的时间和客户端发送报文的时间的差,计算出DNS域名解析时间。从而清晰的反映出网络DNS协议的性能状况。
DNS测试只是模拟域名解析的过程,不会保存要解析的域名与IP地址的对应关系。
DNS测试的结果和历史记录将记录在测试例中,可以通过命令行来查看探测结果和历史记录。
其它的测试与此类似。
NQA的联动机制
联动功能是指NQA提供探测功能,把探测结果通知其他模块,其他模块再根据探测结果进行相应处理的功能。目前实现了与VRRP、静态路由、备份接口、IGMP Proxy、IP地址池、DNS服务器和策略路由的联动。
以静态路由为例:
用户配置了一条静态路由,下一跳为192.168.0.88,如果192.168.0.88可达,该静态路由有效;如果192.168.0.88不可达,则该静态路由无效。通过在NQA和应用模块之间建立联动,可以实现静态路由有效性的实时判断。如果NQA发现192.168.0.88不可达,NQA将通知静态路由模块,静态路由模块可以据此判断该静态路由项无效。
NQA的应用场景
用户经常会遇到的问题有:上网时断时续、不能访问相关的站点、上网慢、下载文件慢等。需要在设备上进行相关数据统计,通过分析这些数据定位出问题的具体位置。这些统计数据最终需要设备提供。
用户位于不同的物理位置,通过VPN网络实现互连。用户反映网络出现时断时续的情况,即使能够连接,连接的速度也很慢。
通过在PE端部署NQA特性,对网络的质量进行分析。首先在PE和CE之间进行ICMP测试,查看网路的连通性。确认网络的连通后,进行Jitter测试,查看网络抖动情况。之后在PE之间进行同样的测试,通过对测试后的统计数据和用户遇到的问题进行分析,为故障的定位提供依据。
用户通过Router接入到网络中。通过执行NQA测试,得到网络运行情况的统计数据,了解网络服务质量。