SNMP定义了GetRequest、GetNextRequest、SetRequest、GetResponse、Trap、InformRe-quest和GetBulkRequest共7种操作,可归纳为以下4类。
1)Get:管理者查询MIB中标量对象的值。
2)Set:管理者设置MIB中标量对象的值。
3)Trap:代理向管理站报告管理对象的状态变化。
4)Inform:管理者之间的通信。
SNMP不支持管理站改变管理信息库的结构,管理站只能逐个访问管理信息库中的叶结点,不能一次性访问一个子树,例如,不能访问整个表的内容,这虽然简化了SNMP的实现,但也限制了网络管理功能的实现。
1.GetRequest操作
GetRequest操作主要用于查询简单变量。变量绑定表可以同时包含多个需要查询的变量,代理以请求标识相同的GetResponse操作进行响应。
例如,如果要检索UDP功能组的部分对象,管理者发送的GetRequestPDU格式如图7-21所示。请求标识赋予每个请求报文唯一的整数,用于区分不同的请求。中间的两个为0的字段是为了遵守统一的PDU格式。后面的两个字段是变量绑定表。变量的表示方法为x.y,x是管理对象的对象标识符,y是能唯一确定对象类型值的一组数字。y在非表型变量中为0,在表型变量中是这个表的索引,如接口表中的接口号、路由表中的目的网络地址等。
图7-21 GetRequestPDU例子
2.GetResponse操作
代理对管理者的请求都使用GetRequest PDU来响应。代理的GetResponse PDU格式如图7-22所示。
图7-22 GetResponse PDU例子
请求标识与请求报文配对。错误状态表示代理在处理管理者的请求时可能出现的各种错误,共有6种错误状态,noError(1)、tooBig(1)、noSuchName(2)、badValue(3)、readOnly(4)、genError(5)。对不同的操作,这些错误的含义不同。错误索引在错误非0时指向出错的变量。(www.daowen.com)
3.GetNextRequest操作
GetNextRequest操作与GetRequest操作基本相同,报文的格式完全相同,唯一的区别就是GetRequest查询的变量名所指的是对象实例,而GetNextRequest检索变量名所指的是下一个对象实例。根据对象标识树的词典顺序,对于标量对象,对象标识符所指的下一实例就是对象的值。GetNextRequest操作应用于以下场合:查询简单变量;查询未知对象;查询和检索表格。
4.SetRequest操作
SetRequest操作主要应用于表的更新和删除。使用SetRequest命令时必须在变量绑定表中包含设置的变量名和变量值。
例如,如果要改变ipRouteMetric表中192.168.1.65的值,操作如下:
代理端的响应如下:
5.GetBulkRequest操作
GetBulkRequest是SNMP V2中新增加的操作,这个PDU的目的是尽量减少查询大量管理信息时所进行的操作次数。
6.Trap操作
陷阱是由代理发给管理站的非确认性消息,代理可以在任何时候向网络管理工作站发送错误报告,例如,接口状态改变、阈值越界程度等。
7.Inform操作
Inform通信机制是分布式网络管理所需要的重要功能,用于管理者之间传送消息。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。