Email This Page

SNMPv2: Simple Network Management Protocol version 2

SNMP is the protocol developed to manage nodes (servers, workstations, routers, switches and hubs etc.) on an IP network. Currently, there are three versions of SNMP defined: SNMP v1 , SNMP v2 and SNMP v3 . SNMP is an application protocol, which is encapsulated in UDP . The general SNMP information can be found in the SNMP document . In this document, we focus on SNMPv2. 

SNMP version 2 (SNMPv2) is an evolution of the SNMPv1. The Get, GetNext, and Set operations used in SNMPv1 are exactly the same as those used in SNMPv2. However, SNMPv2 adds and enhances some protocol operations. The SNMPv2 Trap operation, for example, serves the same function as that used in SNMPv1, but it uses a different message format and is designed to replace the SNMPv1 Trap.

SNMPv2 also defines two new operations: GetBulk and Inform. The GetBulk operation is used to efficiently retrieve large blocks of data. The Inform operation allows one NMS to send trap information to another NMS and to then receive a response. In SNMPv2, if the agent responding to GetBulk operations cannot provide values for all the variables in a list, it provides partial results.


Protocol Structure - SNMPv2 Simple Network Management Protocol version 2

The general format for all SNMP versions are similar except the format of PDU (Protocol Data Unit). The format of the PDU for SNMPv2 is displayed as follows:

For SNMPv2, Get, GetNext, Inform, Response, Set, and Trap PDUs have the following format:



PDU type Request ID Error status Error index Object 1, value 1 Object 2, value 2 ...
  • PDU type- Identifies the type of PDU transmitted (Get, GetNext, Inform, Response, Set, or Trap).
  • Request ID- Associates SNMP requests with responses.
  • Error status- Indicates one of a number of errors and error types. Only the response operation sets this field. Other operations set this field to zero.
  • Error index- Associates an error with a particular object instance. Only the response operation sets this field. Other operations set this field to zero.
  • Variable bindings- Serves as the data field (value 1, value 2¡­) of the SNMPv2 PDU. Each variable binding associates a particular object instance with its current value (with the exception of Get and GetNext requests, for which the value is ignored).  

SNMPv2 GetBulk PDU Format:


PDU type Request ID Non repeaters Max repetitions Obj 1,Val 1 Obj 1, Val 1 ...
  • PDU type- Identifies the PDU as a GetBulk operation.
  • Request ID- Associates SNMP requests with responses.
  • Non repeaters- Specifies the number of object instances in the variable bindings field that should be retrieved no more than once from the beginning of the request. This field is used when some of the instances are scalar objects with only one variable.
  • Max repetitions- Defines the maximum number of times that other variables beyond those specified by the Non repeaters field should be retrieved.
  • Variable bindings- Serves as the data field (Obj 1, Obj 2 ¡­) of the SNMPv2 PDU. Each variable binding associates a particular object instance with its current value (with the exception of Get and GetNext requests, for which the value is ignored).


Related Protocols
SNMP , SNMPv1 , SNMPv2 , SNMPv3 , UDP , RMON , SMI, OIDs

Sponsor Source

SNMPv2 is defined by IETF (http://www.ietf.org ) in RFC 1441 originally plus with a group of supporting and updating RFCs showing in the list below.

Reference

http://www.javvin.com/protocol/rfc1441.pdf : Introduction to SNMPv2 
http://www.javvin.com/protocol/rfc2579.pdf : Textual Conventions for SNMPv2
http://www.javvin.com/protocol/rfc2580.pdf : Conformance Statements for SNMPv2 
http://www.javvin.com/protocol/rfc2578.pdf : Structure of Management Information for SNMPv2
http://www.javvin.com/protocol/rfc3416.pdf : Protocol Operations for SNMPv2
http://www.javvin.com/protocol/rfc3417.pdf : Transport Mappings for SNMPv2
http://www.javvin.com/protocol/rfc3418.pdf : Management Information Base for SNMPv2