# What is Simple Network Management Protocol (SNMP) in Computer Networks?

May 24, 2018

SNMP stands for simple network management protocol. It is a way that servers can share information about their current state, and also a channel through which administer can modify pre-defined values. While the protocol itself is very simple, the structure of programs that implement SNMP can be very complex.

SNMP is one of the widely accepted protocols to manage and monitor network elements. Most of the professional–grade network elements come with bundled SNMP agent. These agents have to be enabled and configured to communicate with the network management system (NMS). Simple Network Management Protocol (SNMP), an application layer protocol, facilitates the exchange of management information among network devices, such as nodes and routers. It comprises part of the TCP/IP suite. System administrators can remotely manage network performance, find and solve network problems, and plan for network growth by using SNMP.

### Basic Concepts

SNMP is a protocol that is implemented on the application layer of the networking stack. The protocol was created as a way of gathering information from very different systems in a consistent manner. Although it can be used in connection to a diverse array of systems, the method of querying information and the paths to the relevant information are standardized.

There are multiple versions of the SNMP protocol, and many networked hardware devices implement some form of SNMP access. The most widely used version is SNMPv1, but it is in many ways insecure. Its popularity largely stems from its ubiquity and long time in the wild. Unless you have a strong reason not to, we recommend you use SNMPv3, which provides more advanced security features.

In general, a network being profiled by SNMP will mainly consist of devices containing SNMP agents. An agent is a program that can gather information about a piece of hardware, organize it into predefined entries, and respond to queries using the SNMP protocol.

The component of this model that queries agents for information is called an SNMP manager. These machines generally have data about all of the SNMP-enabled devices in their network and can issue requests to gather information and set certain properties.

### SNMP basic Components and their Functionalities

SNMP consists of

1. SNMP Manager
2. Managed devices
3. SNMP agent
4. Management Information Database Otherwise called as Management Information Base (MIB)

SNMP Manager:

A manager or management system is a separate entity that is responsible to communicate with the SNMP agent implemented network devices. This is typically a computer that is used to run one or more network management systems.

SNMP Manager’s key functions

• Queries agents
• Gets responses from agents
• Sets variables in agents
• Acknowledges asynchronous events from agents

#### Managed Devices

A managed device or the network element is a part of the network that requires some form of monitoring and management e.g. routers, switches, servers, workstations, printers, UPSs, etc.

#### SNMP Agent

The agent is a program that is packaged within the network element. Enabling the agent allows it to collect the management information database from the device locally and makes it available to the SNMP manager, when it is queried for. These agents could be standard (e.g. Net-SNMP) or specific to a vendor (e.g. HP insight agent)

SNMP agent’s key functions

• Collects management information about its local environment
• Stores and retrieves management information as defined in the MIB.
• Signals an event to the manager.
• Acts as a proxy for some non–SNMP manageable network node

#### Management Information database or Management Information Base (MIB)

Every SNMP agent maintains an information database describing the managed device parameters. The SNMP manager uses this database to request the agent for specific information and further translates the information as needed for the Network Management System (NMS). This commonly shared database between the Agent and the Manager is called Management Information Base (MIB).

Typically these MIB contains standard set of statistical and control values defined for hardware nodes on a network. SNMP also allows the extension of these standard values with values specific to a particular agent through the use of private MIBs.

In short, MIB files are the set of questions that a SNMP Manager can ask the agent. Agent collects these data locally and stores it, as defined in the MIB. So, the SNMP Manager should be aware of these standard and private questions for every type of agent.

### Basic commands of SNMP

One of the reasons that SNMP has seen such heavy adoption is the simplicity of the commands available. There are very few operations to implement or remember, but they are flexible enough to address the utility requirements of the protocol. The simplicity in information exchange has made the SNMP as widely accepted protocol. The main reason being concise set of commands, here are they listed below:

• GET: The GET operation is a request sent by the manager to the managed device. It is performed to retrieve one or more values from the managed device.
• GET NEXT: This operation is similar to the GET. The significant difference is that the GET NEXT operation retrieves the value of the next OID in the MIB tree.
• GET BULK: The GETBULK operation is used to retrieve voluminous data from large MIB table.
• SET: This operation is used by the managers to modify or assign the value of the Managed device.
• TRAPS: Unlike the above commands which are initiated from the SNMP Manager, TRAPS are initiated by the Agents. It is a signal to the SNMP Manager by the Agent on the occurrence of an event.
• INFORM: This command is similar to the TRAP initiated by the Agent, additionally INFORM includes confirmation from the SNMP manager on receiving the message.
• RESPONSE: It is the command used to carry back the value(s) or signal of actions directed by the SNMP Manager.

### References

[1] “What is SNMP?” available online at: https://technet.microsoft.com/pt-pt/library/cc776379(v=ws.10).aspx

[2] “SNMP tutorial”, available online at: https://www.manageengine.com/network-monitoring/what-is-snmp.html

[3] “Chapter 4: Simple Network Management Protocol”, Cisco Unified Communications Manager Managed Services Guide, OL-24543-01

[4] “What is SNMP”, available online at: https://www.auvik.com/media/blog/network-basics-what-is-snmp/

$${}$$