徐 方,邓 敏
(1.湖北工程学院 现代教育技术中心,湖北 孝感 432000;2.湖北工程学院 科学技术处,湖北 孝感 432000)
随着网络规模的扩大和复杂性的增加,使用人工方式对计算机网络进行管理和维护已经不能满足目前网络发展的要求。网络管理系统是实现计算机网络管理的软件系统,它能够保证网络系统可控可管、安全高效的运行[1]。网络流量监测系统的主要功能是监测各种网络设备的运行状态,收集网络中的重要链路的流量数据等信息。系统对收集到的数据进行存储和分析,对网络中出现的异常情况进行预警,以便网络管理员及时发现网络中存在的问题,使网络故障能得到迅速解决。网络流量监测系统使用图形化用户界面表现网络的运行状态和网络流量信息,同时根据监测结果对网络的部分性能进行控制,保证网络设备按照网络管理系统的要求工作[2]。
网络流量数据在网络的运行维护中发挥着重要作用,它不仅为诊断网络故障提供了重要的信息,而且是反映网络性能优劣的重要参数之一。网络流量检测系统周期性的采集网络流量数据,对获取的数据进行统计分析,找出反映网络性能指标的数据,形成网络性能分析报告。网络流量检测系统将历史网络流量数量和设备状态信息存储在数据库中,网络管理员则可以根据历史流量数据和当前流量数据分析网络流量的变化趋势,了解网络中数据传输的规律,发现影响网络性能的瓶颈,对现有网络进行优化,提高网络的整体性能。在网络流量管理系统中还可以设计流量或故障预警功能。当网络出现问题时,系统自动给管理员发出告警消息,使用网络故障能够得到及时处理。网络流量检测技术也能为网络安全管理提供大量的信息,是网络安全研究的一项重要技术手段。
网络流量的监测能够为网络系统的优化提供依据。网络流量可以按照不同的网络应用进行分类,如视频流量、音频流量、HTTP(网页浏览)流量和FTP(文件传输)流量等等。按照数据传输的机制不同又可以划分为常规网络流量和P2P(Peer to Peer)网络流量。值得注意的是,P2P是一种对等计算模型,如果网络中采这种计算模型的节点越多,那么对网络带宽资源的占用率就越大。如果不对P2P应用加以控制,可能导致网络中产生大量的数据流量,从而引起网络拥塞,影响其他业务的正常进行。对网络性进行建模时,一般会把网络流量分为背景流量和前景流量[3]。
下面主要介绍常用的几种网络流量监测技术,分别是基于流量像的协议分析技术、基于SNMP(Simple Network Management Protocol,简单网络管理协议)的管理技术、基于探针的分布式分析技术和基于NetFlow监测技术[4]。
(1)基于流量镜像协议分析。流量镜像协议分析技术的核心思想是把网络中设备的某条链路(端口)上的流量数据镜像到另外一个空闲设备端口上,然后对空闲端口上的流量数据进行分析或解码,以得到所要检测链路的流量数据信息。这种镜像分析方法相比其他方法非常适合网络故障的分析,能及时查找网络中存在的问题,是网络测试中常用的方法。缺点是不太适合对整个网络进行流量监控。
(2)基于硬件探针的监测技术。硬件探针是一种检测网络流量的硬件设备,通过接入网络中获得网络的流量信息。它可以串接在要检测的网络链路中,捕获网络中的流量数据。一个硬件探针可以检测一条链路或者说是一个子网的网络流量数据。通过使用一系列硬件探针可实现对全网的流量检测。将所有数据信息存入设定的数据库中,可以实现对全网的流量信息进行长时间的检测与分析[5]。
(3)基于SNMP的流量监测技术。基于SNMP协议的流量监测技术是通过软件远程获取网络设备中的流量数据。目前大多数网络设备产商都支持SNMP协议。在支持SNMP协议的网络设备中会存在一个MIB(管理对象信息库)用来存储设备各端口的实时流量数据。流量管理系统通过调用SNMP协议就可以获得相关的流量信息。因此,使用SNMP协议对全网进行监测非常方便,不过要想对全网流量数据进行长期的分析,还需要数据库的支持,以便能存储大量的历史数据信息。
(4)基于Netflow的流量监测技术。思科网络公司开发了Netflow协议用于网络流量信息的管理。在思科的网络设备上都安装了Netflow协议,它是思科设备的专属协议,目前已经标准化,也得到了众多网络设备产商的支持。思科公司也开发了相应的网络流量管理系统,该系统可以对支持Netflow协议的网络进行流量监测、统计和分析[6]。
综合考虑以上各种网络流量监测技术,本文认为基于SNMP协议的流量监测技术更适合于目前高校校园网络的流量监测。本节详细分析了基于SNMP网络管理协议,采用基于Web网络管理模式设计网络流量管理系统。该系统能够在统一的平台上通过浏览器方式集中管理校园网络上所有运行SNMP协议的被管设备,及时掌握整个校园网络的网络流量状况,得到有效的统计数据和方便直观的信息,并对网络流量数据进行深层次分析,以便网络管理者更好地进行网络的维护和管理。
在开发平台和开发工具的选择中,笔者尽量选择开源软件。由于开源软件公开了程序的源码,不仅降低了开发的成本,而且有利于对系统和程序的理解。本系统的开发过程中使用了如下工具:
(1)系统运行的操作系统:操作系统选用Red Hat Linux 2.6.18。
(2)Web服务器和数据库系统:Web服务器选用Apache 2.2.3,数据库系统选用Mysql 5.0.45。
(3)PHP程序编辑软件:PHP程序编辑软件选用Macromedia公司专为开发Web程序Dreamweaver软件。
(4)绘图工具:绘图工具选用RRDTool,RRD(Round Robin Database)是环状据库。
(5)抓包工具:Snifer Pratable抓包工具 。
系统总体架构如图1所示。本系统采用分层方法进行构架,从整体上将系统的结构分为三个层次,分别是用户界面模块、功能模块和通信模块。根据系统的不同功能及其面向对象的不同,三个层次内又划分成9个模块。
该系统的设计遵循软件工程方法,运用了模块化的设计思想。因此软件系统修改和维护就非常方便。本节主要描述用户管理与认证模块、接口管理模块、流量管理模块和流量异常处理模块。
(1)用户管理与认证模块。本系统设计了强大的用户管理功能,允许多个用户同时使用系统,系统对用户权限划分了十六个种类,分别是用户管理、数据输入、更新数据源、更新图形树、更新图形、查看图形、控制台访问、更新循环归档、更新图形模版、数据查询、查看设备信息、全局设置、输出数据和输出数据。在新建用户时,可以为新用户任意分配这些权限,便于对用户的管理,以提高系统的安全性。
图1 系统的总体架构
进入本系统前首先要进行用户认证,用户的相关信息存储在数据库中,其中用户密码经过加密进行存储。
(2)接口管理模块。接口管理模块对被管理设备的接口进行管理,列出被管理设备的所有接口、CPU和内存使用信息,以便用户选择需要监控的接口。
接口管理模块主要使用相应的函数来获取被管理设备的所有接口信息,然后将用户选择好的接口存入到数据库,以便流量管理模块对选中的接口进行处理。
(3)流量管理模块。本系统的核心模块是流量管理模块,它随着WEB服务器的启动而启动,在服务器后台运行。流量管理模块的主要功能是对已监控的设备接口进行定期的轮询,将接口的流量或设备的CPU、内存的负载等数据传送到图形处理模块。所以,流量管理模块主要实现流量检测、更新配置和存储流量数据等功能。流量管理模块由PHP程序与RRD数据库共同完成,它包括网络流量的检测、存储和流量数据分析图表的生成,极大地提高了本系统的性能和可扩展性。
(4)流量异常处理模块。网络流量检测的目的是为了及时掌握网络中的流量和设备运行状态,发现网络中的异常情况。通过给网络性能参数设定阈值的方式来实现即时告警的功能。当某些网络性能参数超过了设定的阈值时,系统会发出语音告警,并以邮件的方式发送给管理员。而且,重要的系统日志和主机宕机消息,也会发出语音告警,并以邮件的方式发送给管理员。
本系统前台还提供了丰富的历史查询功能及权限管理功能。RRD能够管理大量周期性的数据,网络管理员可以对数据库中的历史数据进行分析,找出网络流量的规律。此外本系统可以长期存储收集到的网络流量数据,可以根据用户的要求,以图表的形式显示出一年、一个月、一个星期以及任意时段的网络流量状况。
以某校园网电信出口的流量为例,如图2可以看到一小时的流量分析图。流入的当前值是59.91 Mb/s,平均值是106.39 Mb/s,最大值是144.05 Mb/s。流出的当前值是95.98 Mb/s,平均值是156.34 Mb/s,最大值是174.17 Mb/s。
图2直观准确的反映了校园网核心设备到外网的流量状况,直接点击流量图,还可以看到更细时间粒度的网络流量状况。图中蓝色的线表示从互联网流入校园网的流量数据,绿色区域则表示从校园网到互联网的流量数据。因为此时采集的是校园网核心交换机的监控端口上的流量数据,所以图形中所看到的流入和流出相对于被监控区域来说是相反的。
图2 每小时流量分析图
以某校园网中文学院和学校西区网络一天的网络流量分析图3和图4作对比,这两个区域的网络流量有明显差别。文学院在上班时间的流量最大值超过了1Mb/s,在下班时间以后,大部分办公室计算机已关闭,所以流量非常小。然后在西区教工宿舍的情况却相反,流入流出的平均值都快接近10 Mb/s,因为监测时段处于周末期间,西区教工宿舍上网的人比较多,这种现象符合实际的情况。
通过对校园网络中各个区域的流量数据进行统计分析,可以找出校园网络流量的一些统计规律。这些规律可以为管理员制定网络管理策略提供依据。比如,可以在白天的工作时段给教学区和行政办公区域分配较多的流量,降低教工家属区的网络流量分配,这样可以保证教学和行政办公网络的服务质量。
图3文学院网络下午4时到8时流量分析图
图4成教楼至西区教工宿舍网络下午4时到8时流量分析图
在计算机网络中,经常会有异常流量的出现,异常流量会占用很大的网络带宽,影响正常业务的开展,对网络的稳定运行有很大的影响。
在分析某个区域的网络带宽需求时,通常以一个月的时间跨度内的数流量情况进行分析。在网络中没有新的用户接入或没有增加新的应用时,该区域内一个月的流量变化具有一定的规律性。如果被监测区域内出现了流量异常情况,则网络管理员必须加以重视,对网络中的异常流量进行分析,找出产生异常流量的原因,这些原因有可能是网络攻击或者计算机病毒引起的。如图5所示,在1:00和7:20分间出现了一个突发流量,网络流量值一下上升到了56.87 Mb/s。而在以往同一时段的流量数据中并没有发现这种突发流量。由此可以断定此时校园网西区成教楼的网络流量出现异常,需要及时处理。
图5 成教楼汇聚点异常流量分析图
在确定流量异常发生在某校区之后,对该区内部各楼栋交换机进行调查,最后发现异常网络流量发源来某学院教学用学生机房。学生在该时段可以自由上机,大量学生使用了P2P类网络软件,导致网络异常流量发生。为了解决此类异常流量对网络造成的影响,网络管理人员对该机房的网络出口带宽进行限制,以保证校园网正常业务的顺利进行。
通过对网络流量数据的检测与分析,设计了一个校园网网络流量监测系统。该系统通过网络流量数据的长效分析和网络流理异常处理与分析,全面掌握整个网络的性能状况,以合理分配网络带宽,实现校园网的高效管理。本系统可以实现网络性能分析、历史流量数据统计、网络利用率分析和网络异常预警等功能。当然,本系统仍存在两个方面的问题尚待解决,主要有网络流量负载均衡的问题和系统中设备扫描的准确性问题。该问题的有效解决能使系统朝着更实用、更高效、更安全的方向优化和完善。
[参 考 文 献]
[1] 李志芳.基于WEB的网络管理系统的设计与实现[D].武汉:华中科技大学,2007.
[2] 徐方,邓敏.基于SNMP 的网络流量管理系统设计与分析[J].孝感学院学报,2009,29(6):66-69.
[3] 陈俊.基于SNMP和JAVA的网络流量检测系统[D].武汉:武汉理工大学,2005.
[4] 网络流量监测的常用方法及原理介绍[EB/OL].(2007-12-27).[2014-03-02]. http://www.searchsecurity.com.cn/showcontent_1780.htm.
[5] 王风宇,云晓春,王晓峰,等.高速网络监控中大流量对象的提取[J].软件学报,2007(12):65-71.
[6] 李玉林.网络流量监测技术及方法的探讨[J].科技信息,2010(18):213-214.