APP下载

华中科技大学:分布式网速测试系统优化网络质量

2015-08-21章勇张洁卉

中国教育网络 2015年1期
关键词:测试点网管网速

文/章勇 张洁卉

现阶段大部分学校的校园网还是采用的分层次管理的局域网架构,以华中科技大学校园网为例,网络分为核心层、二级节点、接入层3个层次。核心层是校园网核心区域,由部署在网络中心机房的几台核心交换机组成;二级节点一般是各大区域的3层汇聚节点,由若干台3层交换机构成,设备分布在校园内各大区域的汇聚机房;接入层由2层交换机构成,分布在各个楼栋内,直接接入用户。校园网出口分别接入了CERNET、电信、联通3条链路。这样的网络结构特点有其显著的优点,各层次内部交换的数据可以横向转发,不会占用上联带宽,减少上联带宽压力。在早期园区网条件下,由于缺少能力强大的核心网设备和高带宽接口,这种架构在减少核心层设备压力方面具备很重要的作用,由于校园网主要用户是学生,网络用户对于网络的使用率很高,特别是P2P软件的流行,区域内各用户之间横向数据流量很大,分层次的交换网络结构对于减少网络主干压力做出了不可或缺的贡献。

随着网络设备的不断发展,高性能的集中式主干用户接入设备性能越来越高,而价格越来越低,为网络扁平化提供了支持,可以同时接入几万用户的高性能设备不断降价为校园网实行扁平化改造提供了有利条件。

在目前这种网络架构条件下,我们面临的问题有如下两点:

1.现有校园网用户还是采用分层次结构接入,一般以楼栋为单位,造成了不同地区接入用户环境差异性较大,上网体验受局域网本地环境影响较大,不同地区的用户上网有可能差距较大,甚至同一楼栋不同交换机接入的用户体验也不一样。在这种网络架构下,一些局部问题,如Arp病毒、单个交换机故障、网络接口拥塞等问题是无法被网络管理员感知的,很难做到出现问题“第一时间”发现。因此需要一些手段从局部网络开始进行测试,监测网络质量,并将结果展示给网络管理员查看,使管理员能全面了解网络的健康状态。

2.在网络出口方面,很多学校都是采用多个ISP出口的方式进行接入,但对各网络出口链路质量往往没有精确的、可靠的数据作为评价的依据。也需要有一些手段对各个链路出口的质量进行测试。

为了解决以上问题,我们尝试建立了一套分布式网速测试系统部署在校园网中。该系统的主要作用是为网络管理员提供真实可靠的网络质量数据,用于网络故障检查、网络质量检测。

设计思路

该系统的设计思路是模拟终端用户上网的速度来反映网络质量,通过分布式部署,将网速测试机部署在网络的各个层次,尽量接近用户层,以便真实的反映该网络区域的用户上网体验。各个测试机将测试结果定期发送到一台网管服务器中,网管服务器对数据进行存储、分析和挖掘,通过图形界面展示给网络管理员,使网络管理员随时掌握各测试点的情况。

对于测试方法,我们不需要采用专业的网络质量测试软件,因为一些专业的测试软件(如IxChariot等)都需要在测试点和被测试点之间安装专用客户端,我们测试网速的目的是为了反映用户真实的上网速度,被测试点往往都在互联网中,没有条件安装相应的客户端。对此,我们采用模拟用户访问一些著名网站的速度来进行网速测试,其优点是被测试的对象是长期在线的,测试方式实现起来比较简易且能真实反映用户浏览网页的网速情况。

图1 网络测试系统的结构

系统架构

采用分布式系统架构:系统分为网管服务器和网络测试点两个部分:网管服务器是整个系统的核心,用于存储数据,控制各测试点,并向管理员提供管理界面并展示结果;网络测试点分布在各个需要测试的地方,用于监测网络质量,并将检测结果发往网管服务器进行处理。在具体实施过程中,本系统可以采用虚拟机实现,使用一台物理机虚拟出网管服务器和多台网络测试点设备,利用物理机的多个网卡接口接入不同的网段进行检测,该结构的优点一是成本低,部署方便,只用一台物理机;二是内部传输可靠:网管服务器和各测试点间的数据均可采用虚拟机内部网络进行交换,独立成网,不依赖于被检测的网络。其缺点是是单台设备存在单点故障问题,物理机硬件损坏可能会导致整个系统失效。因为该系统失效后不会影响网络运行,且单台设备使用冗余电源双路供电,硬盘采用RAID5等配置本身可以达到比较高的可靠性,应此采用单台物理设备装虚拟机的方式是比较合适的。如果需要对各楼栋的网络进行测试,还可以使用PC甚至ARM等嵌入式系统作为网络测试点直接安装在各个楼栋的接入交换机上,对本地局域网的网络质量进行测试,并定时将测试数据传送回网管服务器中。网络测试系统的结构如图1所示。

系统实现

服务器硬件部署在网络中心机房,安装VMwareESXi虚拟机软件,虚拟出4台主机,其中1台作为网关服务器,采用Linux + MySQL + PHP平台并结合Cacti开源网管系统进行二次开发,用于存储、搜集、分析由其他测试机发送过来的数据,并根据数据绘制图形,便于网络管理员观察。

另外3台虚拟机作为测试机,安装Windows、Linux操作系统均可,并配合Perl脚本定时执行来完成对测试目标的下载速度测试,测试目标为30个国内外知名网站,利用Perl的LWP组件进行Http用户下载模拟,记录单个网站源代码的长度和下载时间,并计算出下载速度,将其传回网关服务器中进行保存。采用Perl语言的原因是:Perl语言具备跨平台,轻量级,适合快速开发的特点,利用Perl的LWP模块可以很方便的模拟Web浏览,实现需要的功能,主要代码片段如下:

通过该程序片段可以看出使用Perl语言可以很简洁地完成抓取网站代码并计算出下载速度的功能。另外Perl语言还可以很方便地使用ODBC对数据进行操作,对于不同的操作系统几乎不用修改源代码即可直接移植。

对于测试点的选择,除了和网管服务器整合在同一个虚拟机平台中,形成物理上统一管理,逻辑上分布式部署之外,我们还可以在独立的测试点进行完全的分布式部署:使用Linux操作系统,即使在一台较低配置的PC主机也可以完成测试点的安装。同时,还可以采用ARM或MIPS架构的嵌入式系统进行开发,使其完成测试点的工作,其优点是功耗小且运行稳定,可扩展性高,适合于部署在无人值守的楼栋机房中。

图2 各测试点国内网站下载速度

图3 各测试点国外网站网速

系统功能

网管服务器存储了各个测试点传输过来的测试结果以及测试点的位置等信息,对这些信息进行整理和挖掘可以得到管理员需要的测试结果,有利于管理员根据测试结果采取相应措施。该系统可实现的功能有:1.单个测试点的上网速度监控;2.各测试点上网速度的综合比较;3.国内网站/国外网站网速比较;4.不同ISP接入链路的上网速度比较;5.各测试点网速随时间的变化规律;6.上网网速和出口带宽拥堵情况之间的相互关系等等。网络管理员可以根据搜集上来的数据按自己的需求形成各种图表以满足对整个网络运行情况全面了解的要求。

图4 测试点“office”和“serverhost”网速对比

图5 各网络出口链路网速综合对比

系统应用实例

1.访问特定网站的网速

如图2所示,展示的是所有测试点访问10个国内网站的网速,从图中可以看出访问国内网站的速度是比较快的,平均下载速度在1MB/s以上,相当于10Mbps的带宽。

如图3所示,各测试点访问国外网站的速度是较低的,特别是一些国外数据库网站,还有待加强。

综合图2、图3,网络管理员可以很清楚地了解目前网络出口当前的基本状况以及历史平均数据,根据数据变化情况快速掌握网络出口的状态。

2.各测试点网速测试结果展示

通过图4可以看出测试点“office”和测试点“serverhost”上网网速基本相当,都是访问国内网站较快,访问国外网站较慢。当我们在网络中部署了很多个测试点之后,我们可以对所有测试点的网速进行平均,得出一个综合水平值,当某个测试点的网速明显低于这个综合水平值时,网络管理员就应该注意了,需要检查该测试点所在网络是否存在故障。

3.各接入ISP网速测试结果

图5显示了网络出口链路综合对比,学校目前共有3条出口链路:CERNET,电信(CTC),联通(CNC)。为了检测各条链路的网速,我们特意在同一局域网中安装了3台测试机,分别通过这3条链路对30个网站进行下载测试,所使用的DNS也分别使用各链路ISP自己的DNS地址,并通过调整流控设备对这3个测试点的带宽做了足够保障,以获得最真实的测试结果。通过对比显示CERNET和电信平均网速均有较好表现,其中电信平均网速最高,联通网速相比较而言是较低的。影响网速有很多因素,如链路带宽大小、链路质量、ISP网内资源等等,通过该测试系统我们有了一个直观的数据,可以为我们以后进行网络出口链路调整提供有力的依据。

通过对该分布式网速测试系统的应用,可以为网络管理员提供大量的、丰富的、真实可信的用户网络下载速度测试数据。对这些数据进行整理和挖掘可以为网络管理员深入了解网络各节点状态以及网络出口状态提供了可靠的依据。同时,该系统还能够和监控告警系统进行结合,当某测试点测试结果或网络总出口测试结果出现异常时通过邮件、短信的方式发送给相关网络管理员,做到出现问题第一时间发现,提高校园网管理效率和服务质量。

系统应用扩展

本系统主要用于对Web网络访问质量进行评估,为网络管理员提供了真实可靠的用户网络体验质量的评估数据,但仅仅对Web网页下载速度进行评估的方式略显单一,因此在实践中还可以在本系统架构的基础上添加其他的测试方式,包括:1.Web页面反应速度。通过记录对一个网站发出Http请求到接收到Http回应的时间来判断页面访问速度,该测试方式同Web页面下载速度测试一样具有较好的可实施性,只需要在系统原有的测试点中添加一个测试网站反应时间的检测程序即可,同时具备较好的测试结果一致性,因为仅测试网站的回应时间,对具体网站的内容大小没有要求,避免了内容大小不同的网站在下载过程中出现较大偏差的现象,最后绘制的性能曲线往往会比Web下载网速曲线更平滑,更具可比性。2.多线程文件下载速度。主要方法是建立一系列被动式测试点,由系统测试点主动从这些被动测试点上通过Http或Ftp等协议多线程下载文件(通常可以设定1M~10M大小的文件),这种方式可以很好地反映两点之间网络带宽的利用率,反映出用户网络实际带宽占用率。但需要额外建立若干被测试点,通常在校园网内部比较容易实现,在校园网外部建立被测试点往往会受到诸多限制,如相关ISP接入或托管费用等问题。3.点到点之间链路质量测试。该方式同样需要建立被测试点,通过点到点之间进行各种协议的丢包率、时延、平均速率、突发速率等网络质量参数,可以比较全面地反映两点之间的网络链路质量,但同样存在被监测点的建设问题,在校园网内部比较容易部署,在校园网外部由于接入问题,比较难以部署在校园网外部。

猜你喜欢

测试点网管网速
矿山长距离胶带机动力特性测试及运行分析
基于信息熵可信度的测试点选择方法研究
逻辑内建自测试双重过滤测试点选取策略
英国网速快慢相差800倍
给水网管的优化布置研究
北京市中小学网管教师培训需求研究
网速太慢
“五制配套”加强网管
空空导弹测试点优化问题研究*
计算机网络管理维护探析