基于WEB网络设备管理系统探究和设计
基于WEB网络设备管理系统探究和设计 摘要SNMP在基于TCP/IP的网络中具有重要的地 位,然而传统的SNMP管理软件大多是基于C/S结构的, 并且是集中式的管理,这必然为网络设备管理带来了不便。 随着网络的不断发展,网络规模不断扩大,网络的复杂程度 也在不断的增加,这迫切的需要一种新型的可以满足各种网 络设备管理功能的管理系统。Web技术的出现解决了这一难 题,将Web技术与SNMP相结合的网络设备管理能够允许 管理人员通过WWW的方式去监测他们的网络,使用任何一 种Web浏览器,在网络任何节点上方便迅速地配置、控制 以及存取网络的各个部分。 关键词SNMP; WEB;网络设备管理 中图分类号TP393文献标识码A文章编号1009-3044 2014 08-1678-03 1网络设备管理的现状 在网络设备管理系统方面,国外已经有众多成熟的产 品,早期的有pcAnywhere,目前较为流行的有HP公司的 OpenView,而我国的网络管理水平还比较低,目前仅有少数 公司能开发出通用的网管平台,如华为的iManager N2000 数据通信网络管理系统、H3C公司的iMC智能网络管理平台。 早期的网管设备管理系统中大多都是采用基于C/S单一主机 模式,如 3C0M 的 Transcend 系列,SUN 公司的 SunNetManager、 D-Link公司的D-View、安耐特公司的SNMPc、华为公司的 iManager N2000 H3C公司的Quidview等,采用的是高度集 中的网管模式。这种基于C/S结构网管系统在技术上虽然很 成熟,但该结构存在灵活性差、升级困难、维护工作量大等 缺陷,不再符合现代网络管理技术的发展趋势。随着Web技 术的成熟,可以将Web技术引入到网络管理中,使得管理更 加灵活自如,管理人员可以在任何地方通过Web浏览器实施 网络设备管理,故障管理,配置网络管理参数,并且可以通 过将Applet技术、JSP技术、RMON技术和JAVA语言编程相 结合形成新的网络管理应用。 2基于C/S和基于WEB的网络设备管理模型的比较 SNMP是由Internet体系结构委员会IAB所制定的, 目前大多数厂商的网络产品如交换机、路由器、MODEM等都 支持SNMP协议,SNMP已经成为网络管理领域中的工业标 准。 2. 1SNMP在基于TCP/IP的网络中具有重要的管理地位 在整个SNMP管理体系中包含三类主要的角色管理站 Manager,代理Agent和管理对象,如图1所示 2.2传统的基于SNMP的网络管理模型中,管理站在整 个网络中一旦确定下来,其位置也就固定,很难随着管理员 当前的位置在网上移动 基于Web服务的网络管理模型具有分布性、易扩展和 易集成等特性,有效地克服了传统的集中式网络管理模式的 主要缺陷。为了解决该问题,提高网络管理效率,该文将 SNMP与Web技术结合,构造了一种基于B/S结构的SNMP 网络管理框架,如图2所示。 3系统功能分析 1)设备面板浏览,包括交换机、路由器、语音产品、 安全产品等。 2)端口浏览及配置功能,主要包含端口 up/down及端 口基本信息。 3)支持从数据库读取数据和从设备读取两种类型来显 示设备面板。 4)支持从设备面板的右键菜单调用其它功能模块。 4系统设计 4. 1在总体设计阶段,分为前台ClientFrame界面的设 计及后台Server端(数据的读取及设置)的设计,数据读 取可以从数据数据库读取,也可以从物理设备的mib中读取 如图3所示。 前台刷新器每个几秒自动刷新设备,通过HTTP隧道获 取后台数据,session层用于取得协议栈对象。 4.2系统UML类图设计 DisplayUI实现Refreshable接口,基本上所有不需要 配置的类包括面板类都是继承此类;Refresher用于刷 新设备面板,即发送数据对象到Server端,设备设备厂商、 MIB空间,加载MIB,加载功能列表,发送数据到Client端; AppletScheduler类用于Applet视图的调度管理;Device 用于设置或获取ifTable表数据;Func类用于启东相应设备 的功能。 5系统功能实现 1设备管理功能的实现。通过全仿真的设备面板对设 备、网络系统进行管理,从设备面板上获知设备的厂商、类 型,单板、子卡、端口状态、指示灯运行状况等。设备面板 每隔5分钟自动刷新一次面板,如果出现异常则产生告警, 设备面板上的元素状态发生变化。设备类Device, java用于 构造设备面板视图已经对设备进行初始化工作。 Public class Device Public Deviceinit ; } Public Device int opened {init ; this. openedopened; } Private void init { //对设备进行初始化 0pened0; //设置设备的状态 Type” ” ;//设置设备的类型 Devname”;〃设置设备的名称 Description //设置设备的描述 So snmpOption SnmpOption. getSnmpOpiton. Clone ;//获取//协议栈参数} Start { //启动常驻功能模块 if opened 1 return; Func fnull;for int i0; i