NQA简介
NQA简介
- 定义
- 目的
- NQA原理描述
- 使用DHCP进行测试
- DNS测试
- NQA的联动机制
- NQA的应用场景
定义
网络质量分析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测试,得到网络运行情况的统计数据,了解网络服务质量。
相关文章:
NQA简介
NQA简介定义目的NQA原理描述使用DHCP进行测试DNS测试NQA的联动机制NQA的应用场景定义 网络质量分析NQA(Network Quality Analysis)是一种实时的网络性能侦探和统计技术,可以对响应时间、网络抖动、丢包率等网络信息进行统计。NQA能够实时监视…...
[python]上下文管理contextlib模块与with语句
文章目录with语句自定义对象支持withcontextlib模块closing自动关闭suppress回避错误ExitStack清理Python 中的 with 语句用于清理工作,封装了 try…except…finally编码范式,提高了易用性。with语句 with语句有助于简化资源管理: # 离开作…...
STM32之TIM编码器接口
编码器简介: 例子讲解:正交编码器有两个输出,一个A相,一个B相,AB接口输出正交信号。然后接入STM32的定时器的编码器接口,编码器接口自动控制定时器时基单元中的CNT计数器进行自增或自减,比如初始…...
b站第一,Python自动化测试实战详细教学,3天教你学会自动化测试
目录 简介 Python自动化测试概述 Python自动化测试目标 Python自动化测试流程 1. 测试计划和设计 2. 测试脚本开发 3. 测试执行和管理 4. 测试维护和优化 Python自动化测试最佳实践 Python自动化测试工具和框架 结论 简介 自动化测试是软件开发过程中一个必不可少的…...
刷题记录:P8804 [蓝桥杯 2022 国 B] 故障 条件概率
传送门:洛谷 题目描述: 题目较长,此处省略 输入: 3 5 30 20 50 0 50 33 25 0 30 0 35 0 0 0 0 0 25 60 1 3 输出: 2 56.89 1 43.11 3 0.00读完题目,我们会发现其实题目给了我们两个事件,并且这两个事件是相互关联的.因此不难想到使用条件概率 我们将故障原因看做事件AAA,结合…...
【算法】常用的基础数论
作者:指针不指南吗 专栏:算法篇 🐾或许会很慢,但是不可以停下🐾 文章目录1.GCD&LCM2.判断素数(质数)3.分解质因子1.GCD&LCM 最大公约数&最小共倍数 欧几里得算法——高效 //最大公约数 int gcd(int x,i…...
云原生场景下的容器网络隔离技术
云原生场景下的容器网络隔离技术 一、研究背景 随着云计算时代的到来,尤其是容器化技术的飞速发展,云原生作为云计算的未来阶段,其安全势必成为云安全的主要战场。从目前的云原生环境来看,云原生网络安全问题层出不穷࿰…...
用python绘制有向图
目录 添加边权重的有向图思路介绍代码实现效果图设置不同的样式节点和边的有向图思路介绍代码实现效果图下面的Python代码用于绘制有向图,其中使用了 networkx和 matplotlib.pyplot等库。 添加边权重的有向图 思路介绍 首先,创建了一个空的有向图像对象G,并添加了4个节点…...
Spring MongoDB 开发教程(一)—官方原版
MongoDB支持包含一系列功能:Spring配置支持基于Java的configuration类或Mongo驱动程序实例和副本集的XML命名空间。MongoTemplate帮助类,在执行常见的Mongo操作时提高生产力。包括文档和POJO之间的集成对象映射。将异常转换为Spring的可移植数据访问异常…...
数据结构——二叉搜索树
一、二叉搜索树概念 二叉搜索树又叫二叉排序树,它或是空树,或是具有以下性质的二叉树: (1)若它的左子树不为空,则左子树上的所有节点的值都小于根节点的值; (2)若它的…...
23年5月高项学习笔记3---项目管理概述
项目是创造独特的产品、服务或成果而进行的临时性的工作 独特:每个项目都不一样 可交付成果:某一过程,阶段或项目完成时形成的独特的并且可验证的产品、服务或成果。 临时的:明确的起点和终点、 -------- 项目集: 相…...
【组织架构】中国铁路成都局集团有限公司
0 参考 中国铁路成都局集团有限公司 1 公司介绍 中国铁路成都局集团有限公司,是中国国家铁路集团有限公司管理的18个铁路局集团有限公司之一,简称“成局”,地处中国西南,管辖范围辐射四川、贵州、重庆地区。管内地形复杂&#x…...
剧前爆米花--爪哇岛寻宝】java多线程案例——单例模式、阻塞队列及生产者消费者模型、定时器、线程池
作者:困了电视剧 专栏:《JavaEE初阶》 文章分布:这是关于java多线程案例的文章,进行了对单例模式、阻塞队列及生产者消费者模型、定时器和线程池的讲解,希望对你有所帮助! 目录 单例模式 懒汉模式实现 饿…...
Guitar Pro8中文版更新说明及系统要求介绍
Guitar Pro吉他软件是初学作曲,特别是同时又初学吉他的朋友们的良师益友,是一款极佳的初级软件,是非实时作曲软件之中的一件佳作。Guitar Pro在吉他和弦、把位的显示、推算、查询、调用等方面,也异常方便、简洁、直观和浩瀚&#…...
【id:19】【20分】A. 三数论大小(引用)
题目描述 输入三个整数,然后按照从大到小的顺序输出数值。 要求:定义一个函数,无返回值,函数参数是三个整数参数的引用,例如int &a, int &b, int &c。在函数内对三个参数进行排序。主函数调用这个函数进行…...
To_Heart—总结——FWT(快速沃尔什变换)
目录闲话拿来求什么或与异或闲话 这个比FFT简单了很多呢,,大概是我可以学懂的水平! 好像是叫 快速沃尔什变换 ? 拿来求什么 以 FFT 来类比。我们 FFT 可以在 O(nlogn)\mathrm{O(nlogn)}O(nlogn) 的复杂度下实现求解࿱…...
Google巨大漏洞让Win10、11翻车,小姐姐马赛克白打了
早年间电脑截图这项技能未被大多数人掌握时,许多人应该都使用过手机拍屏幕这个原始的方式。 但由于较低的画面质量极其影响其他用户的观感,常常受到大家的调侃。 但到了 Win10、11 ,预装的截图工具让门槛大幅降低。 WinShiftS 就能快速打开…...
腾讯云服务器部署内网穿透(让其他人在不同ip可以访问我们localhost端口的主机项目)(nps开源项目)
首先打开shell连接我们的云服务器 然后我们再opt目录下面创建一个文件夹用来存放我们的压缩包和文件 mkdir /opt/nps 这个是它官方的安装图解.所以我们按照这个docker安装过程来: 然后我们用docker安装镜像.这样的话比较简单一点 docker pull ffdfgdfg/nps 然后我们查看docker…...
IDS、恶意软件、免杀技术、反病毒技术、APT、对称加密、非对称加密以及SSL的工作过程的技术介绍
IDS的简单介绍IDS是:入侵检测系统(intrusion detection system,简称“IDS”)是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。它与其他网络安全设备的不同之处便在于&…...
怎么把pdf转换成高清图片
怎么把pdf转换成高清图片?可以使用以下两种方法: 方法一:使用Adobe Acrobat Pro DC 1、打开需要转换的PDF文件,点击“文件”菜单中的“导出为”,在弹出的菜单中选择“图像”,然后选择“JPEG”。 2、在“…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
【UE5 C++】通过文件对话框获取选择文件的路径
目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 ,这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器,右键点击 .uproject 文件,选择 "Generate Visual Studio project files",重…...
《信号与系统》第 6 章 信号与系统的时域和频域特性
目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...
JDK 17 序列化是怎么回事
如何序列化?其实很简单,就是根据每个类型,用工厂类调用。逐个完成。 没什么漂亮的代码,只有有效、稳定的代码。 代码中调用toJson toJson 代码 mapper.writeValueAsString ObjectMapper DefaultSerializerProvider 一堆实…...
数据库——redis
一、Redis 介绍 1. 概述 Redis(Remote Dictionary Server)是一个开源的、高性能的内存键值数据库系统,具有以下核心特点: 内存存储架构:数据主要存储在内存中,提供微秒级的读写响应 多数据结构支持&…...
