网络管理讲义WinSnmp应用简介.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《网络管理讲义WinSnmp应用简介.ppt》由会员分享,可在线阅读,更多相关《网络管理讲义WinSnmp应用简介.ppt(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、WinSnmp简介主要内容WinSnmp概念和结构WinSnmp的几个重要概念WinSnmp常用函数介绍WinSnmpGetNext实现方法举例说明什么是WinSnmpWinSNMP的目的是为在Windows下开发基于SNMP的网络管程序提供解决方案。它为SNMP网管开发者提供了必须遵循的开放式单一接口规范,它定义了过程调用、数据类型、数据结构和相关的语法。总的来说,WinSNMP以函数的形式封装了SNMP协议的各部分(在VC+6.0开发环境中体现为wsnmp32.dll、wsnmp32.lib和winsnmp.h),且针对SNMP是使用UDP的特点而设置了消息重传、超时机制等。WinSnmp
2、体系结构WinSnmp几个重要的概念在此我们主要介绍在VC6.0下Snmp的管理站程序设计WinSnmp几个重要的概念Community(共同体名):我们可以将此名称理解为带有权限的登陆名称。一般权限分为只读权限(默认为public)和读写权限(默认为private)。Oid(对象标识符):是以SMI(StructureofManagementInformation)管理信息结构为基础的一系列点分符号,如,这些点分符号在任何网络设备中都唯一标识某一个数据参数。他们的集合就是MIB(ManagementInformationBase)管理信息库。WinSnmp几个重要的概念SNMP支持层次:Wi
3、nSNMP支持四个层次的SNMP操作:Level0=只有消息编码/解码Level1=Level0+与SNMPv1代理的通信Level2=Level1+与SNMPv2代理的通信Level3=Level2+与其它SNMPv2管理站的通信因为SNMP协议支持SNMPv1与SNMPv2的共存,所以WinSNMP实现能提供对两个版本协议的支持。SnmpStartup函数能返回当前WinSNMP实现所能提供的最大支持层次。WinSnmp几个重要的概念三种Entity/Context转换模式如下:SNMPAPI_TRANSLATED=通过本地数据库查询转换SNMPAPI_UNTRANSLATED_V1=转换
4、为IP地址和共同体(community)字符串SNMPAPI_UNTRANSLATED_V2=SNMPv2的party和contextIDs.我们可以通过SnmpStartup函数获得当前默认的entity/context转换模式,SnmpSetTranslatedMode函数可以用来设置entity/context转换模式。WinSnmp几个重要的概念本地数据库(LocalDatabase)本地数据库主要存储重传模式(RetransmitMode)、重试次数(Retry)、超时(timeout)、转换模式(TranslateMode)等值。我们可以对其中的数据进行读(get)、写(set)操
5、作。WinSnmp几个重要的概念会话(session)会话是用来管理WinSNMP应用程序和WinSNMP实现之间的连接,由SnmpCreateSession(推荐)或SnmpOpen函数创建。会话是资源管理的最小单位,也是WinSNMP应用程序和WinSNMP实现之间通信管理的最小单位。一个好的WinSNMP应用程序应该使用会话结构逻辑地管理它的操作,并将实现中的资源需求控制在最小。调用SnmpCreateSession或SnmpOpen函数创建一个会话时,会返回一个“sessionid”,这是一个句柄(handle)变量,WinSNMP用它来管理自己的资源。应用程序最终应调用SnmpClo
6、se函数将会话释放。WinSnmp几个重要的概念异步模式:WinSNMPAPI中几乎所有函数都有异步成分,有些则是完全异步的。有三个非常重要的异步函数:SnmpSendMsg(发送数据)SnmpRecvMsg(接收数据)SnmpRegister(注册接受trap消息)WinSNMP的整个编程模式就是基于异步和消息驱动的。WinSnmp几个重要的概念内存管理(MemoryManagement)WinSNMP包括三种不同的内存“对象”:句柄式资源C风格(以NULL结尾)的字符串WinSNMPAPI结构类型五种句柄式资源:HSNMP_SESSION,HSNMP_ENTITYHSNMP_CONTEXT
7、,HSNMP_PDUHSNMP_VBLWinSnmp几个重要的概念C风格字符串(C-StytleStrings)C风格的字符串主要用来为通用的字符串表示与Entity和对象标识符(OID)对象之间的转换提供便利。WinSNMP中使用C风格字符串的函数有:SnmpStrToEntity、SnmpEntityToStr、SnmpStrToOid、SnmpOidToStr。C风格字符串的内存分配、管理和释放完全由应用程序负责。因此我们还需要传递“size”参数给使用它的函数。WinSnmp几个重要的概念二种数据结构typedefstructsmiUINT32len;/numberofarray/el
8、ementssmiLPUINT32ptr;/pointertoanarray/ofsubidentifierssmiOID,*smiLPOID;有两个类型,第一个用来指定他有多少个数字,第二个则指向一个一维数组,举个例子,如果一个对象标志符是,那么len应该为8,ptr应该指向一个数组,该数组的元素由1,3,6,1,2,1,1,1组成.WinSnmp几个重要的概念typedefstruct/smiV ALUEportionofVarBindsmiUINT32syntax;/InsertSNMP_SYNTAX_unionsmiINTsNumber;/SNMP_SYNTAX_INT/SNMP_SY
9、NTAX_INT32smiUINT32uNumber;/SNMP_SYNTAX_UINT32/SNMP_SYNTAX_CNTR32/SNMP_SYNTAX_GAUGE32/SNMP_SYNTAX_TIMETICKSsmiCNTR64hNumber;/SNMP_SYNTAX_CNTR64smiOCTETSstring;/SNMP_SYNTAX_OCTETS/SNMP_SYNTAX_BITS/SNMP_SYNTAX_OPAQUE/SNMP_SYNTAX_IPADDR/SNMP_SYNTAX_NSAPADDRsmiOIDoid;/SNMP_SYNTAX_OIDsmiBYTEempty;/SNMP_S
10、YNTAX_NULL/SNMP_SYNTAX_NOSUCHOBJECT/SNMP_SYNTAX_NOSUCHINSTANCE/SNMP_SYNTAX_ENDOFMIBVIEWvalue;/unionsmiV ALUE,*smiLPV ALUE;WinSnmp几个重要的概念 该结构有两个类型构成,一个是smiUINT32syntax;另一个看上去挺复杂,是一个共同体类型.当get的数据返回时syntax表明了返回数据的类型,而在共同体中的相应类型的变量中存储了我们所要求的值。WinSnmp几个重要的概念内存的释放WinSNMP应用程序必须负责释放所有通过调用WinSNMPAPI函数所分配的资源,
11、主要有以下三类函数:SnmpFree:释放Entity、Context、Pdu、Vbl、DescriptorSnmpClose:关闭会话SnmpCleanup:必须在程序结束之前调用,释放所有资源应用程序推荐使用上述的顺序来释放所有的WinSNMP资源。WinSnmp编程概要和其他编程过程一样,整个SNMP编程也是经过一个创建,执行,销毁的过程,初始化SNMP环境即加载SNMP的功能,接着就要执行所进行的操作,SNMP是基于消息机制的,所以消息传递与管理是我们在编程中所必须注意的问题,最后要进行销毁和回收资源,这一点我们必须注意,因为如果不销毁这些资源系统将不会自动回收这些资源,将会导致资源无
12、法释放而挂起。WinSnmp编程基本步骤初始化SNMP环境(设置传输模式,重传方案和延时)创建会话创建变量绑定表和PDU传输数据接收数据释放资源WinSnmp常用函数介绍 初始化SNMP,用到的函数是SnmpStartup(smiLPUINT32 nMajorVersion,smiLPUINT32 nMinorVersion,smiLPUINT32 nLevel,smiLPUINT32 nTranslateMode,smiLPUINT32 nRetransmitMode);五个参数作为接收参数返回SNMP的主版本号,副版本号,支持最高的操作标准,默认的实体/上下文传输模式,默认的重发机制。Wi
13、nSnmp常用函数介绍设置传输模式,用到的函数是SNMPAPI_STATUS SnmpSetTranslateMode(smiUINT32 nTranslateMode/new entity/context translation mode);该函数只有一个参数,有以下几种选择:SNMPAPI_TRANSLATED 不常用 SNMPAPI_UNTRANSLATED_V1 版本V1 SNMPAPI_UNTRANSLATED_V2 版本V2 你可以选择任一个参数,第二和第三个参数其区别是在版本一中get_bulk的操作不被允许,因为版本一不支持这种操作.WinSnmp常用函数介绍 设置重传模式,用
14、到的函数是SNMPAPI_STATUS SnmpSetRetransmitMode(smiUINT32 nRetransmitMode/new retransmission mode);该函数只有一个参数,有以下两种选择 SNMPAPI_ON 启动重传模式 SNMPAPI_OFF 关闭重传模式 WinSnmp常用函数介绍 设置重传次数,用到的函数是 SNMPAPI_STATUS SnmpSetRetry(SNMP_ENTITY hEntity,/destination management entity smiUINT32 nPolicyRetry/new retry count value
15、for database);该函数的第一个参数是代理或者管理站实体句炳,通常我们设置目标实体的重传次数,也就是接收消息的网络设备的实体。第二个参数是重传次数。WinSnmp常用函数介绍 设置超时时间,用到的函数是SNMPAPI_STATUS SnmpSetTimeout(HSNMP_ENTITY hEntity,/destination management entity smiTIMETICKS nPolicyTimeout/new time-out value for database);该函数的第一个参数是代理或者管理站的实体句炳,通常我们设置目标实体的超时时间,也就是接收消息的网络设备
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 管理 讲义 WinSnmp 应用 简介
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内