王能辉
(宝鸡文理学院陕西宝鸡721013)
网络管理是保障网络可靠运行的最重要手段,随着学校信息化建设的不断深入,网络管理系统在日常运维中发挥着越来越重要的作用。国外,网络设备管理系统应用较早且发展较快,在诸多领域中具有广泛的发展空间。目前主流的通用型网络管理解决方案有四种,AT-SNMPc7.0解决方案、惠普公司的HP OpenView方案、CA公司的CA Unicenter方案、IBM Tivoli NetView方案。AT-SNMPcD的特色在于提供两个SNMP服务器,两个服务器之间可以相互备份,提高网络管理系统的安全性[1]。HP OpenView是一套功能非常完善的网络设备管理系统,集成了网络管理和系统管理的优点,能够及时告知网络管理人员故障发生及故障发生的原因,从而轻松而顺利地实现网络运作从被动无序到主动控制的过渡,帮助网络运行部及时了解整个网络当前的真实状况,掌握主动控制[2]。Unicenter是CA的旗舰产品,其支持所有主流平台,功能完整。IBM Tivoli NetView独有的的新的位置敏感性拓扑(Location Sensitive Topology)特性可让网管人员通过简单的配置自动生成一些与管理人员对网络的直观认识更加贴近的拓扑视图[3]。国内,也有学者就网管系统展开研究,并取得了一定的成效。唐学文等设计并实现了可用于IPv6网络的网络管理系统[4];肖雁鹏根据Visibroker的C++开发方法实现了SDH网管系统北向接口[5];步园明设计并实现了一个基于Web技术且支持SNMP协议的网络管理系统[6];孟起胜等介绍了一种以基于已经部署的DOCSIS网络管理系统管理EPON网络的一种网络架构方案[7];崔雯雯提出基于嵌入式代理、采用集中管理与分层管理两种模式结合的HiNoC网络管理方案,基于此方案,实现了HiNoC网管系统[8];孔祥云等提出了一种基于主成分分析的网络数据挖掘方法,并通过对实际网络数据的分析、比较,验证了该方法的有效性[9];陈家雄等给出了MSTP网管系统北向接口的设计与实现方案,阐明了北向接口的总体架构、交互机制和功能规划等方面的设计思路[10];马青青提出一种基于Ext JS 4.2.1的嵌入式网络管理系统设计方案,并完成系统的设计[11]。我校现有网络管理系统是2006年开发的,只支持有线设备的管理,不支持无线AP的管理,而且现有网络管理系统功能过于简单,只能判断网络设备通断,无法直接查看网络设备运行的信息。对服务器或主机进行管理的系统是另外一套管理系统,这套管理系统不能同时监控所有的服务器设备,只能监控同厂家的服务器。针对现有网络管理系统存在的不足,本研究设计并实现了一套多节点网络设备管理系统,此系统可实现对所有网络设备实时监控和异常告警,网络管理人员可以实时查看网络设备运行信息和告警信息,及时发现并解决网络问题。
从系统架构上,分多节点网络设备管理系统可分为5层,包括基础实施层,指的是网络设备资源;感知层,用于网络设备运行信息的获取;传输层,采集节点将采集数据发送到总控节点所采用的传输协议;服务层,总控节点启用WebService服务将获取的信息发布出去,应用层,用户获取信息的处理和应用。本研究采用分层的思想设计分多节点网络设备管理系统,具体架构如图1所示。
图1 系统架构图
为了帮助网络管理人员简单、直观、有效的掌握网络设备的运行状态和健康水平,了解网络设备动态变化趋势,及时发现可能对业务及用户造成的威胁,快速查明导致业务中断和网络设备异常的问题源,协助网络维护人员及时对网络故障响应处理,降低学校运营风险,文章设计了多节点网络设备管理系统。此系统主要包括网络拓扑管理、网络设备管理、网络设备告警管理、统计报表等4大模块,其具体功能框架如图2所示。
图2 系统功能框架图
网络拓扑管理:此功能可快速、有效的的实现二、三层网络拓扑的自动发现,并通过拓扑图和网络设备的运行状态、设备信息、流量信息数据相关联,帮助网络管理人员快速发现网络运维中的各种问题,轻松实现网管。网络拓扑管理包含功能有网络拓扑的发现和网络拓扑的维护。
网络设备管理:主要对网络设备各种参数的实时监控,包括网络设备的指标管理、网络设备的性能管理和网络设备的流量管理。
网络设备告警管理:网络设备运行异常时,会通过此功能将网络管理人员定制的告警信息发送给网络管理人员。此功能包括:告警信息定制、告警信息查看、告警信息处理。
统计报表功能:统计网络设备运行时产生的各项信息,方便用户查看。此功能包括:报表定制和报表查看。
开发多节点网络设备管理系统,需要搭建两个服务器:Web服务器和数据库服务器[12]。Web服务器提供网页供网络管理人员登录和浏览;数据库服务器则存储和管理网络管理系统中拓扑、网络设备参数、告警等信息。可以选择的Web服务器软件有很多,如 BEA WebLogic 、IBM WebSphere Server、Apache Tomcat等[13],本研究选用 Apache Tomcat服务器作为Web服务器,数据库服务器选择微软公司的SQL Server 2008。
文章中的网络设备管理系统系统采用JDK(Java Developer Kit,Java开发工具包)和 JSP代码编辑工具开发。目前功能强大的JSP编辑开发工具,如 Jbuilder、Eclipse、IBM Rational等,鉴于 Eclipse是一个基于Java的、开源的可扩展平台且有丰富的插件集,文章选用Eclipse开发平台[14]。
考虑到实现大规模网络设备的监控,基于分布式架构的思想,搭建若干个采集节点采集网络设备运行数据,然后通过TCP协议上传至主控节点。用户不需要与采集节点直接交互,不需要关心具体由哪个采集节点来完成数据采集的工作,就可以实现具体业务数据的采集。采集节点上安装采集SNMP工具来获取网络设备运行信息,具体流程图如图3所示。
图3 分布式采集流程图
在网络拓扑结构的自动发现的实现过程中,先使用SNMP协议搜索路由表信息构造网络主拓扑,然后使用ARP协议或者ICMP协议发现子网中的终端设备,以实现子拓扑的构建[15],最终可实现网络拓扑的发现。
用户发起SNMP请求后,主控节点通过Web服务接收到该请求,然后下发该请求给采集节点,采集节点通过SNMP协议可获取网络设备指标信息。用户可以通过Web的方式查看监控的网络设备具体信息,可查看的信息一般有设备信息指标和设备性能指标[16]。设备信息指标包括:型号、MAC地址、电源类型、连续运行时间。设备性能指标有总流量、所有接口发送丢包数、CPU利用率、总接收吞吐量、广播包速率、内存利用率、Ping时延、总发送吞吐量、所有接口接收丢包数、发送广播包数、丢包速率、ICMP包速率[17]。以我校科技楼二层1设备为例,该设备信息指标如图4所示。
图4 网络设备信息指标图
本系统可通过TELNET(或者SSH)到网络管理人员想要管理的网络设备,然后通过FTP协议或SNMP协议下载该网络设备的配置。变更后根据需要可保存到网络设备管理系统或将变更后的配置上传至原来的网络设备。
设置SNMP轮巡时间,通过SNMP轮巡,一旦发现某接口故障,可产生告警信息。网络管理人员可利用设备告警功能,及时发现设备故障,快速响应,以缩短故障处理时间。
通过查询数据库可统计一定时间内设备指标报表、告警统计报表、告警授理报表、端口流量报表、流量统计报表[18]。
利用上述多节点网络设备管理系统在宝鸡文理学院网络管理中心进行试验,对学生公寓汇聚交换机RG-S5750(IP地址:10.100.32.1)进行 24 小时监控(2017年04月20日),实时CPU利用率、内存利用率、Ping时延、丢包速率、总流量等网络设备指标信息,利用网络管理系统统计报表功能导出测试数据如表1所示。从表1可以看出,在24小时内,通过多节点网络设备管理系统可以实时获取实时CPU利用率、内存利用率、ICMP包速率、Ping时延、丢包速率、总发送吞吐量、总接收吞吐量、总流量等网络设备指标信息。24小时均能采集到设备运行信息,体现了该网络设备管理系统的稳定性。通过浏览器访问主控服务器查看网络拓扑的平均时间在2 s以内,完全达到了实际使用的要求。
表1 网络设备指标测试数据
网络设备管理系统作为网络运维支撑的重要手段,在日常网络维护中发挥着重要作用。针对现有的基于单点采集的网络设备管理系统的不足,文章设计并实现了一种多节点网络设备管理系统。该系统已经在项目中得到具体应用,对大规模网络设备的管理提供了一种新的思路,对现有的基于SNMP协议的网络设备管理系统改造有一定的参考意义。通过实际部署发现,该系统运行稳定,能实现大规模网络设备的管理,能实现网络管理软件应有的功能,能满足网络管理人员的需求。