基于SNMP的网络管理系统研发

来源 :硅谷 | 被引量 : 0次 | 上传用户:whb35750
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要 SNMP是一个标准的用于管理IP网络上各网络节点的协议。该文基于本单位网络管理的需要,阐述了基于SNMP的网络管理系统的开发过程,并就重点模块做了详细介绍。
  关键词 网络管理;网络报警;SNMP
  中图分类号:TP393 文献标识码:A 文章编号:1671-7597(2013)12-0044-02
  计算机网络是计算机技术和通信技术相结合的产物,它从20世纪50年代起步至今已经有50多年的发展历程。中国互联网的产生虽然比较晚,但是经过几十年的持续发展,已经形成了较为稳定的网络基础架构和相对丰富的网络应用平台。随着网络规模的不断扩大,大量网络设备的增加,使得网络管理的重要性和迫切性也日显突出,为了便于IT运维管理员的管理和维护,急需开发一套网络管理系统变得十分必要。
  1 需求分析
  早期缺乏网络管理系统的计算机网络,管理人员往往不能主动发现问题,故障的发现和诊断一般是在得到用户的电话反馈以后才会去现场检查、解决。而准确定位故障点并解决需要花费很长时间,降低了工作效率和用户满意度。这种事件驱动式的网络管理,主要是通过人为的干预来进行,此时,网络管理员就充当了“救火队的角色”,整天疲于奔波、解决各种各样的问题。
  网络管理的重要性现在已经得到广大网络管理员的认可。简单、粗糙的管理方式已经不再适应现代的计算机网络,现代的网络管理必须向高度集中和高度自动智能化的方向发展。通过计算机网络管理可以对整个网络进行监督、控制和组织,使网络能够按照设定的目标,发挥应有的功能,在网络出现异常时能及时响应和排除故障。在移动通信技术高度发展的今天,可在任何时间,任何地方,利用通信终端,实时掌握网络运行状态,并在网络出现异常或者故障时,及时接收短信通知,迅速定位处理网络异常或故障。
  2 计算机网络管理系统概述
  计算机网络管理系统就是管理网络的软件系统。所谓网络管理就是从网络设备中获取当前网络运行状态信息,并对这些信息进行综合分析、判断,展示网络运行状态,从而预测网络故障,优化网络性能,提高网络利用率。
  一套完整的网络管理系统应该包括五个基本组成部分:管理工作站、被管设备、管理代理、网络管理协议和管理信息库。
  管理工作站一般是一台装有网络管理软件的服务器或者PC机,是所有被管设备的管理信息的收集点,是网络管理员管理、监控网络的接口,并向用户提供图形化的管理界面。管理工作站通过SNMP协议与被管设备(代理)通信,向代理发送查询命令和接收代理发来的应答及Trap报告。
  被管设备是指在计算机网络中被监视和被管理的设备。主要包括:路由器、交换机、防火墙、服务器,甚至还包括网络打印机、不间断电源(UPS)等。
  代理是指安装在被管理的网络设备上的软件或者固件(firmware),是一种软件进程,被管设备只有装有代理才能够接受管理工作站的监视和管理。代理接受来自网络管理工作站的查询并作出响应。当本地发生重大网络事件(如端口中断)时负责向管理工作站发送Trap报告。
  管理工作站和代理之间通过SNMP网络管理通信协议来完成通信。SNMP定义了5种报文操作,网络管理工作站通过GetRequest、GetNextRequest向代理查询管理信息,通过使用SetRequest来对代理进行远程参数配置,而代理通过GetResponse响应来自管理工作站的查询。代理还可以通过主动发送Trap消息,来向管理工作站报告本地发生的重大网络事件。代理通过161端口来监听Get或Set报文,管理工作站通过162端口来监听Trap报文。
  管理信息库(MIB)是指Oid(对象标识符)的集合,是一个逻辑数据库,并非物理数据库。它使用ASN.1中的基本类型和SMI中的定义类型来对管理对象及其值进行描述,是代理设备所维护的全部被管信息的集合。管理信息库采用和域名系统DNS相似的树型结构。
  3 系统的设计和开发
  现有的一些网络设备商针对自己的产品,开发了一些专用的、可以实现自动管理网络的应用软件,但是不能兼容其他品牌的网络设备。由于现在网络的异构特性,网络中的设备往往不止来自一家生产商。为了兼容所有设备自己动手开发一套网络管理软件,这样既可以增强网络管理员的学习能力,提高业务知识水平,又能全面了解整个管理系统的部署与运作,还能为单位节省一大笔业务支出。
  本文所述网络管理软件的开发平台为Windows XP操作系统,基于SNMP协议来开发的,编程语言为VC6.0,并利用第三方开发软件包SNMP++所实现。SNMP++是由HP公司开发的一款免费软件包,使用C++语言编写,是基于WinSNMP的二次开发,包含70多个大类,能实现基本的SNMP开发。SNMP能为不同种类、不同生产厂家、不同型号的设备,定义一个统一的接口和协议,使得开发人员可以对需要管理的网络设备进行统一
  管理。
  本管理软件的功能模块:能自动发现网络拓扑;能实时监控网络中重要设备的接口流量;当网络设备的CPU、I/O发生异常或者网络线路发生故障时,能接收E-mail信息和手机短信报警通知。由于篇幅关系,本文不能对所有功能模块进行一一详解,主要介绍通信线路故障报警模块,对其他模块只是简要概述。
  网络拓扑自动发现模块:网络拓扑自动发现是指通过获取当前运行的网络设备的信息,并确定之间的相互关系,向网络管理员提供一个实时、动态、准确、清晰反应网络设备存活状况的图形界面。
  端口流量监控模块:端口流量是否正常会直接影响所连端口以下的网络性能。轻则出现上网缓慢,重则直接导致网络瘫痪。通过监控端口流量,当流量达到设定的阀值时,管理系统及时报警,通知管理人员尽快做出检查和处理。可利用MIB中的ifOutOctets减去ifInOctets,然后除以时间间隔,得到端口流量的值。   网络设备性能监控模块:影响网络设备性能变差的原因有多种,但其症状表现基本一致,设备CPU利用率居高不下,系统可用内存剧减。以交换机为例,众所周知,交换机中的系统内存,分为系统运行进程所用内存(Processor内存)和缓存数据帧所用的内存(I/O内存)。当网络中出现大量数据需要交换处理时,需要耗费较多的缓存来临时存储数据帧。此时,不仅交换机CPU使用率高,而且可用I/O内存严重不足,严重影响网络性能。因此,必须对CPU的利用率和内存进行实时监控,当连续一段时间内超过事先设定的阀值时,系统就向指定的手机发送短信报警,通知网络管理员尽快做出检查和处理。以华为S3050为例,本系统所采集的交换机的CPU利用率为最近一分钟内的平均利用率,与之相关的Oid对象变量为1.3.6.1.4.1.2011.6.1.1.1.3.0 。
  4 通信线路故障报警模块详细介绍
  线路故障管理是网络管理中的基础,一切网络活动都是在无故障网络的基础之上进行。所以,无论多么先进的通信技术,也不能保证线路不出故障。通信线路的工作状态与网络设备(路由器、交换机)接口的工作状态有密切联系。当线路状态发生变化时,所连网络设备的接口状态也随之相应发生变化(up或者down)。
  在网络管理活动中,网络管理工作站为了获得被管设备(代理)的运行状态信息,一般采用管理工作站主动轮询管理代理来索求管理信息的方法和代理主动发送Trap报告的方法。但是,在基于主动轮询代理的方法中,轮询时间间隔难以确定,如果时间间隔过长,不能及时获取网络运行状态信息,如果时间间隔太短,会增加网络管理带宽,加重网络负担。
  本系统通信线路故障报警模块所使用的方法是代理主动发送Trap信息的方法。当被管网络设备接口状态发生改变时,会给指定的管理工作站发送Trap信息,至于发送给哪个管理工作站,是事先在代理中指定,当管理工作站接收到Trap信息后,首先解析Trap包含的信息,然后根据程序算法从而判断出Trap的具体含义并作相应的处理。SNMP++预定义了6种通用的trap Oid,其中表示设备端口状态的两种Oid变量为linkDown("1.3.6.1.6.3.1.1.5.3")和linkUp("1.3.6.1.6.3.1.1.5.4")。
  运行本系统,首先要求被监视设备启动SNMP,并配置发送Trap的命令。在接收和处理Trap的工作中,首先用snmp.notify_set_listen_port(trap_port)设置监听端口,使用指定的过滤器来接收trap。如果收到的trap满足过滤条件,则相应的trap会被送到调用者指定的回调中,在回调函数中处理Trap信息。
  当系统接收到有报警信息,会将报警信息发送到指定邮箱。现在很多手机运营商提供的邮箱,例如移动的139邮箱,都免费提供邮件到达手机短信通知功能。本系统采用第三方邮件操作组件Jmail,能很简单的实现邮件发送功能。
  5 结束语
  本系统主要介绍了网络管理的相关概念和部分功能模块,通过实验实现了所需求的基本的功能,但距离整个网络管理功能的实现还有一定的差距,有些附加功能(如:远程参数设置、批量ping等功能)还没完全加入到系统中,今后可在这方面作进一步的研究和开发,以完善其管理。
  参考文献
  [1]武孟军,徐,任相臣.Visual C++开发基于SNMP的网络管理软件(第2版)[M].人民邮电出版社,2009.
  作者简介
  梁荣余(1978-),山东莒县人,网络工程师(中级),山东大学(威海)网络与信息管理中心,研究方向:计算机
  网络。
  冯帆,山东大学信息科学与工程学院,本科生。
其他文献
目的 报道右心室流人道间隔部希氏束附近起源室性期前收缩体表心电图特征及射频消融效果.方法 无器质性心脏病频发性室性期前收缩5例,分析其12导联体表心电图室性期前收缩特
目的:观察在不同浓度槟榔提取液(aqueous areca nut extract,AANE)作用下血管内皮细胞(endothelialcell,EC)分泌内皮素 1(endothelin-1,ET-1)的变化,探讨 EC 及 ET-1 在口腔
目的:探讨应用全牙弓间隙分析方法对涉及磨牙的拔除和保留病例进行拔牙牙位的设计.方法:选择成人正畸疑难病例31例,男10例,女21例,年龄 18~30岁,平均24岁.采用全牙弓间隙分析
放射治疗是功能性垂体腺瘤的重要治疗手段之一.包括常规分割放射治疗和立体定向放射治疗两大类.主要用于术后残留或复发病例,也可以作为某些患者的首选治疗手段.放疗后局部控
摘 要 短波也被称之为高频,属于无线电频谱的一部分,主要是凭借电离层折射来实现远距离通信。由于短波本身具有独特的传播特性,从而使其能够满足中继远距离通信的要求,而传输链路的选择是关键环节之一。基于此点,本文就短波广播传输链路展开研究。  关键词 短波广播;传输;链路  中图分类号:TN925 文献标识码:A 文章编号:1671-7597(2013)12-0038-02  1 短波广播综述  所谓的
作为肝脏终末期疾病和急性肝衰竭的有效治疗手段,肝脏移植已愈发体现出其不可替代的临床价值.但由于同种异体肝移植术后的排斥反应,使其成为左右移植器官功能的关键.因此, 针对排斥反应机制及相关治疗的探讨一直是各国移植工作者研究的重点之一.作为目前已知最为强大的抗原提呈细胞(APCs)-树突状细胞(DCs)在肝移植术后对维系免疫耐受状态所起的重要作用,已经成为科研人员研究的焦点问题.本文就树突状细胞在肝移
摘 要 随着Internet的广泛发展,Java的面向对象、平台无关及模块分布应用等特点,给网络编程界带来了新的革命。Oracle9i数据库相应同时发展为应用服务器与数据库服务器。企业体系发展为多个应用对象具有良好的定义接口,从瘦客端上访问服务器上信息和应用更为方便。Java与Oracle9i数据库的连接体现有三个方面,本篇重点解析Java与Oracle9i数据库的JDBC连接方法,展示JDBC是
目的 探讨小剂量米非司酮对单纯型增生子宫内膜的影响.方法 把研究对象随机分为米非司酮组43例,炔诺酮组43例,对照组20例.用药前和停药后进行子宫内膜病理组织学检查并检测子宫内膜组织雌激素受体(ER)和孕激素受体(PR)水平,同时测定子宫内膜厚度和Hb含量.结果 研究组用药前子宫内膜均为单纯型增生.使用米非司酮和炔诺酮后,子宫内膜呈增生期反应,与用药前相比差异有统计学意义(P<0.05),两组用药
摘 要 椭圆曲线密码(ECC)基于椭圆曲线离散对数问题,它是有限域上椭圆曲线有理点群的一种密码系统,既可以用于文件传输中的数据加密又可用于文件或密码的数字签名。和其它公钥密码体制相比,它具有可用的攻击算法少、把明文转化为密文的任务小、处理速度快、密钥>=3、计算所需参数少以及带宽要求低等优点。本文简略介绍了数字签名技术,主要内容是基于椭圆曲线的数字签名技术。  关键词 椭圆曲线;数字签名;签名;验
摘 要 计算机桌面安全防护不仅加强了内部网络计算机终端控制,同时也为计算机网络安全提供防护功能,因此计算机桌面安全防护系统成为网络安全防御系统中重要的组成系统。文章主要根据计算机桌面安全防护系统的设计原则详细分析计算机桌面安全防护系统的管理功能设计。  关键词 计算机;桌面安全防护系统;设计  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2013)12-0054-01  计算