网络测量方法按照是否给网络注入测量分组可以分为主动测量和被动测量。

当前的网络测量还趋向于采用主被动结合的方法。如利用主动测量确定网络的整体性能,当网络发生异常时,采用被动测量确定问题所在位置,进行故障定位。

image-20211211161726673

1 被动测量方法

(1)被动测量概念

被动测量指的是在不注入新的流量的情况下监测网络流量的过程,可以出现在网络的不同有利位置上。由于被动测量不发送探测包,又称为非侵扰式测量。

被动测量可通过3种方式实施:

  • 利用网络探针测量:使用网络探针监测网络传输状态,分析捕获的数据包,实现对相关业务的测量。
  • 服务器端测量:在服务端安装测试代理,实时监测服务器的性能;
  • 用户端测量:将监测功能封装到客户应用中,从特定用户角度实时监测相关业务性能;

(2)流量探针方法

探针是一种部署在网络出口的设备或者程序,能够对进出网络的流量进行监控和分析。

根据网络类型和部署方式的不同,采集流量数据的网络探针也不同。

常见的流量探针有:

SNMP/RMON探针

简单网络管理协议(SNMP)是一种用于在网络设备之间交换管理信息的应用层协议。

远程监控(RMON)是一个标准监控规范,它可以使各种网络监控器和控制台系统之间交换网络监控数据。 RMON 为网络管理员选择符合特殊网络需求的控制台和网络监控探测器提供了更多的自由。

RMON 最初的设计是用来解决从一个中心点管理各局域分网和远程站点的问题。RMON 规范是由 SNMP MIB 扩展而来。 RMON 中,网络监视数据包含了一组统计数据和性能指标,它们在不同的监视器(或称探测器)和控制台系统之间相互交换。结果数据可用来监控网络利用率,以用于网络规划,性能优化和协助网络错误诊断。

RMON监控是SNMP协议的一个扩展,它能够使得SNMP原本需要利用网关工作站做的事情在本地就完成,然后发给工作站从而较少对网络带宽的占用,主要有,事件 告警 历史 统计 4项都可以在本地完成

SNMP管理者定期向代理发送SNMP请求,获取相关的流量信息。

RMON协议是对SNMP标准的扩展,定义了远程监控的标准功能和远程监控代理的接口。

相关产品:HP Open View、Cisco Works、Nortel Optivity等。

SNMPv1模型示意图

NetFlow/sFlow探针

sFlow 是由InMon、HP 和FoundryNetworks 于2001 年联合开发的一种网络监测技术

NetFlow和sFlow是抽样测量的代表性应用实例。

NetFlow是Cisco开发的专用流交换技术,集成在Cisco的各类路由器和交换机内,广泛应用于网络监视、流量计费等方面。

sFlow也是一种嵌入在路由器或交换机内的基于抽样的流量监测技术。

sFlow的采样分为报文采样和计数器采样两种,前者用UDP报送,后者用SNMP报送。

相关产品:Cisco Flow Collector、Arbor Peakflow、CAIDA cfowd、FlowScan、Genie NTG等

硬件探针设备

硬件架构的数据采集探针是为了监测流量而专门设计的技术方案,能做到高速端口的线速流量采集。

特定于具体的网络实现,可应对海量数据的测量,但费用昂贵。有些硬件采集架构还需要在网络中心端和各远端分支部署相应的硬件设备,部署复杂。

(3)SDN网络中的被动测量

斯坦福大学Mckeown教授于2008年提出了OpenFlow的概念,并在2009年正式提出软件定义网络(software defined network,SDN)的概念。

SDN并未改变底层的IP协议,传统网络测量的研究成果仍可应用在SDN中,并结合其开放性、透明性等方面的优势,以更灵活的方式实现。

SDN中的被动测量方法通常是在网络中若干个预先设定的节点采集数据,一般由交换机根据采集规则主动地向测量服务器转发测量流量。

2 主动测量方法

(1)主动测量概念

主动测量是指主动地向待测网络发送特定的网络探测包,根据网络中间节点的反馈信息分析这些包在网络中的传输结果,得到待测网络状态,以此来构造网络拓扑图,或者分析当前网络性能和网络变化情况 ,评估网络特征。

(2)常见的主动测量方法

Ping

•最初的网络测试与诊断工具

•主要用于测量连通性、时延、丢包率

•基于ICMP协议进行工作,某些主机或防火墙会将其过滤。

ICMP(Internet Control Message Protocol)Internet控制报文协议

Traceroute

Traceroute程序的设计是利用ICMP及IP header的TTL(Time To Live)栏位(field)。议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。

•主要用于测量从源端到目的端的路由信息

•实现过程基于IP分组包头的TTL(Time To Live)字段

•可发现错误路由、网关故障等

NetPerf

•主要用于测试单向网络吞吐率、单向端到端的时延

•以客户机/服务器模式工作,有两个主要元素:Netperf和Netperfserver,分别部署在测量的源端和目的端

其他:

•Iperf

•Treno

•Nettimer

•…

(3)主动测量的系统支持

与被动测量不同,主动测量需要一定的系统支持

有效探测包的注入、数据包的离开及到达时间等的精确测量都需要在操作系统的内核中实现。

需要特定的系统文件库和系统接口以满足主动测量的需求。

  • Scriptroute工具允许非授权用户向网络中注入探测包,但操作权限范围需要系统管理员预设。
  • PeriScope是操作系统内核中实现的可编程库,具有一个应用程序接口(API)。使用该接口,可定义新的探测包结构和数据推断技术。

3 协同测量

关于协同测量的文献很少,相关介绍也很少

目前对于协同测量的概念还没有明确的定义,宽泛地看,包括测量方法的协同性和测量设备间的协同。

主被动结合的协同测量。

  • 实际测量过程中,常使用混合测量方式,灵活组合主动测量和被动测量方法,设计测量机制,对网络进行协同测量。

测量设备的协同性。

  • 较大规模的软件定义网络中,未来主流的部署方式为多控制器分布式部署方式。
  • 在此模式下,网络的测量架构需采用多控制器分布式协同测量的测量机制
  • 包括测量任务的调度、测量配置的同步、测量资源的分配、测量结果的合并等。
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐