Simple Network Management Protocol or SNMP is a part of the Internet protocol suite. It is used in network management systems to check network-attached devices and to communicate with network elements.

SNMP consists of a set of standards for network management. This includes data objects, a database schema, and an Application Layer protocol.

In typical SNMP practice, there are a number of systems to be run, and one or more systems running them. An agent, which is a software component, handles each managed system and delivers information through SNMP to the managing systems.

SNMP Basic Components

SNMP is composed of three components: a managed device, an agent, and a network-management system (NMS).

A managed device is a network node existing on a managed network. It includes an SNMP agent. Through SNMP, management information is collected and stored, making it available to network management systems. Managed devices can be any type of device, including but are not limited to access servers, printers, computer hosts, routers, IP telephones, bridges, switches, and hubs.

An agent is a network-management software module existing in a managed device. It contains restricted knowledge of management information. It has the capacity to translate this information into a form well-matched with SNMP.

A network-management system (NMS) performs applications to monitor and control managed devices. These systems offer the memory resources and a bulk of processes required for network management.

SNMP Messages

SNMP Messages are initiated by either the network element (NE) or by the NMS.

When SNMP management programs send a request to a network device, the agent software receives the requests and retrieves information from MIBs (Management Information Bases). These MIBs manage the devices in a communications network.

The agent software then delivers the information being requested back to the SNMP management program. To carry out such tasks, it utilizes the following message types:

  1. SNMP GET is the basic SNMP request message initiated by the network management system when it wants to retrieve bits of data from a network element.
  2. SNMP GETNEXT is an extended type of request message. It is used to browse the entire ranking of management objects. It is useful for dynamic tables, such as an internal IP route table.
  3. SNMP GETBULK is a type of request message that allows the retrieval of large messages. It reduces the number of protocol exchanges required to retrieve a large amount of management information. The maximum message size allowed should not be larger than the path maximum transmission unit (MTU), the largest frame size allowed for fragmentation to occur in a single frame.
  4. SNMP TRAP is initiated by a network element and is sent to the network management system. It is an unsolicited message sent to an SNMP management system by an SNMP agent when it detects that a certain type of event has taken place locally on the managed host. The agent will deliver data without being asked using TRAP or INFORM protocol operations. For example, a printer could send an SNMP TRAP when it is out of paper.
  5. SNMP SET is initiated by the network management system when it wants to change data on a network element. It can send controlling requests or configuration updates via the SET protocol operation to run a system.

SNMP Versions

Simple Network Management Protocol has the following versions:

  • SNMPv1 – implements community-based security;
  • SNMPv2 – SNMPv2 with party-based security;
  • SNMPv2c – SNMPv2 with community-based security;
  • SNMPv2u – SNMPv2 with user-based security; and
  • SNMPv3 – it implements user-based security.