SNMP简单管理协议(二)

操作类型

Get

Get操作可以从Agent中提取一个或多个参数值

-

GetNext

GetNext操作可以从Agent中按照字典序提取下一个参数值。

-

Set

Set操作可以设置Agent的一个或多个参数值。

-

Response

Response操作可以返回一个或多个参数值。这个操作是由Agent发出的,它是GetRequest、GetNextRequest、SetRequest和GetBulkRequest四种操作的响应操作。Agent接收到来自NMS的Get/Set指令后,通过MIB完成相应的查询/修改操作,然后利用Response操作将信息回应给NMS。

-

Trap

Trap信息是Agent主动向NMS发出的信息,告知管理进程设备端出现的情况。

-

GetBulk

GetBulk操作实现了NMS对被管理设备的信息群查询。

SNMPv1版本不支持GetBulk操作

Inform

InformRequest也是被管理设备向NMS主动发送告警。与Trap告警不同的是,被管理设备发送Inform告警后,需要NMS回复InformResponse来进行确认,Trap则不需要回复。

SNMPv1版本不支持Inform操作

版本

SNMP有V1,V2,V3三个版本

V1

作为SNMP最初版本,其能完成最小限度网络管理,采用团体名进行认证,其MIB和SMI都比较简单,但其安全性欠佳,功能相对较少

改版本下仅有Get,GetNext,Set的请求报文,一个Respond报文和Trap报文这5类报文

此版本下trap报文格式与get报文格式相同

V2

版本V2在保留V1的基础上对其进行扩展,同样采用团体名进行认证,提供更多的操作类型GetBulk和Inform以及更加完善差错状态码

对于GetBulk通过对Non repeaters和Max repetitions参数的设定,可以实现Agent批量高效查询对象数据

trap报文修改格式,即

此版本对功能性进行增强和拓展但安全性依旧欠佳

V3

增强安全性,采用USM和VACM技术进行安全防护

其中USM用于认证和加密,VACM用于鉴定用户是否具有权限对MIB的数据进行修改或访问

USM(基于用户的安全模型)

USM引入了用户名和组的概念,可以设置认证和加密功能。对NMS和Agent之间传输的报文进行加密,以免被窃听。

VACM(基于视图的访问控制模型)

VACM技术定义了组、安全等级、上下文、MIB视图、访问策略五个元素,这些元素同时决定用户是否具有访问的权限,只有具有了访问权限的用户才能管理操作对象。在同一个SNMP实体上可以定义不同的组,组与MIB视图绑定,组内又可以定义多个用户。当使用某个用户名进行访问的时候,只能访问对应的MIB视图定义的对象。

上图是SNMPV3的消息格式,整个消息格式可以使用认证,后面的engineID,Name,PSU三个数据将进行加密处理

resquest-id:请求报文序列号

maxsize:最大传输单元

flags:消息标识位,1B,包含

        reportableFlag:如果设置为1,那么在满足产生Report的条件时,就会返回一个Report给发送方,Request(GET、SET)或者Inform,reportableFlag设置为1,Response、Trap、Report中需要设置为0

         privFlag:为1表示PDU是加密的

        authFlag:为1表示PDU是认证的

security model:安全模型,0-3,0表示任意,1,2,3分别表示v1,v2,v3
security parameters:安全参数包含认证引擎ID、认证引擎启动次数、认证引擎时间、用户名、认证参数和加密参数等

context engineID:用于唯一标识SNMP实体,12B

context name:唯一识别特定内容,与上述engineID进行配合以便代理进程能够识别请求的来源和目的

工作流程

代理端发送request报文,对应的被管理端收到回复respond

Agent通过UDP端口161接收来自NMS的Request报文。

Agent通过UDP162端口向管理器发送trap或inform报文报告异常和告警。

Agent接收到报文后,其基本处理过程如下:

  1. 解码:依据ASN.1基本编码规则,生成用内部数据结构表示的报文。如果此过程出现错误导致解码失败,则丢弃该报文,不做进一步处理。

  2. 比较SNMP版本号:将报文中的版本号取出,与本Agent支持的SNMP版本号比较。如果不一致,则丢弃该报文,不做进一步处理。

  3. 团体名验证:将报文中的团体名取出,此团体名由发出请求的网管站填写。如与Agent所在设备认可的团体名不符,则丢弃该报文,不做进一步处理,同时产生一个Trap报文。

  4. 提取PDU:从通过验证的ASN.1对象中提出协议数据单元PDU。如果失败,丢弃报文,不做进一步处理。

  5. 处理PDU:根据不同的PDU,SNMP协议实体进行不同的处理。得到管理变量在MIB树中对应的节点,从相应的模块中得到管理变量的值,形成Response报文,编码发回网管站。

  6. 网管站得到响应报文后,经过同样的处理,最终显示结果。

总结

特性列表

SNMPv1

SNMPv2c

SNMPv3

访问控制

基于团体名进行访问控制

基于团体名进行访问控制

基于用户和用户组进行访问控制

认证加密

不支持

不支持

支持认证和加密

错误码

支持5种错误码

支持16个错误码

支持16个错误码

Trap告警

支持

支持

支持

Inform告警

不支持

支持

支持

GetBulk

不支持

支持

支持

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值