SNMP之PDU

来源:互联网 发布:知乎 西游记原著版本 编辑:程序博客网 时间:2024/06/06 02:53

NMP规定了5种协议数据单元PDU(也就是SNMP报文),用来在管理进程和代理之间的交换

get-request操作:从代理进程处提取一个或多个参数值(由网络管理系统发给代理的请求命令.请求一个MIB变量值)

get-next-request操作:从代理进程处提取紧跟当前参数值的下一个参数值(要求将下一个目标的MIB的值送回网络管理系统)

set-request操作:设置代理进程的一个或多个参数值(由网络管理系统发出.设置代理某一MIB变量的值)

get-response操作:返回的 一个或多个参数值。这个操作是由代理进程发出的,它是前面三种操作的响应操作(代理对收到请求的响应,将网络管理系统请求的数据发送回去)。

trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生(代理检测到一些异常状态时,向网络管理系统发送的一个非请求消息)。

 

前面的3种操作是由管理进程向代理进程发出的,后面的2个操作是代理进程发给管理进程的,为了简化起见,前面3个操作今后叫做get、get-next和set操作。图1描述了SNMP

的这5种报文操作。


 由上图所知,封装成UDP数据报的5种操作的SNMP报文格式。可见一个SNMP报文共有三个部分组成,即公共SNMP首部、get/set首部trap首部、变量绑定。

共同体community就是一个字符串,作为管理进程和代理进程之间的明文口令,常用的是6个字符“public”


请求标识符(request ID)

这是由管理进程设置的一个整数值。代理进程在发送get-response报文时也要返回此请求标识符。管理进程可同时向许多代理发出get报文,这些报文都使用UDP传送,先发送的有可能后到达。设置了请求标识符可使管理进程能够识别返回的响应报文对于哪一个请求报文

 

差错状态(error status)

 由代理进程回答时填入0~5中的一个数字,见上图。

 

时间戳(timestamp)

指明自代理进程初始化到trap报告的事件发生所经历的时间,单位为10ms。例如时间戳为1908表明在代理初始化后1908ms发生了该时间。

变量绑定(variable-bindings)

指明一个或多个变量的名和对应的值。在get或get-next报文中,变量的值应忽略。

 


原创粉丝点击