基于SNMP的网管程序设计.docx
《基于SNMP的网管程序设计.docx》由会员分享,可在线阅读,更多相关《基于SNMP的网管程序设计.docx(10页珍藏版)》请在冰豆网上搜索。
![基于SNMP的网管程序设计.docx](https://file1.bdocx.com/fileroot1/2023-5/23/85555249-b3af-4b2c-9e5f-6e7b65d9a200/85555249-b3af-4b2c-9e5f-6e7b65d9a2001.gif)
基于SNMP的网管程序设计
基于SNMP的网管程序设计
专业班级计算机软件一班
姓名唐如雪
学号1110451081
授课教师史君华
成绩
时间2014.4
计算机科学与技术系
基于SNMP的网管程序设计
摘要
随着网络技术的发展和应用的越来越普及,计算机网络已经渗透到人们的社会生活的各个角落。
与此同时,网络的规模与异构性也日趋增加。
出于对网络的可靠性和稳定性的需要,人们需要更加简单便捷的网络管理工具来帮助他们监视网络状态和发现网络故障。
本文简述SNMP网关程序的重要性及其发展,并且采用简单的网络管理协议SNMP进行详细的分析和系统程序的模块划分与数据库设计。
最后具体实现并且能够根据需求来拓扑发展以求更好的满足人们的需求。
关键词:
SNMP网络管理性能实现
ABSTRACT
Withthedevelopmentofnetworktechnologyandapplicationisbecomingmoreandmorepopular,thecomputernetworkhaspenetratedintoeverycornerofpeople'ssociallife.Atthesametime,thescaleandheterogeneityofthenetworkisincreasingdaybyday.Fornetworkreliabilityandstabilityoftheneed,peopleneedmoresimpleandconvenientnetworkmanagementtoolstohelpmonitorthenetworkstatusandfindnetworkfault.
Inthispaper,theimportanceanddevelopmentofSNMPgatewayprogramdesign,moduledivisionanddatabaseandthenetworkmanagementprotocolsimpleSNMPprogramanalysisandsystemindetail.Finally,.Finally,implementationandaccordingtodemandtotopologicaldevelopmentinordertobettermeettheneedsofthepeople.
Keywords:
SNMPNetworkmanagementPerformanceisachieved
目录
第1章引言1
第2章网络管理系统2
2.1网管站(NMS)2
2.2管理代理(Agent)2
2.3管理信息数据库(MIB)2
2.4网络管理协议(Protocol)2
第3章SNMP协议3
第4章网络管理应用5
4.1网络管理系统的结构5
4.2应用实例5
第5章结论7
致谢8
参考文献9
第1章引言
简单网络管理协议(SNMP:
SimpleNetworkManagementProtocol),是广泛投入使用的工业标准,其目标是保证管理信息在任意两点中传送,便于网络管理员在网络上的任何节点检索信息、修改参数、寻找故障,并完成故障诊断、容量规划和报告生成。
由于它只要求无证实的传输层协议UDP,因而受到许多产品的广泛支。
第2章网络管理系统
典型的网络管理系统包括网管站、管理代理、管理信息数据库和网络管理协议。
2.1网管站(NMS)
网管站运行网络管理软件,向管理代理发送查询报文,以查询网络设备运转状态、配置及性能等信息,并接收来自管理代理的响应及陷阱报文。
通过构建直观拓扑图等方式,网管站可协助网络管理员确定一个网络设备、部分或整个网络的运行状态。
2.2管理代理(Agent)
管理代理是驻留在网络设备中的软件模块,负责获取本地设备运转状态、设备特性、系统配置等信息,处理网管站请求报文,并将设备信息形成响应报文发送给NMS。
紧急情况下,如接口状态改变或呼叫成功,以发送陷阱报文的方式通知NMS。
2.3管理信息数据库(MIB)
管理信息数据库定义网络管理系统控制的数据对象是监控网络设备标准变量定义的集合。
网络管理员可以直接或通过管理代理软件来控制这些数据对象,以实现对网络设备的配置和监控。
2.4网络管理协议(Protocol)
网络管理协议是网管站和管理代理间传递管理信息的规则集合,用于在管理员与管理代理间传递和解释操作命令,使管理信息库中的数据与设备的实际状态、工作参数保持一致。
第3章SNMP协议
SNMP是由互联网工程任务组(IETF:
InternetEngineeringTaskForce)定义的网络管理协议。
该协议为应用层协议,在UDP、IP及有关的特殊网络协议(如:
Ethernet、FDDI、X.25)之上实现,属TCP/IP协议族的一部分。
在分立的管理站中,管理者进程通过SNMP对位于管理站中心的MIB访问进行控制,并提供网络管理员接口。
每个代理必须实现SNMP、UDP和IP,且具有解释SNMP消息和控制代理者MIB的代理者进程。
SNMP主要由3部分组成:
管理信息结构(SMI:
StructureofManagementInformation)、管理信息库(MIB:
ManagementInformationBase)和SNMP协议本身。
SMI是对管理信息的公共结构和一般类型的描述,是MIB中对象定义和编码的基础。
SMI通过定义宏OBJECT-TYPE,规定管理对象的表示方法,可视为ASN.1(AbstractSyntaxNotation)的子集,并定义了几个SNMP常用的基本类型和值。
MIB存放管理代理中有关配置和性能的数据,包含分属不同组的多个数据对象。
这些数据对象以树状分层结构组织,每个分枝有其专用名字和一个数字形式的标识符。
使用该结构,MIB浏览器能方便简洁地访问整个MIB数据库。
SNMP协议定义数据包格式,以及网管站和管理代理间的信息交换,同时控制管理代理的MIB数据对象,用于处理管理代理定义的各种任务。
SNMP协议对外提供控制MIB对象的基本操作命令Set、Get和Trap。
Set是特权命令,用于改动设备配置或控制设备的运转状态;Get用于从网络设备中获得管理信息;Trap用于网络管理系统未明确要求的前提下,管理代理通知网络管理系统有一些特别的情况或问题发生了。
一条SNMP报文由版本域(VersionField)、分区域(CommunityField)和协议数据单元域(PDU)三部分组成,且数据包的长度不固定。
版本域用于说明所使用SNMP协议的版本。
分区域是基本的安全机制,用于网络管理员访问SNMP管理代理时的身份验证。
分区名(CommunityName)是管理代理的口令。
若管理代理被配置成可以执行Trap命令,当网络管理员用错误的分区名查询管理代理时,系统就发送一个AuthentcatonFalureTrap报文。
SNMPv1的PDU包括:
GetRequest、GetNextRequest、SetRequest、GetResponse和Trap。
SNMPv2增加了GetBulkRequest和InformRequest。
SNMP网管站使用GetRequest从拥有SNMP代理的网络设备中检索信息,SNMP代理以GetResponse消息响应GetRequest,交换如系统的名字、系统自启动后正常运行的时间、系统中网络接口数等等信息。
GetRequest和GetNextRequest结合使用可获得表中的对象,GetRequest取回一个特定对象,GetNextRequest则请求表中的下一个对象。
使用SetRequest可对设备参数远程配置,如设置设备名、关掉端口或清除地址解析表中的项等。
Trap即SNMP陷阱,是SNMP代理发送给网管站的非请求消息,这些消息告知网管站本设备发生了特定事件,如端口失败、掉电重起等,以便网管站作出相应的处理。
第4章网络管理应用
4.1网络管理系统的结构
该网络管理系统由3ComTranscendNCS应用软件和SunNetManager通用网络管理平台构建,结构上分为三层,
网管站(NMS)
具有SmartAgent的网络设备
具有SmartAgent的网络终端
(1)底层的SmartAgent管理代理软件是该结构的基础,它嵌入于3Com的网卡、交换机、路由器等网络设备中。
该管理代理软件自动搜集每个设备的信息并把这些信息有机联系起来;
(2)中间层是基于Unix和SNMP的通用网络管理平台SunNetManager,它强化了SmartAgent的管理智能,并支持高层Transcend应用软件。
SunNetManager包括三个管理用的接口:
①用户接口包括SunNetManager提供的用于拓扑结构搜查和显示、请求与事件管理及报告分析的应用软件,和Transcend等网管应用软件。
②管理应用接口SunNetManager提供了一个例行程序库和一套机构,前者用于同代理程序进行与协议无关的通信,后者用于处理已存储的管理数据。
通过该接口,应用程序既可与SunNetManager的代理程序和控制台、其它管理应用程序透明通信,也可以查询网络配置数据库并对其修改,同时控制台对数据库的这一改变立即做出反应。
③协议接口SunNetManager提供了基于ONCRPC的消息库和相关服务,便于开发代理程序和管理协议翻译程序(通常称翻译代理或适配程序)。
(3)最上层是运行在网管站上的Transcend应用软件,包括TranscendCentral、DeviceView、EnterpriseVLANManager、AddressTracker等,它们通过易于使用的图形界面把各种管理功能集成于SmartAgent智能中。
4.2应用实例
该实例为Transcend的AddressTracker应用软件获取3ComSS1000交换机MIB库中MAC地址表的过程。
当在AddressTracker中选取“GetBridgeTable”及一台3ComSS1000交换机后,就可获取该交换机MIB库中的MAC地址表,运行原理如下:
1网管站通过UDP端口161向驻留在该交换机上的Agent发出包括如下PDU的报文:
GetNextRequest(1.3.6.1.4.1.43.10.9.5.1.6.1);
2驻留在该交换机上的Agent从UDP端口161接受来自网管站的串行化报文,依据ASN.1基本编码规则解码生成用内部数据结构表示的报文,如果此过程中出现错误导致解码失败则丢弃该报文,不做进一步处理;
3如果②中未出错则Agent从报文的版本域中将版本号取出,若与本Agent支持的SNMP版本不一致则丢弃该报文,不做进一步处理;
4如果③通过则Agent从报文的分区域中将网管站填写的分区名取出。
若与本设备认可的分区名不一致则丢弃该报文,不做进一步处理,同时产生一个AuthenticationFailureTrap陷阱报文发到网管站的UDP端口162;
5如果④通过则Agent从通过验证的ASN.1对象中提取出协议数据单元PDU。
若失败则丢弃报文不做进一步处理,否则将产生一个报文,该报文的发送目的地址同接收报文的源地址一致,且包含交换机MIB库MAC地址表中的第一项值。
假设交换机有如下MAC地址表交换机的MAC地址表
端口号MAC地址
00:
50:
04:
be:
b9:
27
00:
01:
e6:
67:
49:
c3
08:
00:
20:
c3:
65:
57
则⑤中Agent将网站发包GetResponse(1.3.6.1.4.1.43.10.9.5.1.6.1.5.1=“005004beb927”)PDU的报文;
6网管站继续向Agent发GetNextRequest(1.3.6.1.4.1.43.10.9.5.1.6.1.5.1)P
DU的报文,Agent收到后重复①~⑤的过程,若验证通过则向网管站发出包括GetResponse(1.3.6.1.4.1.43.10.9.5.1.6.1.6.1=“0001e66749c3”)PDU的报文;
7重复⑥直到该MAC地址表中的项被取完为止,最后由网管站将结果送往AddressTracker应用程序进行显示。
第5章结论
基于SNMP协议的通用网络管理平台SunNetManager,为所有应用软件和网络设备提供同样的界面,简化了管理信息的比较和分析,可有效进行故障诊断和网络性能优化。
致谢
在开发设计的过程中,指导老师本着认真负责的态度、以严谨求真的作风来要求我们每一位学生,从选题到研发到实现,指导老师给予了我正确的指导和极大的帮助,使得我在设计当中少走了很多弯路,在顺利完成毕业设计的同时更让我学到了许多知识,对原有的理论知识能够很好的与实际结合起来运用,也大大的提高了我的动手的能力。
这使得我对以后的工作充满了信心。
在此我由衷的向我的负责人及指导老师史君华老师再次的说一声谢谢!
并要向那些给予我极大帮助和支持的同学和老师表示感谢。
参考文献
[1]刘益林,刘浩.网络管理协议CMIP及SNMP的集成化策略[J].山东建筑工程学院学报,2011.04
[2]杨永亭,邢国光,黄咏梅.网络管理协议SNMP和CMIP管理体系结构比较[J].计算机工程,2011.1
[3]韩春利,邢传鼎.SNMP与异构网络的互连[J].信息系统工程,2012.2
[4]胡维国,张红梅,胡钟岳.基于SNMP的MIB库访问分析与研究[J].交与计算机,2011.2
[5]岑贤道,安常青网络管理协议及应用开发[M].北京:
清华大学出版社,1998.
[6]SeanHarnedy,胡谷雨等,译.简单网络管理协议教程(第2版)[M].北京:
电子工业出版社,1999.
[7]蔡皖东.SNMP网络管理机制及其实现[J].微电子学与计算机,1999,
(1):
1-3.
[8]冯兴利.徐墨.锁志海.基于模板引擎Smarty的信息管理系统设计[J].现代电子术,2012,18:
32-38
[9]陈建伟,莫静.浅析SNMP三个发展阶段的安全机制[J].现代电信科技,2012.12
[10]李斌.SNMPVersion2:
以不相容性为背景的开放性[J].管理科学文摘,2010.12
[11]刘益林,刘浩.网络管理协议CMIP及SNMP的集成化策略[J].山东建筑工程学院学报,2011.04
[12]WillianStallings.SNMPandSNMP2:
TheInfrastructureforNetworkManagement[M].IEEECommunicationsMagazine,2009
[13]RobinN.LearningPHP,MySQL,JavaScript,andCSS:
AStep-by-StepGuidetoCreatingDynamicWebsites[M].O'ReillyMedia,2012