SNMP协议及编程实现_第1页
SNMP协议及编程实现_第2页
SNMP协议及编程实现_第3页
SNMP协议及编程实现_第4页
SNMP协议及编程实现_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SNMP协议及编程实现

讲座

主讲人:王华鑫2007年02月12日SNMP协议及编程实现共10页,您现在浏览的是第1页!SNMP:SimpleNetworkManagementProtocol简单网络管理协议,1990年V1,1993年的V2是目前TCP/IP网络中应用最为广泛的网络管理协议。特点:

SNMP易于实现开放的免费产品严格标准化,详细的文档资料SNMP协议可用于控制各种设备,可接入网络且需

要控制的设备SNMP协议及编程实现共10页,您现在浏览的是第2页!基于TCP/IP的网络管理的四个组成部分(1)

管理信息库(MIB),包含代理进程可能被查询或修改的所有参数,即被管理对象的参数。(2)

管理信息结构(SMI),管理信息是一个被管理对象的集合,SMI定义了一个设备维护的规则集,用于对被管理对象进行命名和编码。(3)

SNMP协议,管理进程和代理进程之间的通信协议。SNMP是应用层协议,其下层协议一般为UDP,管理进程端口号为162,代理进程端口号为161。(4)

安全机制,在SNMPv1中安全机制很简单,v2和v3在安全机制上作了一些改善。SNMP协议及编程实现共10页,您现在浏览的是第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与trap的方向是代理向网管主机发送。SNMP管理信息库MIBSNMP协议及编程实现共10页,您现在浏览的是第4页!WinSNMP实现步骤(一):a.启动WinSNMP,调用SnmpStartup()函数;

b.创建会话,调用SnmpOpen()函数;

c.设置重传模式,调用SnmpSetRetransmitMode()函数;

d.创建共同体名,调用SnmpStrToContext()函数;

e.分别创建管理者实体和代理实体,调用SnmpStrToEntity()函数;

f.分别设置管理者实体和代理实体的重传次数,调用SnmpSetRetry()函数;

g.分别设置管理者实体和代理实体的超时时间,调用SnmpSetTimeout()函数;

h.创建读取对象的OID,调用SnmpStrToOid()函数;

i.创建变量绑定表,调用SnmpCreateVbl()函数;

j.指定协议数据单元的内容,并生成协议数据单元,调用SnmpCreatePdu()函数;

k.发送请求报文,调用SnmpSendMsg()函数;

l.释放暂时不用资源,调用SnmpFree()函数。SNMP协议及编程实现共10页,您现在浏览的是第5页!重点1.动态链接库winsnmp32.dll2.库文件wsnmp32.lib3.头文件winsnmp.h4.自定义消息WM_SNMPMESSAGE_GET5.接收代理回送数据的消息处理函数OnSnmpReceive()以上所有功能已经集成在JSSnmp.h和JSSnmp.cpp中,1.boolStart(HWNDhWnd,UINTwMsg);—启动Snmp,指定消息回送的目标窗口句柄2.boolSend(LPCSTRstrDstIP,smiINTnActionType,constchar*pCommunity,_CStringArray*pOidArray,smiLPVALUEpValueArray);—发送SNMP命令,读取指

定的OID变量值3.boolReceive(CStringArray*pOidArray,CStringArray*pValueArray);—接收代理回送的变量值4.boolRegister(HWNDhWnd);—注册SNMPTrap服务,指定SNMP控制台的窗口句柄SNMP协议及编程实现共10页,您现在浏览的是第6页!管理代理(agent)是一种特殊的软件(或固件),它包含了关于一个特殊设备和/或该设备所处环境的信息。当一个代理被安装到一个设备上时,上述的设备就被列为“被管理的”。换句话说,代理就是一个数据库。代理—被管理设备网络管理工作站可以从代理中获得关于设备的信息。

网络管理工作站可以修改、增加或者删除代理中的表项,例如在由代理所维护的数据库中的路由选择表表项。

网络管理工作站可以为一个特定的自陷设置阈值。

代理可以向网络管理工作站发送自陷。SNMP协议及编程实现共10页,您现在浏览的是第7页!Snmp在Windows下的实现—WinSNMP在Windows中采用Winsock接口,在161,162端口通过UDP传送信息。Windows2000及以上版本支持WinSNMPAPI,提供在Windows下开发基于SNMP的网络管程序提供解决方案。网络管理站(NMS)和网络管理代理(Agent)之间端到端的SNMP连接。WinSNMP以函数的形式封装了SNMP协议的各部分,且针对SNMP是使用UDP的特点而设置了消息重传、超时机制等。SNMP协议及编程实现共10页,您现在浏览的是第8页!WinSNMP实现步骤(二):a.接收数据报文,调用SnmpRecvMsg()函数;

b.提取协议数据单元内的数据,调用SnmpGetPduData()函数;

c.取得变量绑定表中变量绑定的数量,调用SnmpCountVbl()函数;d.记录变量绑定表中每个变量绑定的标识OID及其值Value,调用SnmpGetVbl()函数;

e.对各绑定表中的值Value,按Value值的语法类型,用Case语句转换成字符

串形式的Value值;

f.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论