基于snmp网络管理系统的设计与实现本科毕业论文管理资料.docx
《基于snmp网络管理系统的设计与实现本科毕业论文管理资料.docx》由会员分享,可在线阅读,更多相关《基于snmp网络管理系统的设计与实现本科毕业论文管理资料.docx(13页珍藏版)》请在冰点文库上搜索。
基于snmp网络管理系统的设计与实现本科毕业论文管理资料
本科毕业设计(论文)
题目:
基于SNMP网络管理系统的设计与实现
院(系):
计算机科学与工程学院
专业:
班级:
学生:
学号:
指导教师:
2014年6月
1基于SNMP网络管理的研究
在Windows环境下进行SNMP编程,可以使用WinSNMPAPI函数。
这些函数实现了基本的SNMP功能,但直接使用WinSNMPAPI函数要复杂得多,幸运的是,目前有许多支持SNMP功能的第三方开发包,如UCDSNMP,PowerTCP和SNMP++等,使用这些开发包,可以大大简化Windows环境下的SNMP编程工作。
SNMP++是网络管理程序与SNMP代理之间的通信协议,因此SNMP编程也包括两大部分:
网络管理程序的开发和SNMP代理软件的开发。
SNMP代理运行在特定的网络设备中,由设备生产商负责开发。
本文主要研究在Windows环境下开发基于SNMP的网络管理程序,不涉及SNMP代理开发方面的内容。
微软的Windows系统(包括WindowsNT、Windows2000、WindowsXP、Windows2003等)支持SNMP,默认是关闭的,可以通过添加组件的方式进行打开并进行简单配置。
启动后,代理在主机上启动一个SNMP代理服务器进程,监听从UDP端口161接收的SNMP操作请求。
但是还不能使用SNMP获取到系统的信息,因为此时代理支持的MIB-II中还没有定义相关的被管理对象,因此,还需要安装第三方支持的软件。
SNMP第三方软件实际上是一个SNMP子代理,系统中原来的代理称为SNMP主代理,主代理与子代理之间使用特有的协议进行通信。
通过安装子代理,可以在系统中扩展主代理不支持的MIB。
Net-SNMP就是这样的一款第三方软件,安装后即可为SNMP提供信息。
2环境配置
使用windowsXP操作系统,软件使用VC++,测试设备,本机,工大瑞普虚拟实验环境,可以模拟如帧中继,路由交换的环境。
从下载SNMP++开发包,解压后进行编译,形成一个静态链接库,下面的步骤将在VC++。
,操作步骤如下:
1)在开发环境下,选择“File”->“New…”项,在弹出的窗口中选择“Win32StaticLibrary”,工程名为“snmp_pp”,。
图建立一个静态链接库工程
2)单击“OK”按钮,进入下一步,使用缺省选项,,点击“Finish”完成,建立一个没有文件的静态链接库工程。
静态链接库工程建立完成
3)在工作区内,为工程添加解压缩后的所有源文件(即snmp++目录下的src目录下的所有后缀为CPP的文件,)。
向工程中添加源文件
为了让编译的链接库支持SNMPV3,用上步同样方法,要把snmp++目录下的libdes目录下的c文件包含进来。
4)文件添加完后,设置工程编译环境。
主菜单选“Project”->“Settings…”项,弹出的窗口中,选“C/C++”页,按照下表进行设置,。
工程设置
5)目录设置。
主菜单“Tools”->“Options…”项,弹出的窗口中,选“Directories”页,添加SNMP++头文件所在的目录,。
工程目录设置
6)选择“Build”->“Build”项,.
7)将生成的静态链接库文件直接复制到VC安装目录:
\VC98\Lib中去,就可以像使用VC自带的其他库文件一样使用它了。
3代理设备的配置
a.windows主机安装,启用SNMP;
首先查看本地服务,检查SNMP服务是否已经安装。
如没有安装,按下列步骤进行安装。
(1)单击“开始”→“设置”→“控制面板”→“添加/删除程序”→“添加/删除Windows组件”,勾选“管理和监视工具”项,再单击“详细信息”按钮,。
图WindowsXP操作系统启用SNMP
(2)勾选“简单网络管理协议”项,单击“确定”按钮。
安装SNMP后,默认的community字符串是“public”,可以修改为其他字符串,。
图修改community字符串
(3)安装第三方软件Net-SNMP:
。
图安装net-snmp时选择安装目录
b.可配置网络设备启用SNMP服务
SNMP代理是运行在可网管设备中的一个管理进程,在网络管理软件运行前要对其进行配置,使它能够响应网络管理站的信息请求,发送Trap消息,并进行权限限制与身份验证。
需要配置的代理设备主要是网络中可网管的路由器与交换机,不同的厂商的不同设备配置有所区别,但都大同小异,都可以通过telnet进行命令行设置,需要配置的内容我们通过配置一个Cisco7200路由器的实例来具体描述:
(1)接受的团体名称和权限。
SNMP服务需要至少一个团体名,一般设备都有默认的团体名,public为只读权限的团体名,private为可读写权限的团体名。
这两个团体名被普遍地使用,每个人都会被猜到,为安全起见,配置团体名时尽量为不同权限使用不同的团体名,并要为团体名选择强壮的口令,定期更改。
配置命令如下:
snmp-servercommunitypublicRO
命令配置了一个RO权限的团体名public,
(2)配置访问控制列表ACL。
默认情况下,在仅配置了团体名和权限后,代理会接受来自任何主机的SNMP数据包,这使得在团体名在被破译或泄漏后任何主机都可通过代理进行读写操作,所以必须考虑安全性方面,设置访问控制列表,使SNMP代理只接受访问控制中主机发出的SNMP数据包。
配置如下:
access-list3permit
snmp-servercommunitypublicRW3
第一个命令创建了一个编号为3的访问控制列表,允许来自网络的信息流量。
,并且数据包中的commnunity是可读写权限的团体名public。
(3)发送身份验证Trap。
身份验证是验证团体名或地址是否有效的过程。
当SNMP代理收到错误的团体名,或者不是从可接受访问控制列表成员发出的请求,那么代理将发送身份验证Trap消息到Trap目标(管理站),指出身份验证失败,在默认情况下,该项是启动的。
(4)配置SNMPTrap。
配置使得路由器能够向管理工作站发送陷阱消息。
配置如下;
snmp-serverhostpublicsnmp
snmp-serverenabletrapssnmp
;
第二条命令指明激活本设备上的所有SNMP标准的Trap消息。
4设计与实现
基于SNMP的网络管理系统的关键功能之一为采集被管理Windows主机的信息资源。
按照管理人员信息监测和维护工作的要求,信息采集主要涉及以下几个方面,管理人员可以通过采集到的信息数据来判断远程主机的运行情况、业务状态和网络安全。
a.配置管理
对系统的配置有详细了解是网络管理的一个重点,任何时候都需要。
在需要的时候及时,准确的查看系统配置,包括基本信息、系统信息、IP地址,路由信息,TCP连接,UDP连接,进程信息,软件安装信息。
利用MIB对象组的OID,将感兴趣的流量或数据进行分类,之后再进行显示出来,达到我们所要的效果。
。
MIB对象与OID对应关系表
MIB对象
OID
备注
系统组
列对象
IP组
表对象
路由组
表对象
进程组
列对象
TCP组
表对象
UDP组
表对象
内存信息组
表对象
软件信息组
表对象
系统组(SystemGroup)提供了系统的一般信息,。
系统组与OID对应关系表
MIB对象
OID
备注
系统描述
.
标量对象
设备的生产厂商
标量对象
设备名称
标量对象
系统运行时间
标量对象
IP组提供了与IP协议有关的信息。
所示。
IP地址信息与OID对应表
MIB对象
OID
备注
IP地址
标量对象
IP地址索引
标量对象
IP地址掩码
标量对象
装配数据包大小
标量对象
路由组提供了本地的路由信息。
。
路由信息与OID对应关系表
MIB对象
OID
备注
目的IP地址
标量对象
基本路由度量
标量对象
转发地址
标量对象
子网掩码
标量对象
b.性能管理
主机的CPU,内存的使用情况对主机的性能影响很大,如果出现问题,将直接影响到主机的正常运行,进而对服务器上正在运行的重要的应用系统带来不可预料的后果,所以,对服务器主机的CPU,内存资源使用情况进行监测是网络管理的首要任务。
通过特定的Oid,不断检测CPU和内存的使用信息,并通过简单的公式计算相应数值,并用图表进行显示。
1)CPU5秒内平均利用率的OID:
;
2)CPU利用率的OID:
;
3)可用物理内存(Bytes)的OID:
;
c.故障管理
根据预先设置,代理对网络中的异常断开及时发送错误提示给管理站,使管理者最快发现网络中存在的问题,及时进行处理。
通过SNMP获取设备端口的相关信息需要设备的SNMP代理对一些被管对象的支持。
这些被管理对象有的是通用的,比如MIB-II中的某些被管理对象;有的是私有的,例如CISCO定义和一些MIB。
当查询到某一接口的值时,由索引对象的值来决定OID,。
索引值与OID关系表
ifIndex
ifDescr
ifOperStatus
1
Ethnet0
1
2
Serial0/0
1
3
Serial0/1
2
Serial0/0的接口变量的OID值为:
即列对象ifOperStatus的OID()+索引对象ifIndex值
(2)。
d.网络可达性
在网络运行过程中,常常有各种各样的原因,致使网络产生中断,较好的发现这些问题,并进行专业的测试,网络中一点到一点的连通性很是关键。
利用ICMP协议的请求应答报文的特点,适合作为连通性测试的工具。
利用ICMP协议进行相关的检测;根据ICMP报文的特点,当报文的类型部分的值为8,代码部分值为0,就是一个回显请求报文。
5总结
本文主要叙述了基于SNMP进行网络管理的方法。
通过对传统网络管理方法的学习、比较,发现传统网络管理方法的一些局限性和不足之处,从而提出采用基于SNMP的网络管理的思路,探索一种简便的网络管理方法。
本论文首先分析了网络管理的基本概念和功能,然后概述目前网络管理发展新趋势——以一种设计简单、操作简便的方法来进行网络管理,应用SNMP++开发包来进行网络管理软件开发的新思路,以适应网络管理技术的发展需要。
本文使用VC对基于SNMP的网络管理系统的开发,实现了VC对SNMP++各个类的成员调用的方法,在此基础上利用SNMP进行对网络实施管理,包括网络信息的采集和获取,对网络资源进行合理监控,实现对可管网络资源信息的处理,建立了基于SNMP的网络管理系统,初步尝试了一种不同于传统网络管理方法的新的网络管理技术运用。
参考文献
[1]ShervinErfani,VictorB.Lawrence,ManuMalek,andBinaySugla,Networkmanagement:
emergingtrendsandchallenges[J],BellLabsTechnicalJournal,1999,4(4):
3-22
[2]LucaDeri,Networkmanagementforthe90s[R].TechnologyReport,IBMZurichResearchLaboratory,1997,22
[3],,etal.RFC1157-Asimplenetworkmanagementprotocol(SNMP)[S].PerformanceSystemsInternational,SNMPReasearch,MITLaboratoryforComputerScience,1990
[4],.RFC1445-Administrativemodelforversion2ofthesimplenetworkmanagementPrototcol(SNMPv2)[S].TrustedInformationSystemsandHughesLANSystems,1993
[5]SNMP++—C++BasedApplicationProgrammersinterfaceforthesimplenetwork
managementprotocol[S].HewlettPachardCompany,1997
[6],.FRC2790-HostResourcesMIB[S].LucentTechnologies
Inc.,2000
[7]GlenPassiveOpticalNetwork(EPON):
Buildinga
Next-GenerationOptical.AccessNetwork[J]2002(02):
72.
[8][M].北京:
清华大学出版社,2005:
[9].
[10]岑贤道,[M].清华大学出版社,1998:
20~30
[11][M].清华大学出版社,2004
[12]William网络管理[M].中国电力出版社,2001
[13]李天剑,[J].计算机系统应用,1999,5:
17-20
[14][M].北京:
机械工业出版社,2001:
79.
[15]SNMP、SNMP++及用VC++6.0实现WindowsSNMP编程
[16]周媛,].湘潭师范学院学报,2006,28
(1):
51一52
[17][:
电子工业出版社,2004:
46一52.
[18]李捷,[J].四川通信技术,2002,2(32):
53一55
[19]王平,[x].,16(9):
1047一1050.
[20]〔D].杭州:
浙江大学,2005毕业设计(论文)知识产权声明