- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅议基于SNMP网络管理系统设计和实现
浅议基于SNMP网络管理系统设计和实现 【摘要】随着现代网络的规模不断扩大,复杂性不断增加,网络的异构性越来越高,网络管理的重要性与日俱增。特别在我国,迫切需要对中小网络提供有效的管理。本文就具体分析研究了基于SNMP网络管理系统的设计与实现。
【关键词】SNMP;网络管理;设计与实现
中图分类号:TN711 文献标识码:A 文章编号:
引言
目前,网络界应用最多的是简单网络管理协议(Simple Network Management Protocol,SNMP,),它已经成为事实上的工业标准,它代表了标准化的网管协议,并在很大范围内得到应用。但目前SNMP的管理范围仅限于对网络硬件设备的管理,如路由器、集线器等,对于网络上运行的应用程序的管理涉及很少,只有Oracle等几个大公司对其数据库产品有SNMP管理。可以这么说,与网络硬件设备管理相比,网络应用软件的管理还处于一种混乱的状态。随着网络技术的发展,作为网络的一个重要组成部分的软件,越来越需要有统一有效的管理。
1SNMP概述
1.1SNMP的特点
简单网络管理协议SNMP作为网管协议,它提供了监控网络和管理网络的一整套系统的方法。它有以下特点:
(1)简单性:顾名思义,SNMP相对以前的管理协议简单,容易实现且成本低(尽管实际上SNMP并不是太简单)。
(2)可伸缩性:SNMP可管理绝大部分符合Internet标准的设备。
(3)扩展性:通过定义新的“被管理对象”即MIB,可以非常方便地扩展管理能力。
(4)健壮性:即使在被管理设备发生严重错误时,也不会影响管理者的正常工作。
1.2SNMP的体系结构介绍
SNMP的体系结构包括了网络管理协议体系结构和基本的网络管理结构。
(1)网络管理协议体系结构
Internet网络管理协议规范是基于模块化的体系结构,它不仅仅是传输数据的协议,它由如下四个方面的定义构成:数据定义语言、管理信息定义(MIB)、协议操作定义和安全管理。
(2)基本的网络管理结构
基于Internet的SNMP网络管理中包含四个基本组成部分,如图1所示。
图1 SNMP参考模型
(1)若干个被管理节点,每个节点都有一个SNMP实体,其负责维护本地MIB中的管理信息,并提供对管理信息的远程访问,通常称其为代理。
(2)至少一个带有管理应用程序的SNMP实体,通常称其为管理站。
(3)管理协议,用于在SNMP实体间传输信息。
(4)管理信息。
2 使用SNMP++软件包
2.1 认识SNMP++
SNMP++是由HP公司开发的一套用于SNMP编程的类库,由于使用C++语言编写,因此充分利用了面向对象的编程技术。SNMP编程涉及的所有数据结构,全部被封装在相应的类中,所有的底层操作细节,对使用者来说是完全透明的,从而简化了SNMP网络管理软件开发的复杂性,也缩短了系统开发周期。
2.2 SNMP++软件包中的主要类介绍
(1)数据类型类
Oid类是对SMI中对象标识符OID(Object Identifier)类型的封装。定义该类的目的是为了使操作OlD更加简洁、快速。它和MFC中的Cstring类有很多相似之处。通过该类的成员函数get_printable0可以从一个Oid对象中获取对象标识符字符串。
IpAddress类实现了对普通的IP地址的封装,UdpAddress类则将一个IP地址与一个UDP端口号绑定在一起使用。
(2)Vb(VariableBinding)类
SNMP中的变量绑定是一个对象标识符和一个ASN.1值组成的序列,SNMP++中使用Vb类封装了这种数据结构。Vb类中使用了一个Oid对象存储一个对象标识符,一个指向Snmp Syntax类型的指针绑定一个ASN.1值,以及对这两个数据进行操作的一组方法。例如可以通过调用Vb类的成员函数set—oid()和set_value()来分别设置这两个值,也可以通过调用get_oid0币nget_value0来分别得到它们的值。
(3)Pdu(Protocol Data Unit)类
SNMP++使用Pdu类封装了SNMP报文中的PDU结构。TrapPDU的结构不同于其他PDU结构,Pdu类中有存储这些信息的成员变量,包括一个requestid号、错误状态和错误检索、变量绑定部分和TrapPDU包含的信息。其中变量绑定部分是用一个指向Vb类型的指针数组进行保存,一个Pdu对象最多可以包含50个Vb对象,当然包含Vb对象的个数看具体的请求数据的大小而设定。
2.3 使用SNMP++的注意事项
文档评论(0)