APP下载

基于SNMP网络设备侦测的程序设计

2011-10-26王小琼谭立国黄金标

中国科技信息 2011年9期
关键词:跨平台网络设备网络管理

王小琼 谭立国 黄金标

桂林电子科技大学信息科技学院,广西 桂林 541004

基于SNMP网络设备侦测的程序设计

王小琼 谭立国 黄金标

桂林电子科技大学信息科技学院,广西 桂林 541004

随着网络规模的不断扩大,企事业单位业务系统的日趋复杂,现代网络需要人机结合管理,实现自助侦测和管理;本文拟采用SNMP技术,利用先进的计算机技术,实现对网络设备及服务器的状态进行自动侦测,并期望能够根据侦测的数据对网络的优化提供帮助。

SNMP;状态侦测;网络管理

SNMP;status moni;tornetwork manage

引言

随着网络和计算技术的发展,现代的网络体系、信息系统趋于大型化、群集化,需要各种冷备、热备、灾备技术,进而需要管理人员维护大量的服务器、交换机,尤其是大型企事业单位、学校,需要考虑员工、师生上网及各种业务需求等,往往设备数量在几十甚至上百台,如何快速、实时地查看和管理上述设备,快速诊断、排除故障,成为一个值得研究的课题;本文拟阐述一种采用SNMP技术实现对网络设备的远程、实时状态显示技术,从而帮助管理人员快速发现网络故障,协助诊断网络问题。

1 SNMP协议简介

SNMP(Simple Network Management Protocol,简单网络管理协议)的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet定义的SMI和MIB:体系结构,改进后的协议就是著名的SNMP。SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台,因此SNMP受Internet标准网络管理框架的影响也很大。现在SNMP已经出到第三个版本的协议,但SNMP v2版本业界应用最为广泛,本次研发主要根据该版本进行。使用SNMP 协议的网络管理系统和管理结构工作一般包括:管理进程通过定时向各个设备的设备代理进程发送查询请求信息来跟踪各个设备的状态;而当设备出现异常事件时,例如设备冷启动等,设备代理进程主动向管理进程发送陷阱信息,汇报出现的异常事件。这些轮询信息和陷阱信息的发送和接收规程及其格式定义都是由SNMP 协议定义的。而被管理设备将其各种管理对象的信息都存放在一个称为管理信息库MIB 的库结构中。SNMP 协议运行在用户数据报协议UDP之上,它利用的是UDP 协议的161/162端口。其中161 端口由管理进程监听,等待设备代理进程发送的异常事件报告陷阱信息,例如执行软中断(Trap)。设备的所有需要被管理的信息被看做一个各种被管理对象的集合,这些被管理对象由OSI 定义在一个被称作管理信息库MIB 的虚拟信息库中。

2 状态侦测系统总体设计与主要功能模块

系统采用SNMP协议搜集各种系统信息,被管理设备需要开启SNMP服务,并进行相关配置,侦测服务发送轮询请求或者接收陷阱信息,并将该信息通过web service的方式发布给前台界面。系统总体结构如图1。

图1 网络设备状态侦测系统总体设计

设计中考虑到跨平台和分布式应用系统的支持,以及降低耦合,故编程语言选择标准为支持跨平台特性较好、易于开发、便于更新的Erlang和Qt两种语言;前后台接口应能够将耦合降至最低,选择XML格式。

3 Erlang语言简介及后台服务程序设计

Erlang语言简介:Erlang是一种通用编程语言和运行环境,具有内置的并发性、分布和容错支持。Erlang可运用在分布式、可靠、软实时并发系统,可用作电信系统、HTTP服务器或WAP协议栈,语言简单小巧,具有丰富的库,代码支持热替换,采用模式匹配,支持SMP,性能较高。

采用Erlang编写的后台服务组件结构如图2。

图2 后台服务组件的结构

4 Qt简介与前台展示层设计

Qt 是一个跨平台应用程序和 UI 开发框架。具有跨平台 IDE 的集成开发工具,使用 Qt 只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署,兼容的平台有:Windows、Linux/X11 、Mac、Windows CE/Mobile、嵌入式 Linux(Embedded Linux)、Symbian、Maemo等。

采用Qt设计的前台展示测试界面如图3:

Qt能够很好的表现网络环境,且对部属环境要求不高,性能较为稳定,易于开发,使用。

5 接口设计

因考虑到Qt的跨平台特性以及程序移植等问题,前后台接口采用XML格式,后台的Erlang除采集各种设备的实时信息外,提供Web service供前台展示访问,从而降低前后台的耦合,客户可以采用各种形式的程序展示网络设备状态,接口XML协议如下:

对于前台和后台的连接方式,考虑两种方式:

1)前台注册,后台与前台使用TCP进行长连接,此种方法需要维持TCP连接,前后台需要稳定连接,耦合较紧,但是事件的实时性好;

2)后台建立Web service,前台应用程序调用,此种方法需要前台主动调用Web service,所以需要定时调用,但耦合性较好。

根据项目实际,选择采用Web service的方式,该方式对于前后台之间耦合性要求较低,适合于现代开发方式。

6 各侦测点阈值设置

本次开发主要针对于SNMP v2涉及到的交换机的内存、CPU、端口上下行流量的检测,以及交换机在线状态等,根据程序测试及管理人员的经验,各侦测点的阈值设置如下:

交换机内存:40%;

交换机CPU占用:20%;

千兆端口上行和下行流量:700M。

对于服务器,需根据不同的业务需求进行手动调节,甚至需要分时段进行调整报警阈值,如对于学生选课系统,在选课期间,计算机的CPU使用率阈值设定为40%,在其他期间设定为10%。

7 实际应用效果

我校现在实行操作系统虚拟化,需要根据各业务系统工作时段不同,为其动态分配资源;在网络设备状态侦测系统运行一年后,根据系统的历史数据,归纳出各种业务系统的阈值,实现了对各类业务系统虚拟设备资源的优化。

[1](瑞典)JoeArmstro著ng. Erlang程序设计. 北京:人民邮电出版社.2008.12

[2](美)William Stalli著ngs;胡成松,汪凯译.SNMP网络管理. SNMP网络管理. 北京:中国电力出版社.2001

[3]闫锋欣编著. C++ GUI Qt 4编程. 北京:电子工业出版社.2008.08

[4]范春梅,王新刚,张卫华编著. XML基础教程. 北京:人民邮电出版社.2009.10

The Program Design For Network’s Devices Monitoring Based On SNMP

Wang Xiaoqiong Tan Liguo Huang Jinbiao
Institute of Information technology of Guilin University of Electronic Technology, GuangXi GuiLin, 541004

With the scale of network expanding and the business system of the enterprises be more complicated, modern network management need to be control not only by man, but also by computer,and then realize auto monitor and manage; the article want to a way to realize auto monitor for network devices and servers with the SNMP and advanced computer technology, and then expect to offer the help for optimize network by the detect date.

10.3969/j.issn.1001-8972.2011.09.058

猜你喜欢

跨平台网络设备网络管理
跨层级网络、跨架构、跨平台的数据共享交换关键技术研究与系统建设
网络设备的安装与调试课程思政整体设计
数控机床DNC网络管理平台在智能制造中的应用
一款游戏怎么挣到全平台的钱?
一种基于C# 的网络设备自动化登录工具的研制
基于OpenStack虚拟化网络管理平台的设计与实现
电动汽车充电服务网络管理初探
基于C++语言的跨平台软件开发的设计
流量分析在网络管理中的应用探析
基于B/S的跨平台用户界面可配置算法研究