SNMPv2
简单网络管理协议(Simple Network Management Protocol)版本 2 ( SNMPv2) [RFC 3416]是一个应用层协议,用于在管理服务器和代表管理服务器执行的代理之间传递网络 管理控制和信息报文。SNMP最常使用的是请求响应模式,其中SNMP管理服务器向 SNMP代理发送一个请求,代理接收到该请求后,执行某些动作,然后对该请求发送一个 回答。请求通常用于查询(检索)或修改(设置)与某被管设备关联的MIB对象值。 SNMP第二个常被使用的是代理向管理服务器发送的一种非请求报文,该报文称为陷阱报 文(trap message)。陷阱报文用于通知管理服务器,一个异常情况(例如一个链路接口启动或关闭)已经导致了 MIB对象值的改变。
SNMPv2定义的报文
一般称为协议数据单元 (PDU)
SNMP PDU格式
GetRequest/GetNextRequest/GetBulkRequest PDU
GetRequest、GetNextRequest 和 GetBulkRequest PDU 都是管理服务器向代理发送的, 以请求位于该代理所在的被管设备中的一个或多个MIB对象值。其值被请求的M1B 对象的对象标识符定义在该PDU的变量绑定部分。GetRequest、GetNextRequest和 GetBulkRequest的差异在于它们的数据请求粒度。GetRequest能够请求M1B值的任 意集合;多个GetNextRequest能用于顺序地读取MIB对象的列表或表格;GetBulkRequest 允许读取大块数据,能够避免因发送多个GetRequest或GetNextRequest 报文可能导致的额外开销。在所有这三种情况下,代理用包括该对象标识符和它们 相关值的Response PDU进行响应。
SetRequest PDU
管理服务器使用SetRequest PDU来设置位于被管设备中的一个或多个MIB对象的 值。代理用带有“rwError”差错状态的Response PDU进行应答,以证实该值的确 已被设置。
InformRequest PDU
管理服务器使用InformRequest PDU来通知另一个MIB信息管理服务器,后者对于 接收服务器是远程的。
Response PDU
Response PDU通常从被管设备发送给管理服务器,以响应来自该服务器的请求报 文,返回所请求的信息
陷阱报文
SNMPv2 PDU的最后一种类型是陷阱报文。陷阱报文是异步产生的,即它们不是为 了响应接收到的请求而产生的,而是为了响应管理服务器要求通知的事件而产生 的。RFC 3418定义了周知的陷阱类型,其中包括设备的冷启动或热启动、链路就 绪或故障、找不到相邻设备,或鉴别失效事件。接收到的陷阱请求不要求从管理服 务器得到响应。