A network provides ease of communication between computers. To use networks effectively, a set of rules are required by which all the networks should abide. The set of rules is called protocols. Simple Network Management Protocol (SNMP) is one such protocol and is used to transfer network management information between two or more network entities or nodes.
The three major components of the SNMP that form an integral part of its foundation are the network device, the agent and the manager.
Network device: A network device or the Managed Object is a part of the network that requires some form of monitoring and management.
Agent: An agent is a mediator between the manager and the device. The agent resides inside the network device. It collects the management information from the device and makes it available to the manager. Note that an agent is a program that resides in the device and is not a separate entity.
A typical agent
Implements full SNMP protocol.
Stores and retrieves management information as defined in the MIB.
Collects and maintains information about its local environment.
Signals an event to the manager.
Acts as a proxy for some non-SNMP manageable network node.
Manager: A manager or management system is a separate entity that manages the agents from a remote place. This is typically a computer that is used to run one or more network management systems. Consider an organization having its branches in different geographical locations. Administration of all the computers present in different localities would be difficult. When the System Administratorís computer is installed with the manager and all other systems and devices across all the offices are installed with the agent, management becomes easier. The administrator has to just query the agent through its manger to know the functioning of the device.
A typical manager
Implements the network management system.
Implements full SNMP protocol.
Queries agents, gets responses from agents, sets variables in agents, and acknowledges asynchronous events from agents.
Communication Between the Manager and Agent: The communication between the manager and the agent in the network is enabled through Protocol Data Units (PDUs). These PDUs allow the manager to interact with the agent in the device. The extent of management possible depends on the data available to the manager from the agent.
Before data can be transported across the network, it must be passed to the network mass and encapsulated. PDUs are encapsulated in the User Datagram Protocol (UDP). UDP is a connectionless transport protocol included in the TCP/IP suite and described in RFC 768.
The SNMP network management is composed of the following three parts to which both the management applications and agents conform. They are:
The protocol, which defines the functioning of the basic operations of SNMP and the format of the messages exchanged by management systems and agents.
Structure of Management Information (SMI), which is a set of rules used to specify the format for defining managed objects or the devices that are accessed using SNMP.
Management Information Base (MIB) is a collection of definitions, which define the properties of the managed object or the device.
The MIB modules and the SMI are expressed using a text-based data description notation called Abstract Syntax Notation One (ASN.1), which is an unambiguous description of data in an ASCII text format. The MIB data is conveyed across a network using SNMP messages, which are encoded using Basic Encoding Rules (BER).They are similar to SMI, but the messages are encoded in a binary format. Both the ASN.1 and BER are essential for the implementation of SNMP.
SNMP is a request-and-response protocol. The basic SNMP operations performed are categorized as follows
Receiving unsolicited messages
Retrieving data: The manager sends a request to an agent to retrieve data by performing the following operations
GET: The GET operation is a request sent by the manager to the managed object. It is performed to retrieve one or more values from the managed objects.
GETNEXT: This operation is similar to the GET operation. The significant difference is that the GETNEXT operation retrieves the value of the next OID in the tree.
GETBULK: The GETBULK operation is used to retrieve voluminous data from large table.
Altering variables: At times, the manager might want to change the value of a variable.
SET: This operation is used by the managers to modify the value of the network device.
Receiving unsolicited messages: The agent, when faced with problems in the transmission of message, responds to the manager by sending unsolicited messages by using the TRAP operation.
Internet Engineering Task Force (IETF) publishes documents that are called Requests For Comments (RFCs). These documents specify standards, operational practices, opinions, humor, etc. for the Internet protocol suite.
The different versions of SNMP are the SNMPv1, SNMPv2c, and SNMPv3. The following is a brief of each version.
SNMPv1: This is the first version of the protocol, which is defined in RFCs 1155 and 1157.
SNMPv2c: This is the revised protocol, which includes enhancements of SNMPv1 in the areas of protocol packet types, transport mappings, and MIB structure elements but using the existing SNMPv1 administration structure ("community based" and hence SNMPv2c). It is defined in RFC 1901, RFC 1905, and RFC 1906.
SNMPv3: SNMPv3 defines the secure version of the SNMP. SNMPv3 also facilitates remote configuration of the SNMP entities. It is defined by RFC 1905, RFC 1906, RFC 2571, RFC 2572, RFC 2574, and RFC 2575.
SNMP agents for different types of devices provide access to objects that are specific to the type of device. In order to enable the SNMP manager or management application to operate intelligently on the data available on the device, the manager needs to know the names and types of objects on the managed device.
This is made possible by Management Information Base (MIB) modules, which are specified in MIB files usually provided with managed devices. For example, RFC1213-MIB (also known as MIB-II) is a MIB module which is typically supported by all SNMP agents on TCP/IP enabled devices or systems.
This MIB file contains a description of the object hierarchy on the managed device, as well as the name (Object ID), syntax and access privileges for each variable in the MIB.