码迷,mamicode.com
首页 > 其他好文 > 详细

网络协议之SNMP(一)

时间:2018-06-05 22:15:07      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:SNMP

之前刚到公司的时候学习了一些基础的网络协议。最近测试存储平台产品的时候,又遇到一个特性就是存储平台这边与第三方网管平台的SNMP连接功能,存储集群收集告警信息,一方面可以通过集群这边自己的邮件告警到对应的管理员邮箱,另外一个方面就是通过SNMP协议来trap告警信息到网管管理平台或者相应网管管理平台的get请求(这里的网管平台有h3c的imc,cas和之前介绍的splunk工具)。所以感觉得系统的再学习一遍SNMP协议了。

1、协议简介
网络设备的增加,管理员需要一个好的管理办法。这样就应运而生了SNMP(simple network management protocol)。
SNMP协议架构里面包含3个部分:NMS,Agent,MIB
NMS:NMS是网络中的管理者,是一个利用SNMP协议对网络设备进行管理和监视的系统。NMS既可以指一台专门用来进行网络管理的服务器,也可以指某个设备中执行管理功能的一个应用程序。NMS可以向Agent发出请求,查询或修改一个或多个具体的参数值。同时,NMS可以接收Agent主动发送的Trap信息,以获知被管理设备当前的状态。
Agent:Agent是网络设备中的一个应用模块,用于维护被管理设备的信息数据并响应NMS的请求,把管理数据汇报给发送请求的NMS。Agent接收到NMS的请求信息后,完成查询或修改操作,并把操作结果发送给NMS,完成响应。同时,当设备发生故障或者其他事件的时候,Agent会主动发送Trap信息给NMS,通知设备当前的状态变化。
MIB(Management Infomation Base):任何一个被管理的资源都表示成一个对象,称为被管理的对象。MIB是被管理对象的集合。它定义了被管理对象的一系列属性:对象的名称、对象的访问权限和对象的数据类型等。每个Agent都有自己的MIB。MIB也可以看作是NMS和Agent之间的一个接口,通过这个接口,NMS可以对Agent中的每一个被管理对象进行读/写操作,从而达到管理和监控设备的目的。谈到MIB就还要讲讲oid,MIB是以树状结构进行存储的。树的节点表示被管理对象,它可以用从根开始的一条路径唯一地识别,这条路径就称为OID。

2、版本简介
SNMP常见的就3个版本v1,v2c,v3

版本 简介
SNMPv1 SNMPv1是SNMP协议的最初版本,提供最小限度的网络管理功能。SNMPv1的SMI和MIB都比较简单,且存在较多安全缺陷。SNMPv1采用团体名认证。团体名的作用类似于密码,用来限制NMS对Agent的访问。如果SNMP报文携带的团体名没有得到NMS/Agent的认可,该报文将被丢弃。
SNMPv2c SNMPv2c也采用团体名认证。在兼容SNMPv1的同时又扩充了SNMPv1的功能:它提供了更多的操作类型(GetBulk操作等);支持更多的数据类型(Counter32等);提供了更丰富的错误代码,能够更细致地区分错误。
SNMPv3 SNMPv3主要在安全性方面进行了增强,它采用了USM和VACM技术。USM提供了认证和加密功能,VACM确定用户是否允许访问特定的MIB对象以及访问方式。

3、其他
SNMP协议一般是依靠UDP传输,可靠性一般。
支持以下几种操作:
Get操作:NMS使用该操作从Agent获取一个或多个参数值。
GetNext操作:NMS使用该操作从Agent获取一个或多个参数的下一个参数值。
Set操作:NMS使用该操作设置Agent一个或多个参数值。
Response操作:Agent返回一个或多个参数值。该操作是前面三种操作的响应。
Trap操作:Agent主动发出的操作,通知NMS有某些事情发生。
inform操作:可以看作是需要NMS确认的trap信息
因为网络环境中各个厂商的设备都有,所以要有统一的mib库,这样才能正确对接,mib是是一种资源是需要申请的,去IANA,主要是申请确认SMI Network Management Private Enterprise Codes,不同的企业有不同的码。可以去如下网址查看分配情况。
https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers
技术分享图片

3、最新应用
SNMPv3也是存在很久了,在那之后,有RMON和Event mib这两个依托于SNMP的新网络协议技术,有兴趣的童鞋可以了解一下。
我的了解就是RMON使用后,我们可以监控管理设备的一些参数状态值,如果超过阈值则会产生告警;而Event mib则是在RMON的基础上如果触发了有些阈值,那么可以执行我们预配置的一些操作,而不是单单产生告警。

网络协议之SNMP(一)

标签:SNMP

原文地址:http://blog.51cto.com/12374206/2125272

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!