网络测试研究

时间:2022-07-06 03:20:25

网络测试研究

摘要:随着企业对信息交换与数据传输的可靠性日益重视,网络测试作为保障整个信息系统正常稳定运行的重要手段应运而生。结合网络建设全生命周期阶段的划分,详细地介绍了网络测试各阶段的测试方法,测试原理及工具选取。

关键词:网络测试;网络仿真;网络应用

中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)30-7408-03

Network Testing

MENG Yan, YANG Jin-feng

(Software Testing Center of State Grid Electric Power Research Institute, Hefei 230000, China)

Abstract: With the reliability of information exchange and data transmission being taken seriously by enterprise,network testing come into bing,as a safeguard for the information system normal and stable running. with life-cycle stages of network construction division,it was described in detail that methods, principle and tools of various stages.

Key words: network testing; network simulation; applications of computer networks

随着信息技术的飞速发展、信息化建设的不断深入,人们对信息系统的依赖也越来越深。计算机网络作为整个信息系统的运行基础与底层平台,其正确,可靠,安全,稳定的运行对于信息系统与信息应用至关重要。在这样的发展背景下,网络测试作为保障整个信息系统正常稳定运行的重要手段,日益受到重视。

网络测试是整个信息系统的系统级测试的重要组成部分[3],包括从最底层的物理传输层即网络布线测试,到网络平台测试,再到系统主机测试,最后到上层应用系统的测试网络测试。能够有效的发现网络系统的自身故障与潜在隐患,就可降低网络运行的风险,提高网络系统的可靠性与稳定性。本文结合网络建设全生命周期的划分对各阶段网络测试的方法进行分析,图1是网络建设全生命周期的三个阶段划分。

其中规划设计阶段主要的测试目的是利用网络仿真技术测试设计方案,以及对网络设备进行评估测试,为网络选型提供依据;网络实施阶段的主要测试目的是保证系统可用性和稳定性(吞吐量、包转发率、丢包率等);网络与应用系统集成阶段的主要测试目的是为了保证应用系统在网络平台上的性能。

1 网络规划设计阶段的测试

网络工程是一个复杂的系统工程,通信网络结构规模的日趋庞大复杂,网络的性能也变得越加难以预测。如何尽早对设计的网络性能和服务质量进行验证,降低网络组建的投资风险。单纯地依靠经验来进行网络的规划和设计、对现用网络的修改已经不能适应当前网络的飞速发展,且方案的适用性也不能得到证明。在这种情况下,具有高可信度、良好的预测能力、使用范围大、初期应用成本不高的特点的网络仿真技术,被越来越多的运用于规划验证中,已经逐渐成为网络规划、设计和开发中的主流技术。使用网络仿真技术,能够为网络的规划设计提供可靠的定量结果,而且,能够验证方案或比较多个不同的设计方案,为企业选择出最适合的方案。

1.1 网络仿真技术原理

网络仿真是一种利用数学建模和统计分析的方法模拟网络行为,通过建立网络设备和网络链路的统计模型,模拟网络流量的传输,从而获取网络设计及优化所需要的网络性能数据的一种高新技术。数学建模包括网络建模(网络设备、通信链路等)和流量建模两个部分。模拟网络行为是指模拟网络流量在实际网络中传输和交换的过程。网络模拟获取的网络特性参数包括网络全局性能统计量、网络节点的性能统计量、网络链路的流量和延迟等,由此即可有获取某些业务层的统计数据,也可以得到协议内部的某些特殊的参数的统计结果[1]。

1.2 网络仿真软件

常用的网络仿真软件有Berkeley NS,可以进行对固定,无线,卫星以及混合等多种网络的仿真,其仿真主要针对路由层,传输层,数据链路层展开; OMNet++,是一个免费的、开源的多协议网络仿真软件,只在学术和非盈利性活动免费;OPNET网络仿真软件,能够准确的分析复杂网络的性能和行为,以其精确的模拟方式及仿真结果受到了充分的肯定,下面具体介绍OPNET的常规应用。

OPNET软件包主要由三个模块组成:ItDecisionGuru 适合最终用户,它只有仿真、分析功能,用于优化网络性能和提高网络可用性;Modeler 在ItDecisionGuru基础上增加了建库功能,用于设计分析网络、设备和协议;Modeler/radio 在Modeler上又增加了对移动通信和卫星通信的支持。在对企业方案的选择中,主要使用Modeler模块功能。

Modeler仿真大体可以分为以下6个步骤[4]:a.配置网络拓扑结构;b.配置业务;c.确定结果统计量;d.运行仿真;e.调试;f.结果和报告。图2为Modeler的仿真步骤。

下面通过一个案例说明各步骤。假设当前局域网是一个总线型的拓扑结构,现在要求对局域网的拓扑结果进行重新规划,考虑在星型结构和总线型中选择一种(服务器和终端构成不发生改变,只改变网络的拓扑结构)。分别对两种拓扑结构进行仿真,预测和分析网络性能的变化。

a) 配置网络拓扑结构:首先建立一个总线型的场景,在场景中建立现在的网络拓扑图(添加上中心节点和终端),选择链接模型(如100Mbps以太网光纤线路);

b) 配置业务:在场景中添加相应的应用定义和业务规格定义;

c) 收集结果统计量:选择服务器的平均负载以及全局以太网延时作为统计量;

d) 运行仿真;

e) 调试:重新建立一个星星的场景,重复a~d步;

f) 结果和报告:仿真报告,给出两种拓扑结果的比较。

2 网络实施阶段的测试

对实施阶段的网络进行网络质量测试,是由以下两点决定其必要性:1)实施后的网络质量是用户关心的问题,如吞吐量、包转发率、丢包率、延时等网络的各项指标是否符合规划设计要求等;2)实施阶段的网络质量测试结果也为今后网络应用系统开发提供了网络性能基准值,有助于定位故障是出现在应用系统上还是网络环境中。

2.1 网络质量测试方法

网络系统本身的复杂性,使得网络质量的测试有更强的逻辑性。下面归纳出常用的网络质量测试方法。

网络模型分析法:根据OSI定义的七层网络模型(物理层、数据链路层、网络层、传输层、会话层、表示层及应用层),在各个层面上逐一地分析和排查,这是最基础的分析方法,可以采用自下而上的思路即从物理层的链路开始检测直到应用层,也可以采用自上而下的思路从应用协议中捕捉数据包,分析数据包统计和流量统计信息。

连接设备分析法:网络的连接设备大致可分成客户端、网络链路、服务器端三个模块,对客户端的检测要涵盖硬件、软件、驱动、应用程序、设置、病毒等各方面;对网络链路的检测一般借助于工具如网络电缆测试仪、网管软件、协议分析仪等,这些工具可以帮助确定问题;对服务器端的检测要在充分了解服务器的硬件性能、软件系统性能、软硬件配置、网络应用对服务器的影响的基础上进行。

工具分析法:借助于网络测试工具的自动分析和专家系统快速的获取网络的各种参数,分析故障原因。2.2节将具体介绍常用的网络测试工具。

经验分析法:网络测试工程师依靠积累的丰富的经验,加上测试工具的支持,定位网络故障。

2.2 网络质量测试工具

网络质量测试工具一般分为如下几种类型:

物理设备检查工具:物理线缆测试仪常用来检测如线缆长度、衰减、阻抗、串扰、反射和噪音等项。

网络运行模拟工具:按照指定的网络基准或网络负载模式,以指定速率向所连网络发送指定大小的数据包,模拟出所需的网络流量状况。

协议分析仪:协议分析仪主要是通过捕获网络上的数据报和数据帧,将捕获的数据包存放在磁盘缓冲区中,进而对各种协议进行解析。常用的协议分析仪有NAI公司的Sniffer、FLUKE公司的OptiView、HP公司的Internet Advisor、WG公司的Domino系列、免费网络协议分析软件Ethereal等。

网络协议一致性测试工具:对ISDN、ATM、ADSL、帧中断等的测试都有专门的测试仪。

网络应用分析测试工具:这类工具以应用性能分析为目的,一般采用探针技术Probe监听数据包来实现数据采集,然后进行综合分析,为网络应用系统提供强大的故障定位和解决方案。常见的工具有Compuware公司的Application Vantage等。

专用网络测试设备:专用的网络测试设备具备数据捕获、生成负载和智能分析三大功能,能够对网络设备、网络子网以及整个网络系统进行综合测试。常用的有Spirent公司的SmartBits 600,IXIA公司的IXIA 1600等。

2.3 网络质量测试指标

测试方法及工具的使用,目的是为了获得各项网络的性能数据来定位问题。以下,归纳出常需要获取的性能指标[2]。

吞吐量:吞吐量是指在没有帧丢失的情况下,设备能够接受并转发的最大数据速率。其测试方法是:在测试中以一定速率发送一定数量的帧,并计算待测设备接收的帧,如果发送的帧与接收的帧数量相等,那么就将发送速率提高并重新测试;如果接收帧少于发送帧则降低发送速率重新测试,直至得出最终结果。吞吐量测试结果以比特/秒或字节/秒表示。

丢包率:是指测试中所丢失数据包数量占所发送数据包的比率,通常在吞吐量范围内测试。丢包率与数据包长度以及包发送频率相关。通常,千兆网卡在流量大于200Mbps时,丢包率小于万分之五;百兆网卡在流量大于60Mbps时,丢包率小于万分之一。网络丢包的原因主要有物理线路故障、设备故障、病毒攻击、路由信息错误等。其测试方法主要是通过模拟高负载使网络处于繁忙状态,在测试结束时统计每个端口应该转发但被丢弃的包。

延迟:指一个数据包在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。延迟测试主要是通过让系统在有负载条件下转发数据包,在规定时间内生成规定负载量,在测试过程中测量每对端口上的每一个包的延时所需的时间(单位:毫秒(MS))。

背靠背性能:背靠背性能是指在最大速率下,在不发生报文丢失前提下被测设备可以接收的最大的突发报文序列(Burst)的长度。它反映网络设备对于突发报文的容纳能力。其测试方法主要是通过在全负载条件下生成突发传输流,如果所有的包都得到转发,就增加突发长度,并重新进行测试。如果某一对端口上出现包丢失,将突发长度减少一半并再次进行测试。然后利用二分搜索法查找无包丢失时的最大突发长度。

3 网络与应用系统集成阶段的测试

在进行网络质量测试获取互连设备的具体性能指标,如吞吐量、延迟、丢失率等之后,还需要结合实际的应用系统进行网络应用测试,考察多用户并发访问性能、系统响应时间、应用对网络资源的占用情况等。

3.1 网络应用监控

通过网络应用监控手段来获取网络应用性能数据,帮助进行故障诊断。网络应用监控一般是通过将网络探测器设备安装在网络的某一网段上采集数据实现的。探测器常常入到局域网交换机上得镜像端口中,即被配置为复制来自交换机上另一个端口的传输流的端口。探测器将只能够从镜像端口采集传输流数据。

3.2 网络故障诊断

网络故障诊断一般的步骤是[1]:首先弄清楚网络故障;收集需要的用于帮助隔离可能故障原因的信息;根据收集到的情况考虑可能的故障原因;根据最后的可能的故障原因,建立一个诊断计划。网络故障诊断分为两个层面:软件问题的诊断和硬件问题的诊断。软件问题的诊断建立在网络应用分析的基础上,网络应用分析的关键因素包括会话信息(往返行程和流量信息)、包信息、响应时间信息、负载信息、高峰信息、线程信息等。硬件问题的诊断分物理层、数据链路层、网络层,其中物理层的故障主要表现在物理连接方式是否恰当、连接电缆是否正确、MODEM或CSU/DSU等设备的配置及操作是否正确;数据链路层的故障主要通过查看路由器的配置、连接端口、接口与通信设备封装等来排查;网络层故障检查的基本方法是沿源到目标的路径,查看路由表,同时检查路由器接口的IP地址。图3为网络故障诊断细分图。

4 结束语

网络测试不仅是要关注网络的性能问题,更深一步地,需要对网络的可靠性进行测试。目前国内对网络可靠性的测试还不普遍,然而,网络可靠性测试将成为网络测试技术发展的主要趋势之一。

参考文献:

[1] 柳纯录.软件评测师教程[M].北京: 清华大学出版社,2005.

[2] 谢希仁.计算机网络[M].北京: 电子工业出版社,2003.

[3] 朱红,金凌紫.软件质量保障与测试[M].北京: 科学出版社,1997.

[4] 垄O,侯维岩,费敏.OPNET网络仿真技术及其应用[J].自动化仪表,2008,29(1).

上一篇:云计算技术在互动电视的实践与探索 下一篇:基于Adaboost的SAR图像溢油检测