摘 要:随着网络应用的逐步普及和深入,网络管理工作也变得越来越复杂。基于SNMP协议的计算机网络监控管理系统可以使网络可靠、高效地运行。本文阐述了SNMP协议下的网络监控管理系统开发过程,包括系统硬件结构设计、系统软件结构设计以及系统功能模块的实现。
关键词:网络监控;SNMP;设计与实现
1 引言
随着信息技术的发展,网络管理领域已经在大规模应用SNMP,但是很多基于SNMP的网络管理系统所采集的数据只能针对某些特定的网络,无法实现网络管理中的实际需要。随着网络范围的扩大,网络管理也随之变得复杂,为使网络管理工作降低难度与成本,就需要开发出针对当前网络特点与用户实际需求的网络管理系统。网管的基础是网络监控,SNMP具有可扩展性强、简单灵活的优势,因此本文拟设计并实现一个SNMP协议下的计算机网络监控管理系统。
2 计算机网络监控管理系统功能简介
计算机网络监控系统主要实现以下的功能:对网络中运行的各类系统与设备的运行状态信息与工作参数进行收集,对收集到的信息进行处理,并将信息数据与处理结果用可视化模式提交给网络管理者;根据对上述信息的处理结构,在网管的指令控制下,将控制指令发送给网络中的系统与设备,以实现对网络的控制,并对指令执行的结果进行实时监视,使网络设备正常工作、运行。
3 计算机网络监控管理系统的实现
3.1 系统整体结构的设计与实现
(1)系统硬件结构
根据网络监控管理系统的硬件地理位置和逻辑功能,可以把系统细分为三个层次,依次是:采集代理服务器层、服务器管理层与应用客户端层。其中,采集代理服务器层对网络设备的各种信息进行收集,并存入对应的MIB里;整个系统的核心部分是服务器管理层,分析和汇总整个网络的状态信息,并把重要的数据存入数据库中,同时针对网络中的异常产生告警信息;应用客户端为网络管理人员提供直观界面,便于其对整个网络进行管理。整体结构如下图所示:
(2)系统软件结构
网络监控管理系统应该具备一个友好的网管客户端界面,同时需要实现对网络系统与网络设备的实时信息进行采集,这个功能通过数据采集程序完成。根据以上的需求,将监控管理系统的体系构建成客户端/服务器模式。在此基础上,构建一个数据监控模块作为居于客户端和数据采集程序之间的中间件,对所采集的数据信息进行过滤和分析之后,将其中重要的部分输出到客户端。此外,系统应配置数据存储模块来方便管理者对数据的查询和分析。综合以上的分析,将网络监控系统的软件结构定义为四大功能模块,分别是数据监控模块、网络监控客户端、及数据库模块和数据采集模块,如图所示:
图2:系统软件结构
3.2系统功能模块的设计与实现
(1).客户端界面模块
客户端界面模块的功能是接收来自网络监控服务器的数据信息,并将信息向网管工作人员以友好的界面呈现出来。这一过程细分为以下三个层次来实现。
第一层:信息通讯层:对底层的消息平台API进行封装操作,分离数据处理过程与数据通讯操作,从信息总线上将网管关注的信息接收下来,并发送给客户端。
第二层:逻辑处理层:对接收到的消息进行转换,使之便于进行内部处理,对相关业务逻辑进行操作,并对用户的界面数据进行发送、接收。
第三层:用户界面层:对用户的交互信息进行处理,同时接收数据构造界面。这一层涉及到许多组件的应用,诸如网络拓扑图、网元树图、告警、网元信息列表等。
网络监控系统客户端架构如图所示:
图3:系统客户端架构
(2).网络监控管理模块
结合用户需求与本系统的具体功能实现,选取IBM产品中的Tivoli来实现网络数据处理过程。和其他软件相比,Tivoli的优点是在部署解决方案上以及诊断问题上更加高效,从而将更多的系统资源用于对网路业务的管理,并具备一定的升级潜力。
(3).网络数据采集模块
网络数据采集模块有两部分组成,分别是1.SNMPDAU-SNMP采集程序(安装在服务器端);2.SNMPagent-SNMP代理程序(安装在被监控的系统或设备上)。如图所示:
图4:网络数据采集模块
对图中的接口设计说明如下:
dl:访问数据库接口。单向、只读接口,无法修改数据库内容。通过此接口对SnmpDau的工作任务列表数据进行获取。
i1:采集入库接口,属于控制类接口。此接口的实现方式是可配置名称的消息队列。通过该接口把准备好的数据文件发送消息给服务调用模块,消息中含有入库的文件任务。
Sn:n的取值范围是1、2、3…n。属于Snmp接口,兼任数据通道与控制通道功能。实现对代理端的管理配置以及基于Snmp协议的数据采集。
(4).系统数据库模块
系统选用的数据库管理系统是运行于UNIX+ORACLE9i平台的Oracle,数据库的内部算法采用存储过程来实现。把对数据库的操作定义为可选项目,若网络管理员不必对数据库进行操作,则不采取入库操作。而来自采集模块的数据在这样的情况下则被丢弃。可以用一个数据过滤模块来判断是否需要入库操作。根据需求,在数据库中维护多个表文件,比如,存放某一天入库数据的表,以及存放此刻一小时之内的数据表等等。
4 系统安全性能分析
结合SNMP的实际特点,通过以下的方式来提升网络管理系统的安全性能。
4.1防范缓冲区溢出
缓冲区溢出是SNMP网络管理系统最大的安全威胁。这是一种常见的系统攻击方法,通过往缓冲区写入大量内容造成溢出,对程序的堆栈进行干扰,以达到攻击的目的。防范缓冲区溢出必须实行编程的规范化,并尽可能引入最新的第三方开发包。
4.2 在SNMP网络配置中加强安全性
合理的网络配置可以在一定程度上抵御网络的攻击和破坏。为提高SNMP网络的安全性,具体可以使用以下的策略:
(1)使用在物理上隔绝的网络
SNMP网络管理在物理隔绝的计算机专网具有最高的安全性能,由于外界无法接触专网设备和系统,就无法实施网络破坏与攻击行为。
(2)远程登录时用SSH取代Telnet
登录到远程设备时,有时会伴有开启或关闭SNMP功能的操作。Telnet远程登录采用明文方式传送数据,容易被人截获用户名和密码,而SSH则更具安全性。
(3)管理系统时使用IPSec协议
IPSec可以为IP协议进行安全支持,通过IP协议头部来提供加密机制和密钥管理。由于一些网络的范围很大,被管理系统与管理站在地理上距离遥远,网络之间
经过公网,此时构建一个IPSec隧道可以提供足够的安全性。
4.3 安全管理模型的建立
SSM 是SNMP的安全管理模型,此模型可以进行严密的用户身份验证,为系统管理员灵活地进行权限控制提供了便利。通过转化,可以利用SSM的安全框架为SNMP设备提供安全性保证。
5 结束语
随着网络应用的逐步普及和深入,网络管理工作也变得越来越复杂。网络的运行质量越来越受到网络管理的质量影响。除了加强网络结构的合理性和网络设备的可靠性,还需要注重网络管理。因此,作为网络整体运行必不可少的一部分,网络管理软件的重要性日益突出。基于SNMP协议的计算机网络监控管理系统可以对网络性能进行实时监测,即时查看全网的状态,并具有告警功能,使网络可靠、高效地运行。
参考文献:
.北京:机械工业出版社,2003,12