APP下载

基于SNMP协议的分布式网络性能测试与分析

2013-07-14任小凤

中国测试 2013年1期
关键词:网络设备网络管理吞吐量

任小凤,郑 刚

(1.河南黄河水文勘测设计院,河南 郑州 450002;2.河南艺术职业学院,河南 郑州 450002)

0 引 言

随着网络系统的日益复杂,网络系统性能分析手段与种类也越来越多,目前常用的网络性能分析手段就是利用一种特定的网络协议进行分析。通过专门的协议分析仪器和硬件设备,对网络中该协议数值变化实现网络性能分析与评估。网络协议分析仪器就是通过网络数据提取、网络流量分析、数据包抓取等手段,利用网络协议在数据传输过程中的变化进行数值量化和特征模型化,使分析效果更具直观性[1]。

除了用协议分析仪进行网络性能分析外,网络测试也是网络性能分析较好的方法,通过网络测试以及测试数据分析来分析网络性能,其测试结果具有很强的针对性与准确性。然而该技术实施起来比较复杂,它需要涉及各类网络测试工具的使用、网络测试规划、测试培训等[2]。

本文以简单网络管理协议(SNMP)和RFC 2544协议为基础,配合分布式网络性能测试方法进行网络性能测评。通过两者的结合实现更准确的网络性能分析,为网络性能优化提供一种可行性解决方案。

1 网络性能测试概述

1.1 网络性能测试的类别

影响网络性能的因素很多,主要有网络设备性能、应用系统性能、主机系统性能等;因此,网络测试技术就要涉及诸如网络协议、网络设备、应用系统、网络安全、主机系统等方面的测试。无论哪种方面的测试,都具有如下6个要素的测试[3]。

1.1.1 性能测试

在网络测试技术中,网络设备的性能测试是一个很重要的测试,它的性能高低以及稳定性将直接影响到整体网络的稳定性、网络数据传输效率与网络的扩展性。在网络性能分析与测试中,网络设备吞吐量、数据缓存与转发能力、容灾恢复能力都是很重要的分析参数。网络设备性能测试就是量化这些属性的参数,通过这些性能参数的分析来实现网络设备性能瓶颈分析。

1.1.2 功能的测试

功能测试主要是指网络设备、应用系统、主机系统、网络安全等方面应该具有的测试,对于IP网络设备来说,在网络中的功能主要是信息传递路由、通信协议转换、信息传递路由信息维护、路由控制与管理功能。在网络测试中,网络设备不必具有上述全部功能,而只需要具备网络设备应该具有的最小功能,其他功能都可以通过诸如接口测试、性能测试、协议一致性测试、网管测试等一并反应出来。而设备本身具备的功能,只是起到协助校验测试结果的功能。

1.1.3 一致性测试

一致性测试是指通过一系列操作与观察测试,通过最终的测试来观察实现结果对于一致性测试结果的影响,即通过检测实现与预先设定的实现规范间的一致性来分析一致性结论。它在检测实现中有静态一致性和动态一致性要求。对于网络设备来说,其测试主要有“黑箱”方法,就是通过控制观察点PCO与被测试设备进行相连接,根据设备的类型设置相应的控制观察点PCO值,然后按照一定的规律进行数值改变,通过数值变化来校验其产生的结果是否满足预期值,匹配结果分为通过、失败、无结果3种。

路由器作为互联网重要设备,在OSI协议模型中第3层,它有物理层、链路层、传输层。设备包含了这3层的中的所有协议:物理层和链路层协议、传输层中的TCP/IP协议、UDB协议、SNMP应用协议以及RIP、OSPF等路由协议。所以在进行路由器一致性测试时,需要对这些协议进行一致性校验,特别是要对诸如RIP、OSPF等路由协议进行详细地测试,因为这些协议将直接影响到路由器数据传输等功能,从而影响到整个网络的数据传输与性能。而对于IP网络设备中的IP电话设备来说,其最重要的是七号信令协议的一致性校验,因为进行高质量通信主要和信令的准确与准时性有关。

因此,在进行协议一致性测试时,由于设备具有差异性,测试时只能具有针对性的测试。同时为了保证网络性能测试的真实性和完整性,需要在真实网络环境下进行实际数据采集与分析,并进行所有协议一致性结果校验。

1.1.4 互操作测试

在网络设备通信过程中,虽然进行了两个设备间的协议一致性测试,但由于其路由协议设置内容根据实际网络环境存在差异,所以即使进行了协议一致性校验,不一定能实现两个设备间的互相通信与相互操作,因此协议一致性测试结果只能反映出两台设备协议的一致性,但不能反映出其设备间的连通性和可以操作性,具有其自己的局限性。为保证网络能相互连接与操作,还需要再做互操作性测试。互操作性就是在协议一致性测试中,要比较协议一致的设备替换成需要做互通性测试的相关设备,然后对设备进行组网,进行设备连接测试。

1.1.5 稳定性可靠性测试

网络设备的稳定性是整体网络有效运行的保障,特别是作为核心网络中的路由设备,它运行异常,将影响到和该设备相联的网络设备间的数据传输。所以在网络设备测试中,必须要进行网络设备的稳定性、可靠性测试。

网络设备可靠性与稳定性结果可以通过3种方式获取:(1)通过厂家生产设备关键性部件相关参数以及该部件在出厂时备份信息获取;(2)通过该设备在同类产品中的故障率来校验其可靠性;(3)通过用户自己测试来获取参数,这种需要具备相关知识才可以实现。

1.1.6 网络管理测试

网络管理测试主要是指对测试网络设备附带的网络管理软件的测试。网络管理软件测试包括测试该管理软件是否能实现对网络设备的管理能力、测试网络安全管理、性能管理、故障管理、网络拓扑管理能力以及简单管理协议一致性校验和信息库管理程度测试。在测试时,一般采用MIB项来进行测试,由于一个网络管理软件测试包含了很多的MIB项,所以测试时只有通过MIB抽样方式来实现。

1.2 网络性能分析评估

网络性能分析评估主要是指根据实际网络环境制定符合该网络环境的性能指标分析。在一个网络中,当只有一个网络设备时,其性能分析评估主要参考其吞吐量、设备平均响应时间、设备进行报文传输的延迟时间、网络吞吐量的最大距离与可靠性等。而当设备融入到实际网络环境中时,与应用系统结合条件下就要涉及网络吞吐量、介质应用率、网络延迟时间、系统恢复时间、系统复位[4]等。

(1)网络吞吐量。也称网络吞吐率,主要是指网络设备在一定时间段内通过内部信道的信息总量。由于该指标采用的是特定时间段内的信息总量,同时它是基于特定网络条件下的网络吞吐量测试,所以其计算方法、数据结果会存在一定的差异性。

(2)介质应用率(U)。主要是指在物理信道进行信息传输时所用时间与物理介质信道总可用时间的比值。其总可用时间已经排除传其输过程中损耗等时间。

(3)延迟时间(D)。是指发送一段完整报文到接收该完整报文所用的总时间。进行延迟时间计算,一般采用网络数据传输平均值方式进行,该数值会根据网络性能以及网络负载的变化而变化,因此延迟时间可以通过网络负载率来实现测试。

(4)系统恢复时间。是指当网络设备进行高负荷数据传输时,或者设备处理数据出现异常,从异常运行状态恢复正常工作所需要的时间。在进行该项测试时,可以采用模拟向设备发送120%吞吐量数据,然后观察设备运行速率下降回50%所需要的时间。

(5)系统复位。是指设备关电重启到能正常工作所用的时间。

2 基于SNMP协议的解决方案

2.1 SNMP协议

SNMP位于应用层中,它主要是通过UDP协议承载各类应用协议,实现管理进程与代理进程之间的通信,它在TCP/IP中的位置如图1所示。

在SNMP网络体系中,设备一般由网络管理系统和被管网络设备组成。网络管理系统实现被管网络设备运行状态监控和网络进程管理。实现方法是:在网络管理系统中安装管理软件,同时在被管理客户端安装网络管理代理进程软件,网络管理系统定时向被管理设备发送SNMP数据包,在被管网络管理代理进程接收到该SNMP信息后通过代理进程中的MIB库进行相应的执行以及结果反馈,实现管理进程与代理进程间的数据通信。其处理过程如图2所示。

图1 NSMP协议在TCP/IP中的位置

图2 管理进程与代理进程的通信

2.2 系统解决方案

对中小企业,网络设备测试不需要昂贵的测试工具,只需要能满足符合企业网络性质以及能满足网络管理日常测试,同时低成本、高通用性即可。

在标准网络设备中一般都支持SNMP协议,SNMP协议的一个很大的优点就是,能把设备运行状态以及异常情况都自动保存在设备的MIB信息库中,在MIB信息库中,数据保存类型有静态记录和动态记录两种。在进行网络设备检测或者设备维护时,只需要调用设备的MIB信息库中的信息就可以实现网络性能数据收集。

在本系统中,进行网络性能测试是基于SNMP协议、分布式网络结构而进行,本文中统一把该测试系统命名为分布式网络性能测评系统。采用分布式网络结构,主要就是模拟有效网络数据流量生成方式,其数据流量具有切实有效性。在进行测试时,通过把局域网计算机组成小型测试网络,利这些小型机模拟向被测主机发送大量数据包,同时发送的数据包总量必须要大于被测设备最大数据处理量。通过超负荷处理检验该设备在网络运行中的总体性能[5]。实验结束后,通过设备中的MIB变量来实现设备性能分析与效率计算,同时网络管理员还可以通过MIB信息来进行日常维护。

3 分布式网络性能测试

3.1 测试模型

分布式网络性能测评主要采用分布式网络结构测试模型,其方法就是先在一台主机上安装SNMP网络管理控制程序,在多台主机上安装网络管理代理程序,由网络管理控制主机控制多台代理主机,同时向被测设备发起高负荷数据包。然后通过查询被测试设备的MIB参数和配合相关计算公式实现性能评估。在进行测试时,发送数据包的量必须达到被测设备的处理能力临界值,否则无法准确测试出被测设备的运行性能[6]。其分布式网络性能测评系统的模型结构如图3所示。

图3 系统测试模型

3.2 测试流程

在基于SNMP协议的分布式网络性能评测中,网络管理控制主机需要开启套接字监听,以便网络管理代理进程连接过来。当所有代理进程主机连接到控制主机后,控制台可以自动获取和发送要进行测试和需要反馈的MIB变量参数值。例如:在进行UDB协议吞吐量测试中,需要发送UdpInDatagrams、UdpNoPort、UdpInErors、UdpOutDatagrams MIB 变量参数。然后根据具体设备类型进行相关参数配置,例如:要进行协议测试类型、需要向被测设备发起的进程数、发送时间等参数配置。所有参数配置就绪后,总控制台就可以启动测试指令给各个代理主机,代理主机根据预先设置好的配置,执行数据包发送与记录数据结果。测试结束后把本机上的MIB值反馈给控制台,总控制台收集到所有代理主机反馈回来的MIB值后,结合相关测试工具与计算公式进行设备吞吐量以及丢包率计算。若测试结果中设备的丢包率为零,则说明前面MIB参数设置、代理进程数设置等存在问题,设置的参数值还未到达被测设备的性能临界点,需要重新调整,并不断调整和测试,直到MIB中的丢包率出现非零值为止。记录丢包率接近零的轮次以及此轮次中设备运行其他参数,然后对这些轮次取平均值,就可以计算出设备的总吞吐量。通过不断增加流量,并记录每次增加流量时设备丢包率情况,重点选取设备丢包率接近100%时的流量情况,然后取这几轮流量平均值,即可以检测出设备的性能临界点。再综合比较几轮测试数据,选取核实轮次进行设备性能临界点分析。

3.3 系统测试

为验证评测系统的评测结果有效性,搭建系统测试网络环境,通过对现场网络设备性能测试以及结合该系统来完成设备性能的分析与评价。

3.3.1 网络拓扑设计

现场模拟测试环境中,设备包括:一台路由器、两台交换机、多台PC机,被测试设备为中间路由器设备。其中4台主机作为数据报文发送机器,1台主机作为数据发送控制机,4台主机和控制机在性能上完全一样。该控制台与其他3台主机归在同一个网段中,组成数据发送局域网,另外一台主机作为数据包接收主机归在另外一个网段中。发送数据网段中的主机通过Intel Express 410 Switch互联,实现控制台与其他两台主机间的数据通信。在数据接收网段中通过Intel Express 550T Switch来实现其网段内设备间数据通信。Intel Express 410 Switch与Intel Express 550T Switch通过中间Router路由器互联。然后开始对设备进行IP地址分配,采用192.168.200.*作为发送数据网段,以200,0.0.*作为接收数据包网段。控制台IP地址为:192.168.200.111,其余4台主机 IP 地 址 分 别 为 :192.168.200.5、192.168.200.6、192.168.100.7和200.0.0.200。其测试网络拓扑结构如图4所示,网络结构由一台路由器、两台交换器机组成,两台交换机直连于路由器。两个子网间的IP数据报文传递由中间路由器来实现,路由器也作为网络管理代理主机。系统测试中采用这种分布式的报文发送实现测定Router数据转发性能测评。在测试过程中需要增加不能向源地址发送ICMP报文的配置,路由器必须只能连接两台交换机,以及两台交换机不能再挂在其他与测试无关的网络设备,这样才能保证交换器性能瓶颈不影响到路由器性能评测结果。

3.3.2 测试结果及其分析

从图4中的网络拓扑结构可以看出,分布式测试结构中,子网192.168.200.*中的3台PC机和其他终端设备组成一个分布式主机群,其3台主机的IP地址分别为:192.168.200.5、192.168.200.6、192.168.200.7,这3台主机在总控制台(192.168.200.111)控制下同时向200.0.0.*网段发送EP报文数据包,这些数据包通过Router路由器转发.

测试时采用以太网帧长度有(以B计):64,128,256,512,768,1024,1280,1518。这些长度已经包含了所有以太网帧长度。其对应的IP报文长度分别为:46,110,238,494,750,1006,1262,1500。以帧长度为64B进行IP报文发送,并以此作为数据测试样例,其测试数据如表1所示。

图4 网络拓扑结构

从表1中的数据可以看出,当单台主机发送数据包进程数为30,35时,ipForwDatagrams平均值稳定在1310000~1330000之间;当增加到40个线程的时候,ipForwDatagrams平均值稳定在1 330 000左右;当进程数为50时,ipForwDatagrams平均值始终稳定在1 331 000~1 333 000,由此可以得出ipForw-Datagrams等于1331000~1333000时已经达到设备运行最大峰值。根据ipForwDatagrams和吞吐量间计算公式,可以得出当进程数为50时的平均吞吐量为44390pkts/s。就是说,当IP报文长度为46B时,路由器转发的数据包的最大值为44390pkts/s。用同样的原理,可以继续进行当IP报文长度为其他字节时的路由器平均吞吐量,各种报文长度下的平均吞吐量和以字节训的IP报文吞吐量如表2所示。

表1 对46字节IP报文测试的数据

表2 不同报文长度下的平均吞吐量与字节吞吐量

通过表2可以看出,IP报文长度和Router平均吞吐量有相反关系;且当IP报文长度达到494B(即帧长为512 B)时,Router的字节吞吐量达到了最大值,而后随着IP报文长度的增加,字节吞吐量值变小。其字节吞吐量与IP报文长度关系如图5所示。

图5 字节吞吐量与IP报文长度的变化关系

4 结束语

本文重点研究了基于SNMP协议的网络设备性能测试技术,通过理解SNMP协议体系结构与工作原理展开对网络性能测试方法的分析。在实验室局域网内对一台PC机的数据转发性能进行了测试,通过测试结果来进一步说明分布式网络性能测试解决方案。

[1]申普兵,行明顺,王兆祥,等.计算机网络与通信[M].北京:人民邮电出版社,2006.

[2]薛庆水.CSMA/CD的建模和性能分析[J].计算机工程与应用,2001(16):82-83.

[3]RFC2570—1999 Introduction to Version 3 of the Internet-standard Network Management Framework[S].

[4]邹玲,石冰心.网络规划设计方法的研究[J].计算机科学,2000,27(2):36-39.

[5]Comer D E.计算机网络与互联网[M].徐良贤译.北京:电子工业出版社,1998.

[6]何启源,汤宝平,张祥春,等.基于流量和时延的网络性能测量系统的研究[J].中国测试技术,2005,31(3):8-10.

猜你喜欢

网络设备网络管理吞吐量
网络设备的安装与调试课程思政整体设计
数控机床DNC网络管理平台在智能制造中的应用
一种基于C# 的网络设备自动化登录工具的研制
基于OpenStack虚拟化网络管理平台的设计与实现
电动汽车充电服务网络管理初探
2017年3月长三角地区主要港口吞吐量
2016年10月长三角地区主要港口吞吐量
2016年11月长三角地区主要港口吞吐量
流量分析在网络管理中的应用探析
2014年1月长三角地区主要港口吞吐量