Snmp代理项目

摘要:最近几个月是在写这几个协议的相关代码,主要的任务就是做出来一个代理,这个代理能够通过Snmp来实现对 应用snmp协议,串口协议,UDP,TCP/IP协议的设备进行数据的获取及监控,换句话说就是把其他协议封装为Snmp协议,利用Snmp对不同设备进行监控。
(注:我做的是相关设备的数据获取,即是设备监控类的监控应用,下面写的也是按这方面的,与其他方面有冲突或者有错误的地方请多见谅,也请大神多多指点,感谢。)


主线:
1.简单介绍Snmp(函数的实现过程、结构)
2.介绍用串口协议通过Snmp实现数据获取
(串口协议,oid,数据实现的流程)
3.trap的发送(Trap包数据的组成,udp协议,数据的发送)
4.其他协议(把类似协议进行包装)
5.TCP/IP协议(客户端的建立,发送命令数据,对传回来的数据分析,数据传给Snmp服务)


一.首先需要了解什么是Snmp
1. 什么是Snmp
主要就是一下几点:
SNMP是英文”Simple Network Management Protocol”的缩写,中文意思是”简单网络管理协议”。SNMP是一种简单网络管理协议,它属于TCP/IP五层协议中的应用层协议,用于网络管理的协议。SNMP主要用于网络设备的管理。由于SNMP协议简单可靠 ,受到了众多厂商的欢迎,成为了目前最为广泛的网管协议。
  SNMP协议主要由两大部分构成:SNMP管理站和SNMP代理。SNMP管理站是一个中心节点,负责收集维护各个SNMP元素的信息,并对这些信息进行处理,最后反馈给网络管理员;而SNMP代理是运行在各个被管理的网络节点之上,负责统计该节点的各项信息,并且负责与SNMP管理站交互,接收并执行管理站的命令,上传各种本地的网络信息。
  SNMP管理站和SNMP代理之间是松散耦合。他们之间的通信是通过UDP协议完成的。一般情况下,SNMP管理站通过UDP协议向SNMP代理发送各种命令,当SNMP代理收到命令后,返回SNMP管理站需要的参数。但是当SNMP代理检测到网络元素异常的时候,也可以主动向SNMP管理站发送消息,通告当前异常状况。
  SNMP的基本思想:为不同种类的设备、不同厂家生产的设备、不同型号的设备,定义为一个统一的接口和协议,使得管理员可以是使用统一的外观面对这些需要管理的网络设备进行管理。通过网络,管理员可以管理位于不同物理空间的设备,从而大大提高网络管理的效率,简化网络管理员的工作。
  SNMP的工作方式:管理员需要向设备获取数据,所以SNMP提供了【读】操作;管理员需要向设备执行设置操作,所以SNMP提供了【写】操作;设备需要在重要状况改变的时候,向管理员通报事件的发生,所以SNMP提供了【Trap】操作。
  这里写图片描述这里写图片描述
  2.snmp的功能有几个方面:
  (1)Get
  (2)GetNext
  (3)Set
  (4)Trap
  简单介绍一下这几个主要函数的作用:
  Get:获取当前对应OID设备的某个或某些信息
  GetNext:获取当前OID的下一个设备的某个或某些信息
  Set:对某个或某些信息的更改
  Trap:若是有些设备需要报警功能就可能用到这个函数,例如:火警报警器等(或许它不是串口类型的,只是打个比方),若是获取的数据由false变为true就向设定好的目标ID发送Trap包,目标ID再进行解析得到数据再继续下一步。
  3.Snmp是Windows系统的一个服务(SNMP Service)
  运用Snmp需要添加这个服务,对这个服务进行一些设置后才能正确使用。之所以选它作为一个代理去做,就是因为它有Get,GetNext,Set,Trap功能,并能可以把其他协议封装为这里面的函数即是可以通过这四个函数实现 对不适应Snmp协议的设备(适应其他协议)进行数据获取
二、应用串口协议通过Snmp实现数据获取
1.串口协议
主要作用就是用于获取远程采集设备的数据。
获取过程简单描述:
第一步打开串口,并对串口初始化设置(例如:波特率,校验位,数据位,停止位)
第二步发送查询命令,串口接收并能识别该命令后返回相关数据
第三步接收到数据,处理数据
2.OID

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值