What Is SNMP (Simple Network Management Protocol)? [MiniTool Wiki]
What Is SNMP?
First of all, what is SNMP? It is short for Simple Network Management Protocol, which is an Internet Standard protocol. SNMP protocol is used to collect and organize information about managed devices on the IP network, and to modify the information to change device behavior.
As a component of the Internet Protocol Suite defined by the Internet Engineering Task Force (IETF), SNMP consists of a set of network management standards, such as application layer protocols, database schemas, and a set of data objects.
Without a protocol like SNMP, network management tools will not be able to identify devices, monitor network performance, track network changes, or determine the status of network devices in real-time. Devices that usually support SNMP include cable modems, routers, switches, servers, workstations, printers, etc.
Management Information Base (MIB)
The SNMP agent exposes the management data on the managed system as variables. The protocol also allows for these variables to be modified remotely to perform active management tasks, such as configuration changes. The variables accessible through SNMP are organized in hierarchies.
SNMP itself does not define the variables that the managed system should provide. In contrast, SNMP uses an extensible design that allows applications to define their hierarchies. These hierarchies are described as Management Information Base (MIB).
Generally, these MIBs contain a standard set of statistical and control values defined for hardware nodes on the network. SNMP also allows these standard values to be extended with specific agent values through the use of private MIBs.
MIB describes the structure of the management data of the device subsystem; it utilizes a hierarchical namespace containing object identifiers (OID). Each OID identifies a variable that can be read or set via SNMP. MIB makes use of the notation defined by the Structure of Management Information Version 2.0 (a subset of ASN.1).
Basic Commands of SNMP
The simplicity of information exchange makes SNMP a widely accepted protocol. The main reason is the concise command set, which is listed below:
- GET: The GET operation is a request sent by the manager to the managed device. The operation is performed to retrieve one or more values from the managed device.
- GET NEXT: This operation is similar to GET. The significant difference is that the GET NEXT operation retrieves the value of the next OID in the MIB tree.
- GET BULK: The GET BULK operation is used to retrieve large amounts of data from a large MIB table.
- SET: The manager uses this operation to modify or assign the value of the managed device.
- TRAPS: TRAPS is initiated by an agent. This is the signal that the agent sends to the SNMP manager when an event occurs.
- INFORM: This command is similar to the TRAPS initiated by the agent. In addition, INFORM also includes the confirmation of the SNMP manager after receiving the message.
- RESPONSE: This command is used to return the value or operation signal indicated by the SNMP manager.
SNMP implementations usually support multiple versions: usually SNMPv1, SNMPv2c, and SNMPv3.
What is SNMP version 1 (SNMPv1)? It is the initial implementation of the SNMP protocol. The design of SNMPv1 was completed in the 1980s by a group of authors who believed that the official OSI/IETF/NSF (National Science Foundation) efforts (HEMS/CMIS/CMIP) could not be implemented in the computing platform at that time. SNMP was approved on the basis that it was a temporary protocol necessary for large-scale Internet deployment and commercialization.
What is SNMP version 2? SNMPv2 defined by RFC 1441 and RFC 1452 has revised version 1, and improved performance, security, and communication between managers and managers. It released GetBulkRequest, which was an alternative method of inheriting GetNextRequests. The new party-based security system introduced in SNMPv2 was considered by many to be too complicated and not widely adopted. This version of SNMP reached the Proposed Standard level of maturity but considered obsolete by later versions.
Although SNMPv3 does not make any changes to the protocol except for increased encryption security, it looks very different due to new textual conventions, concepts, and terminology. The most obvious change was to define the secure version of SNMP by adding security and remote configuration enhancements to SNMP.
By providing strong identity verification and data encryption features to protect privacy, thereby security issues are solved. In terms of administration, SNMPv3 focuses on two parts, namely the notification originators and proxy forwarders. These changes still enable remote configuration and management of SNMP entities and solve problems related to large-scale deployment, replacement, and fault management.