SNMP协议及编程实现

SNMP协议及编程实现

ID:40348914

大小:1.44 MB

页数:10页

时间:2019-07-31

SNMP协议及编程实现_第1页
SNMP协议及编程实现_第2页
SNMP协议及编程实现_第3页
SNMP协议及编程实现_第4页
SNMP协议及编程实现_第5页
资源描述:

《SNMP协议及编程实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、SNMP协议及编程实现讲座主讲人:王华鑫2007年02月12日SNMP:SimpleNetworkManagementProtocol简单网络管理协议,1990年V1,1993年的V2是目前TCP/IP网络中应用最为广泛的网络管理协议。特点:SNMP易于实现开放的免费产品严格标准化,详细的文档资料SNMP协议可用于控制各种设备,可接入网络且需要控制的设备基于TCP/IP的网络管理的四个组成部分(1)管理信息库(MIB),包含代理进程可能被查询或修改的所有参数,即被管理对象的参数。(2)管理信息结构(SMI),管理信息是一个被管理对象的集合,SMI定义了一个设备维护的规

2、则集,用于对被管理对象进行命名和编码。(3)SNMP协议,管理进程和代理进程之间的通信协议。SNMP是应用层协议,其下层协议一般为UDP,管理进程端口号为162,代理进程端口号为161。(4)安全机制,在SNMPv1中安全机制很简单,v2和v3在安全机制上作了一些改善。管理代理(agent)是一种特殊的软件(或固件),它包含了关于一个特殊设备和/或该设备所处环境的信息。当一个代理被安装到一个设备上时,上述的设备就被列为“被管理的”。换句话说,代理就是一个数据库。代理—被管理设备网络管理工作站可以从代理中获得关于设备的信息。网络管理工作站可以修改、增加或者删除代理中的表

3、项,例如在由代理所维护的数据库中的路由选择表表项。网络管理工作站可以为一个特定的自陷设置阈值。代理可以向网络管理工作站发送自陷。MIB指明了网络元素所维持的变量(即能够被管理进程查询和设置的信息)。MIB给出了一个网络中所有可能的被管理对象的集合的树型数据结构。MIB节点定义形式:1.3.6.1.4.1.19554.x1.x2……其中19554是JiaSin的企业标记,x1.x2...是设备的某状态或属性。PDU类型:get-request,get-next-request,get-response,set-request,trap。其中get-response与tr

4、ap的方向是代理向网管主机发送。SNMP管理信息库MIBSnmp在Windows下的实现—WinSNMP在Windows中采用Winsock接口,在161,162端口通过UDP传送信息。Windows2000及以上版本支持WinSNMPAPI,提供在Windows下开发基于SNMP的网络管程序提供解决方案。网络管理站(NMS)和网络管理代理(Agent)之间端到端的SNMP连接。WinSNMP以函数的形式封装了SNMP协议的各部分,且针对SNMP是使用UDP的特点而设置了消息重传、超时机制等。WinSNMP实现步骤(一):a.启动WinSNMP,调用SnmpStart

5、up()函数;b.创建会话,调用SnmpOpen()函数;c.设置重传模式,调用SnmpSetRetransmitMode()函数;d.创建共同体名,调用SnmpStrToContext()函数;e.分别创建管理者实体和代理实体,调用SnmpStrToEntity()函数;f.分别设置管理者实体和代理实体的重传次数,调用SnmpSetRetry()函数;g.分别设置管理者实体和代理实体的超时时间,调用SnmpSetTimeout()函数;h.创建读取对象的OID,调用SnmpStrToOid()函数;i.创建变量绑定表,调用SnmpCreateVbl()函数;j.指定

6、协议数据单元的内容,并生成协议数据单元,调用SnmpCreatePdu()函数;k.发送请求报文,调用SnmpSendMsg()函数;l.释放暂时不用资源,调用SnmpFree()函数。WinSNMP实现步骤(二):a.接收数据报文,调用SnmpRecvMsg()函数;b.提取协议数据单元内的数据,调用SnmpGetPduData()函数;c.取得变量绑定表中变量绑定的数量,调用SnmpCountVbl()函数;d.记录变量绑定表中每个变量绑定的标识OID及其值Value,调用SnmpGetVbl()函数;e.对各绑定表中的值Value,按Value值的语法类型,用C

7、ase语句转换成字符串形式的Value值;f.将各变量绑定中的标识OID转换成字符串,调用SnmpOidToStr()函数;g.存储字符串形式的OID标识及Value值到相应的数据表格中。重点1.动态链接库winsnmp32.dll2.库文件wsnmp32.lib3.头文件winsnmp.h4.自定义消息WM_SNMPMESSAGE_GET5.接收代理回送数据的消息处理函数OnSnmpReceive()以上所有功能已经集成在JSSnmp.h和JSSnmp.cpp中,1.boolStart(HWNDhWnd,UINTwMsg);—启动Snmp,指定消息

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。