Stands for "Simple Network Management Protocol."
SNMP is a protocol for exchanging management messages between network devices. It helps network administrators remotely monitor and configure devices like switches, routers, servers, and printers. SNMP is common on enterprise-level networking equipment but is rare on consumer-level hardware.
SNMP creates a client-server relationship between network devices (which run a piece of server software called an SNMP agent) and the management tools used by network administrators. An SNMP agent keeps track of configuration and performance data about its device and stores that information in a type of database called a Management Information Base (MIB); every object in that database, like a router's uptime or its QoS settings, is given an Object Identifier (OID) for identification. When an SNMP management tool connects to an agent, it can send messages to that agent requesting information and writing configuration settings.
The SNMP protocol uses seven standard message operations. The Get command requests the value of a specific object by specifying its OID. The GetNext command gets the next available object value after the specified OID, and the GetBulk command retrieves values from a range of OIDs. Response messages return data from the SNMP agent to the SNMP manager following a Get request. The Set command allows the manager to change an object's value to update a configuration setting. The Trap command creates a notification that alerts the manager when a specific condition on the network device is met; the Inform command also creates a notification but instructs the SNMP manager to acknowledge when the message is delivered successfully.
The current version of SNMP is SNMP v3, which improves on the shortcomings of earlier versions. SNMP v1 was simple but also insecure; it sent all SNMP messages (including those containing passwords) as plain text, which allowed packet sniffers to intercept data. SNMP v2 added the GetBulk command to make it more efficient to retrieve many variables at once. SNMP v3 added an authentication system and supports the encryption of SNMP messages using either MD5 or SHA hashing algorithms.