网络性能的分析、评价模型及其软件实现
2012-10-25黄惠
黄 惠
(华东理工大学信息科学与工程学院,上海 200237)
0 引 言
随着网络技术与物联网技术的发展,互联网用户规模进一步扩大,计算机病毒通过网络进行传播也越来越猖獗,同时网络设备高负荷运行,网络性能面临着很大的考验。为保证网络的稳定与安全,需对网络设备进行性能检测与分析,通过新的技术手段预测、发现、改善网络性能。本文提出一种优化与改善网络性能的解决方案。
1 评价模型与性能测试
1.1 评价模型
1.1.1 网络性能研究指标
网络系统性能分析与评价主要是指通过设定网络性能指标并进行指标测试与分析评价过程。主要参数有网络平均响应时间、数据传输距离、数据传输稳定性、网络总体吞吐量、物理介质利用率、网络传输平均延迟时间等。对于网络系统维护管理员,其测试参数主要是网络总体吞吐量、物理介质利用率和网络传输平均延迟时间。
1.1.2 网络性能分析算法
一般网络性能分析算法主要有数学分析法、模拟仿真法、测试监控法等[1]。其分析方法的具体内容如下:
(1)数据分析法。这种方法主要是通过数理、排队论等数据工具,结合网络指标和网络运行实际参数进行网络性能分析。目前数据工具主要有排队论、Little定律、概率论等。
(2)模拟仿真法。主要是指在实际网络中通过程序模拟进行测试,并采集与分析网络数据。
(3)测试监控法。测试监控方法主要是指直接在实际网络中进行网络性能测试与分析,其测试结果具有很高的代表性。例如:如要进行网络负荷检测,则选择单日网络负荷最重时间进行现场测试。
1.1.3 网络性能分析模型
建立网络性能分析模型步骤:
(1)建立数学模型。通过数学分析、模拟仿真等方法进行网络数据收集、性能参数设置建立数学模型。
(2)进行模型分析。通过对网络中数据流以及参数的整理与分析,通过概率论、排队论等数据工具建立起数据参数间的数学关系。
(3)模型评价。编写与模型系统非常接近的程序,通过统计分析方法对程序运行结果进行分析汇总,通过结果重新来评价模型系统。
(4)对结果进行统计、分析以及与实际系统进行结果比较。采用现场参数抽样和求样本的平均值来校验模型与实际结果间的差距。
1.1.4 排队论网络模型
在本论文中主要采用排队论网络模型[2],该模型的数量指标公式为:
(1)系统服务强度 ρ=l/m2。
(2)系统中没有任务的概率为
(3)系统中有n个任务的概率为
(4)需要排队的概率为
(5)系统中平均任务数量为
(6)系统平均响应时间为
(7)队列中平均任务数为
1.2 网络性能测试
1.2.1 性能测试基本参数
网络性能测量的基本参数主要有IP可用性、IP包传输时延、IP包时延变化、IP包丢失率、IP包误差率、路径吞吐量、IP包错序等[3]。
1.2.2 性能测试
重点介绍与网络效率测试相关的技术要求,主要包括效率测试目的、测试方法、测试策略、测试工具等。
(1)性能测试目的。通过对网络性能进行量化综合评估,发现系统可能存在的性能瓶颈,对系统可能出现的性能故障分析定位,为系统资源性能优化提供数据参考。
(2)性能测试方法。效率测试一般指系统完成预定功能需要占用通信资源、设备资源的程度,以及系统在预定环境下系统响应速度、吞吐能力等测试。例如:在一些语音或视频传输的网络中对IP数据包延迟和IP网络的带宽要求比较高,那么就需要使用相应的测试工具对延迟和带宽进行测试。而同理在一些突发性数据比较多的网络就应该对网络的负载进行压力测试。
(3)测试工具选择。在制定好测试方法后就要针对具体的方案选用测试工具。测试工具大体上可以分为商品型效率测试工具和开源型的测试工具。商品型效率测试工具功能全面,可以测试多种系统,并且监测的数据比较详细。这类软件包括惠普的Loadrunner、IBM 的 Rational Performance tester 等。开源的测试工具功能比较单一,需要结合多种的测试工具。测试工具包括基本网络性能测试工具Netperf、Iperf,网络流量跟踪工具Ntop、MRTG,网络抓包工具Tcpdump、WireShark, 网 络 分 析 工 具 Tcptrace、Wireshark、Ntop 等[4]。
2 搭建测试平台
2.1 测试平台概述
通过搭建一个小型的骨干网络来模拟运营商的IP承载网。在IP网络的核心,通过Cacti对网络流量进行监控和流量图的分析,分析网络的运行状况,对网络故障的排除和网络升级提供支持。
2.2 测试平台设计
2.2.1 网络拓扑设计
在本文所述的测试平台中使用6台路由器、1台监控服务器、2台PC。其中服务器是在Windows2003的系统下使用Vmware虚拟1台Linux服务器。具体拓扑结构如图1。其中拓扑图中的F接口为快速以太网接口,速率为100Mb/s;S接口为串口,速率为128Kb/s。
测试平台的的设备型号及操作系统如表1。
2.2.2 测试设备功能
在本测试平台中,由 C1、C2、PE1、PE2 组成一个MPLS骨干网络。其中C1、C2为核心路由器,其主要作用是高速转发数据。PE1、PE2为骨干网络的边缘服务器,主要是为客户路由器提供接入服务。
图1 网络拓扑结构
表1 网络测试设备以及操作系统参数
CE1、CE2路由器为客户路由器,各接入一台PC,并通过CE路由器接入骨干网络。PC1、PC2的主要作用是生成业务流量。监控服务器通过C2接入骨干网络,C2的作用是对整个MPLS骨干网络各个设备的接口流量和CPU进行监控。
2.2.3 测试平台应用技术
本测试平台主要模拟电信骨干网络,使用技术均为现今电信骨干网络主流路由技术。其中内部网关协议使用ISIS,启用GBPv4路由,并在路由的基础上使用MPLS。
在测试过程中主要会应用MPLS流量工程(TE)对流量进行控制。传统的IP网络通过数据报文的IP头部所承载的IP地址进行路由和转发,MPLS在IP路由的基础上通过标签进行转发,是结合了IP和ATM技术优点的一种交换技术。
2.2.4 基本配置
本测试平台的配置过程如图2所示。
根据网络拓扑结构中网络设备安装顺序及图2中测试平台配置细节,首先对各个路由器的基本信息进行配置,然后配置骨干网的IGP。接着是BGPv4的配置,值得注意的是在骨干中的路由器并不是都使用BGP协议,只是在PE间配置时才需要该协议。在路由配置完成后进行CEF和MPLS配置。配置时应注意对应接口,VRF和BGPv4的配置是为了使MPLS能运载VPN路由。
图2 测试平台配置细节
然后还要对SNMP进行配置,否则监控服务器不能获取监控数据。
而对于CE路由器的配置比较简单,只需应用基本的IGP协议即可。
2.3 网络测试工具
Cacti是一种利用 RRDtool(RoundRobin DatabaseTool)、SNMP、PHP、MYSQL、Apache 多 种 工具的一种监控软件,支持Windows和Unix操作系统。Cacti主要功能包括数据定时采集、图像绘制与显示、树状的主机和图像管理、RRDTool信息管理、用户和权限管理以及模板导入导出等[5]。
Cacti系统由4个部分组成:
(1)Cacti页面(PHP)——用户控制平台,用户可以在此进行所有的设置;
(2)SNMP采集工具——Unix下使用Net-SNMP软件,包中已经有“snmpget”和“snmpwalk”等程序,Windows下使用PHP的SNMP功能[6];
(3)RRDTool绘图引擎——性能数据的存储和绘画图像;
(4)MySQL数据库——储存RRDTool绘图所需的信息。
3 性能测试实例
3.1 测试目标与流程
以第2节搭建的测试平台作为具体实例,通过使用Cacti对该平台进行流量测试。在分析相应的流量数据后,对测试网络所存在的故障及瓶颈进行排除并提出相应解决方案。
建立正确的测试流程可以提高测试的效率和准确性。根据第2节所述的测试平台,订立测试实例的工作流程如图3所示。具体流程为:
(1)利用 Ping 工具,通过测试 CE1、CE2、PC1、PC2,来获得网络连通性情况,以及获得延迟和丢包的数据。
(2)在PC1和PC2之间进行压力测试,通过压力测试获得骨干网络的最高负载情况。使用的工具是在PC间发送数据包的BandwidthTest和在骨干网获取流量数据的Cacti。
(3)在骨干网络下模拟故障,通过Cacti获得故障信息,并进行故障排除。
(4)在完成上述测试后,通过整理各种数据,对测试平台进行分析,查找网络的瓶颈。然后使用MPLS的TE对网络进行优化,在优化过程中使用Cacti记录优化状况。
(5)最后提出网络扩容的建议。
3.2 连通性测试
3.2.1 连通性测试方案
连通性测试在CE1和CE2以及PC1和PC2中进行[7],实施方案如下:
(1)登陆CE1和CE2路由器,使用Ping命令,从CE1路由器Ping到PE2路由器,然后从CE2路由器Ping到CE1路由器,Ping包的大小是1500 B,数量是100。记录数据。
(2)接下是从PC1到PC2的Ping测试,记录数据。
另外,在连通性测试进行的过程中骨干网不承载业务。
3.2.2 连通性测试过程
连通性的测试过程如下:
(1)从CE1到CE2的Ping测试,见图4;
(2)从CE2到CE1的Ping测试,见图5。
3.2.3 连通性测试结果
连通性测试结果如下:
(1)从CE1到CE2的Ping测试
1)能 Ping通
2)丢包率为0%
3)平均时延:min/avg/max=196/231/267ms
(2)从CE1到CE2的Ping测试
1)能 Ping通
2)丢包率为0%
3)平均时延:min/avg/max=196/231/267ms
(3)从PC1到PC2的Ping测试
结果:能Ping通。
从实验结果可知PC1到PC2连通性正常,可以继续下一步测试。
3.3 压力测试
3.3.1 压力测试方案
压力测试在PC1和PC2中进行,并且在骨干网中使用Cacti收集流量数据[8]。实施方案如下:
(1)使用 BandwidthTest,从 PC2 向 PC1 发送数据。
(2)通过Cacti收集流量信息。监控PE1的F0/0、PE2的 F0/1、C1的 F0/1及 S0/2/0、C2的 S0/2/0及S0/2/1共6个接口的流量。
(3)测试时间为 18:28 到 04:38,共 10h。
3.3.2 压力测试过程
压力测试的测试过程如下:
(1)使用 BandwidthTest,从 PC2 向 PC1 发送数据,如图6所示。
图3 测试案例工作流程图
图4 从CE1到CE2的Ping测试
图5 从CE2到CE1的Ping测试
(2)通过Cacti收集流量信息。
通过Cacti收集C1的F0/1流量信息见图7。
3.3.3 压力测试结果
图6 使用BandwidthTest压力测试
图7 通过Cacti收集C1的F0/1流量信息
经过10 h的压力测试可以发现,通过骨干网络的最高流量是126.09Kb。即使在PC端打开更多的连接程序也无法提高流量。经过对Cacti收集到的流量图进行分析,可以发现流量经过的路径是PE2-C1-PE1,也就是说在骨干网中有两条链路并没有得到利用。
3.4 模拟排除故障
Cacti可以监控网络设备的CPU、内存、接口流量等参数。这里通过模拟设备故障,使用Cacti发现MPLS骨干网络的故障,并提出解决方案。
3.4.1 设备故障排除流程
建立正确的测试流程可以提高测试的效率和准确性。根据第2节所述的测试平台,订立测试实例的工作流程如图8所示。
图8 设备排除故障流程
具体排错流程如下:
(1)发现Cacti出现异常时首先应对异常进行判断。
(2)如果出现高流量,应通过Ping等工具检测延迟和丢包参数。
(3)如果发现高流量影响业务数据转发,应使用QOS等策略对流量进行控制。
(4)如果结点经常出现高流量,应考虑升级设备或提高带宽。
(5)如果Cacti出现的是没有流量或设备CPU使用异常,应登陆设备查看。
(6)如果是设备出现故障,应对设备进行故障排除。
(7)如果设备运行正常,则应检查监控设备。
(8)如果设备经常出现低流量或CPU使用异常,则考虑更换或升级设备
3.4.2 高流量异常
如图9所示,C2在23:20到00:20中出现一次高流量,按照流程处理故障。
图9 高流量异常实例图
(1)C2是核心路由器,当出现高流量异常时,可以通过Ping等工具,对网络的延迟和丢包进行测试,如果没有影响正常的业务,则说明高流量是正常的,不需进行排除。如果已经影响到正常的业务,则可以通过对路由器进行配置,把某部分业务转移到另外的链路中[9]。在设计IP承载网时,把核心路由器的连接设计成全互联可以解决这一类故障,由于核心是全互联的,就可以把业务转移到某些流量不高的路径,减少高流量对业务的影响,也更合理地使用链路的带宽。
(2)翻查Cacti的记录,如果该链路经常出现高流量,并影响到正常的业务,则应通过设置QOS策略等方法调整。
(3)如果对设备设置了QOS以后该线路仍经常出现影响正常业务的高流量,则应该对链路的带宽进行扩容。
3.5 网络性能分析与优化
通过测试可以发现,测试平台在无业务流量的情况下能正常运作,平均延时为231ms,没有出现丢包的现象。在进行压力测试后测出最高负载为126.06Kb/s。
结合测试结果及MPLS网络的设计,由于PE2连接到C1和C2的链路为串口,该接口所在的接口卡所能支持的最高速率为128Kb/s。而在骨干网中的其他链路的速率都为100Mb/s,因此出现瓶颈。并且通过Cacti记录到的数据,在路径PE2-C1-PE1出现繁忙时,另一条路径PE2-C2-PE1并没有过多流量经过,也就是说链路没有被充分利用。
在此基础上提出两点优化建议:
(1)通过配置TE优化网络。通过MPLS的TE工程可以解决链路利用率低的问题,如在本测试平台中配置TE,当路径PE2-C1-PE1出现繁忙时,另一条路径PE2-C2-PE1可以把一部分的带宽用于转发路径PE2-C1-PE1正在转发的数据,降低链路路径PE2-C1-PE1的流量。而当链路出现故障时也可以把流量切换到路径PE2-C1-PE1上。
(2)通过提升链路带宽消除网络瓶颈。在测试平台上的骨干网上有三条链路是128 Kb/s的,也有两条链路是100 Mb/s的;因此,应把128 Kb/s更换为100 Mb/s的链路,以免导致两条100 Mb/s链路的浪费。
4 结束语
本文论述了网络性能分析方法、分析模型建立以及网络测试的基本原理,模拟了一个电信的骨干网络,并使用Cacti对该网络进行了测试。通过测试,得到了该网络的基本性能数据,模拟了对该网络的故障排除,并查找到该网络的瓶颈。
[1]唐海娜,李俊.网络性能监测技术综述[J].计算机应用研究,2004(8):10-13.
[2]张亚明.基于NS2的无线网络仿真研究[J].信息安全与通信保密,2007,3(3):58-60.
[3]陈月云,丁青子,邓晓辉.一种基于IEEE 802.11a的PHYMAC跨层设计[J].通信技术,2009,42(8):230-232.
[4]金纯,柳兴,万宝红,等.IEEE802.11P:车载环境下的无线局域网[J].通信技术,2009,42(1):323-325.
[5]李蓬.基于NS2的局域网性能仿真[J].电脑与信息技术,2008,16(1):16-18.
[6]徐雷鸣,庞博,赵耀.NS与网络模拟[M].北京:人民邮电出版社,2003.
[7]况晓辉,赵刚,郭勇.网络模拟器NS2中仿真功能的问题分析及改进[J].系统仿真学报,2009,21(2):427-431.
[8]包斌,詹自熬.NS2深度探索及在网络传输性能分析中的应用[J].通信技术,2009,42(5):155-157.
[9]彭飞.网络安全初探 [J].信息安全与通信保密,2008(6):94-96.