SNMP is a standard TCP/IP protocol for network management. Network administrators use SNMP to monitor and map network availability, performance, and error rates.
To work with SNMP, network devices utilize a distributed data store called the Management Information Base (MIB). All SNMP compliant devices contain a MIB which supplies the pertinent attributes of a device. Some attributes are fixed (hard-coded) in the MIB while others are dynamic values calculated by agent software running on the device.
Enterprise network management software, such as Tivoli and HP OpenView, uses SNMP commands to read and write data in each device MIB. 'Get' commands typically retrieve data values, while 'Set' commands typically initiate some action on the device. For example, a system reboot script is often implemented in management software by defining a particular MIB attribute and issuing an SNMP Set from the manager software that writes a "reboot" value into that attribute.
Developed in the 1980s, the original version of SNMP, SNMPv1, lacked some important functionality and only worked with TCP/IP networks. An improved specification for SNMP, SNMPv2, was developed in 1992. SNMP suffers from various flaws of its own, so many networks remained on the SNMPv1 standard while others adopted SNMPv2.
More recently, the SNMPv3 specification was completed in an attempt to address the problems with SNMPv1 and SNMPv2 and allow administrators to move to one common SNMP standard.