SNMP梳理

138 阅读2分钟

简单网络管理协议SNMP(Simple Network Management Protocol),是一套网络管理协议,它是基于TCP/IP的一个应用层协议。

SNMP管理系统构成

一套完整的SNMP管理系统有三部分组成,分别是管理信息结构(Structure ofManagement Information,SMI)、管理信息库(MIB)及SNMP协议。

  • SMI定义了SNMP框架所用信息的组织和标识,为MIB定义管理对象及使用对象提供模板。
  • 管理信息库MIB定义了可以通过SNMP访问的管理对象的集合。它定义了被管理对象的一系列属性,如对象名称、对象访问权限、对象数据类型等。
  • SNMP协议是应用层协议,它定义了网络管理者如何对代理进程的MIB对象进行读写操作。

SNMP网络成员

一个SNMP管理的网络由下列三个关键角色组成:

  • 网络管理系统(NMS,Network-management systems)
  • 被管理的设备(managed device)
  • 代理(agent)

SNMP报文

SNMP规定了5种SNMP报文,用来管理进程和代理之间的交换。

  • get-request操作:从代理进程处提取一个或多个参数值。
  • get-next-request操作:从代理进程处提取紧跟当前参数值的下一个参数值。
  • set-request操作:设置代理进程的一个或多个参数值。
  • get-response操作:返回的一个或多个参数值。这个操作是由代理进程发出的,它是前面三种操作的响应操作。
  • trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生。 get-request(get)、get-next-request(get-next)和set-request(set)操作是由管理进程向代理进程发出的,get-response操作和trap操作是代理进程发给管理进程的。 图1描述了SNMP的这5种报文操作。 image.png

SNMP头部

SNMP头部有版本号、团体名和协议数据单元PDU组成。PDU取值为0~4的数字,分别对应5中SNMP报文。 1:get,1:get-next,2:get-response,3:set,4:trap

SNMP简单运行过程

NMS向被管理设备发送请求,被管理设备上的代理收到161端口接收的请求后,进行解密、版本号验证(是否一致)、团体名验证或用户验证,分析得到管理变量在MIB树中对应的节点,从相应的模块中得到管理变量的值,再形成响应报文,编码发送回网管站。网管站经过处理后进行显示。