网络质量分析NQA

点击查看→往期相关文章

图片

网络质量分析NQA(Network Quality Analysis)是一种实时的网络性能探测和统计技术,可以对响应时间、网络抖动、丢包率等网络指标进行统计。NQA能够实时监视网络服务质量,在网络发生故障时进行有效的故障诊断和定位。

为什么需要NQA

随着运营商增值业务的开展,用户和运营商对QoS(Quality of Service)的相关要求越来越高,特别是在传统的IP网络承载语音和视频业务后,运营商与客户之间签订SLA(Service Level Agreement)成为普遍现象。

为了让用户看到承诺的带宽是否达到需求,运营商需要提供相关的时延、抖动、丢包率等相关的统计参数,以及时了解网络的性能状况。传统的网络性能分析方法(如Ping、Tracert等)已经不能满足用户对业务多样性和监测实时性的要求。

NQA可以实现对网络运行状况的准确测试,输出统计信息。NQA可以监测网络上运行的多种协议的性能,使运营商能够实时采集到各种网络运行指标,例如:HTTP的总时延、TCP连接时延、DNS解析时延、文件传输速率、FTP连接时延、DNS解析错误率等。通过对这些指标进行控制,运营商可以为用户提供不同等级的网络服务。同时,NQA也是网络故障诊断和定位的有效工具。

NQA工作原理


NQA客户端和服务器

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

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

NQA测试例处理机制

  • ICMP测试

ICMP测试是通过发送ICMP报文来判断目的地的可达性、计算网络响应时间及丢包率。

源端向目的端发送构造的ICMP Echo Request报文。目的端收到报文后,直接回应ICMP Echo Reply报文给源端。

源端收到报文后,通过计算源端接收时间和源端发送时间之差,计算出源端到目的端的通信时间,从而清晰的反映出网络性能及网络畅通情况。

  • Trace测试

Trace测试用于检测源端到目的端的转发路径,并沿该路径记录源设备到中间各个设备的时延等信息。

Trace测试的过程如下:

    1. 客户端向目的端发送构造的UDP报文,报文中的TTL为1。
    2. 第一跳收到该报文后,判断TTL后丢弃该报文,返回一份ICMP超时报文。
    3. 客户端收到该ICMP超时报文后,记录下第一跳设备的IP地址,并重新构造一份UDP报文,报文中的TTL为2。
    4. 第二跳收到该报文后,判断TTL后丢弃该报文,返回一份ICMP超时报文。
    5. 以此类推,最终报文到达最后一跳设备,返回一份ICMP端口不可达报文给客户端。

客户端收到每跳返回的ICMP报文后,统计并打印出从客户端到目的端的转发路径和该路径上各设备的信息,从而清晰的反映出网络状况。

  • TCP测试

TCP测试用于检测客户端与TCP Server之间经过三次握手建立TCP连接的速度。

客户端通过接收TCP SYN ACK报文和发送TCP SYN报文、ACK报文的时间的差,计算出与TCP Server之间三次握手建立TCP连接的时间,从而清晰地反映出网络中TCP协议的性能状况。

  • UDP测试

网络中的很多业务都是由UDP协议来承载的,一旦业务质量下降后,没有办法检测是业务本身的问题,还是UDP承载的性能问题。NQA的UDP测试可以用于检测UDP承载的性能问题。

源端向目的端发送构造的UDP报文,目的端回应报文给源端。源端收到数据包后通过计算源端接收报文的时间和源端发送报文的时间的差,计算出源端与目的端之间通信的时间。从而清晰的反映出网络UDP协议的性能状况。

  • DNS测试

DNS测试以UDP报文为承载,通过模拟DNS Client向指定的DNS服务器发送域名解析请求,根据域名解析是否成功及域名解析需要的时间,来判断DNS服务器是否可用,及域名解析速度。

  • FTP测试

FTP测试以TCP报文为承载,用于检测是否可以与指定的FTP服务器建立连接,以及从FTP服务器下载指定文件或向FTP服务器上载指定文件的速度。

  • HTTP测试

HTTP测试主要是测试客户端是否可以与指定的HTTP服务器建立连接,从而判断该设备是否提供了HTTP服务以及建立连接的时间。

  • SNMP测试

SNMP测试主要用于检测主机与SNMP Agent之间SNMP协议的连通性以及通信速度,以UDP报文为承载。

源端向SNMP Agent发送构造的请求报文,SNMP Agent回应报文给源端。源端收到数据包后通过计算源端接收报文的时间和源端发送报文的时间的差,计算出源端与SNMP Agent之间通信的时间。从而清晰的反映出网络SNMP协议的性能状况。

  • LSP Ping测试

LSP Ping测试用于检测两种类型(LDP, TE)的LSP路径是否可达。

源端首先构造MPLS Echo Request报文,在IP头填入127.0.0.0/8网段的地址作为IP的目的地,根据配置对端LSR ID查找相应的LSP,按指定的LSP进行MPLS域内的转发。目的端侦听3503端口发送MPLS Echo Reply响应报文。

源端通过接收到的响应报文,统计出测试结果,通过计算源端接收时间和源端发送时间之差,计算出源端到目的端的通信时间,从而清晰地反应出MPLS网络链路畅通情况。

  • LSP Trace测试

LSP Trace测试用于检测两种类型(LDP,TE)的LSP转发路径,并沿该路径收集各设备的有关的统计信息。

源端首先构造UDP的MPLS Echo Request报文,在IP头填入127.0.0.0/8网段的地址作为IP的目的地,查找相应的LSP。MPLS Echo Request报文应该包含有Downstream MapPing TLV(用来携带LSP在当前节点的下游信息,主要包括下一跳地址、出标签等)。

第一次发送的MPLS Echo Request报文的TTL为1。报文按指定的LSP进行MPLS域内的转发,TTL超时返回MPLS Echo Reply消息。源端继续以TTL递增的方式发送MPLS Echo Request报文,如此重复,直到整条LSP上的所有LSR都应答后,LSP Trace测试过程完成。

源端收到每跳LSR的应答消息后,统计出从源端到目的端的LSP转发路径和该路径上各设备的有关信息。从而清晰的反映出从源端到目的端的LSP转发路径。

  • PWE3 Ping测试

PWE3(Pseudo-Wire Emulation Edge to Edge) Ping测试例用于检测基于MPLS转发的PW路径是否可达。

源端发送MPLS Echo Request报文并经过PW转发。报文到达远端PE后,返回MPLS Echo Reply报文。源端通过接收到的响应报文,统计出测试结果,通过计算源端接收时间和源端发送时间之差,计算出源端到目的端的通信时间,从而清晰的反应出此条PW通路畅通情况。

  • PWE3 Trace测试

PWE3 Trace测试用于检测基于MPLS的PW转发路径,并沿该路径收集各设备的有关的统计信息。

PWE3 Trace是源端通过连续发送TTL值从1到某个值的MPLS Echo Request报文,这样路径上的每个节点在TTL超时后,都返回一个MPLS Echo Reply报文。源端就可以收集PW上每个节点的信息,从而清晰的反映出从源端到目的端的PW转发路径,以及该路径上各设备的有关的统计信息。

NQA典型应用

静态路由与NQA联动

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

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


静态路由与NQA联动组网

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

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

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

END

微思网络,始于2002年

专业IT认证培训22年,面向全国招生!


微思-主要课程有:

*网络技术:华为HCIA/ HCIP/HCIE;思科CCNA/CCNP/CCIE

*Linux技术:红帽 RHCE/RHCA

*K8S&容器:CKA/CKS

*数据库:ORACLE OCP/ OCM ;MySQL ;达梦数据库

*虚拟化:VMware VCP/VCAP

*安全认证:CISP体系/CISSP/ CISA;CCSK;CISAW体系

*管理类:PMP 项目管理;软考中/高项;ITIL体系;Togaf

其他课程如:ACP;Azure...

  • 14
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
单片微型计算机(MCU)经过多年的发展,在性能上有很大的进步,在型号上发展到上千种类,已经广泛应用于人类社会生活的各个领域。单片机课程已经成为高校计算机、自动化、测控以及电子信息工程等专业的重要课程。该课程是一门理论性和实践性都很强的课程,在实际教学中,应将理论教学和实验教学紧密结合。学生在掌握理论知识之余,必须通过编写程序、设计硬件电路、仿真、调试这一系列的实验过程,才能更好地掌握单片机的结构原理和应用技能。随着单片机及其接口技术的飞速发展,目前市场上供应的编程仿真实验资源并不能完全满足高校单片机课程教与学的需求,构建低成本、技术先进、源码公开的单片机编程仿真实验系统,对我国单片机课程的教学和单片机领域人才的培养具有重要的现实意义。 本论文结合目前教学中对单片机编程仿真实验系统的实际需求,采用模块化结构设计思想,精心设计和开发了单片机编程仿真实验系统。该单片机编程仿真实验系统由PC机端单片机编程控软件和单片机编程仿真实验板两部分组成。PC机端的单片机编程控软件可以自动检测到连接到单片机编程仿真实验板上的单片机,控单片机编程器擦除、写入、读出、校验目标单片机ROM中的程序,以十六进文件(.HEX文件)格式显示在控界面内;单片机仿真实验系统能够把写入单片机的程序实时地运行,并呈现实际运行效果。单片机编程控软件和单片机仿真实验板组成一个完整的单片机编程仿真实验系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

厦门微思网络

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值