The simple network management protocol is a widely used management protocol for communication with network devices like routers, switches, hubs, IP phones, servers, etc. over an IP network. It provisions the exchange of the network and performance information between the network elements using the UDP ports 161 and 162. The SNMP – driven network consists of a management system called NMS, an agent, and the managed devices.
What is Simple Network Management Protocol (SNMP)?
Simple Network Management Protocol (SNMP) is an application–layer protocol defined by the Internet Architecture Board (IAB) in RFC1157 for exchanging management information between network devices. It is a part of the Transmission Control Protocol / Internet Protocol (TCP/IP) protocol suite.
SNMP is one of the widely accepted network protocols that manages and monitors network elements. Most of the professional-grade network elements come with bundled SNMP agents. These agents have to be enabled and configured to communicate with the network monitoring tools or network management system (NMS).
The components of an SNMP-managed environment include an SNMP manager, its managed devices, an Simple Network Management Protocol agent, and a management information base (MIB), all of which play a crucial role in its architecture.
- SNMP Manager: It is a centralized system used to monitor the network. It is also known as Network Management Station (NMS)
- Managed devices: A managed device is an SNMP-enabled network entity that is managed by the SNMP manager. These are usually routers, switches, printers, or wireless devices.
- SNMP agent: It is a software management software module installed on a managed device. Managed devices can be network devices like PC, routers, switches, servers, etc.
- Management Information Base (MIB): MIB consists of information on resources that are to be managed. This information is organized hierarchically. It consists of object instances which are essentially variables.
How does SNMP work?
Traffic flows across your network from different sources. Simple Network Management Protocol communicates with the whole network and the devices in it. As mentioned earlier, SNMP is preconfigured on devices, and once the protocol is enabled, the devices will store their performance stats. Each network server will have multiple MIB files. The device MIB files are queried to fetch the monitoring data. The working of SNMP revolves around its components, wherein each component contributes management of resources.
SNMP works by sending protocol data units, also known as SNMP GET requests, to network devices that respond to SNMP. All these communications are tracked, and network monitoring tools use them to fetch data from SNMP.
Simple Network Management Protocol Versions
- SNMPv1 (version 1): It is the initial version of the protocol. It provides the least number of network management functions. Its authentication is based on community names, thus it also returns fewer error control codes that offer a very low-security level.
- SNMPv2 (version 2): SNMPv2, which appeared in 1993, offered some security enhancements, but it was supplanted in 1998 by SNMPv3, which remains the most recent version of the protocol and the most secure.
- SNMPv3 (version 3): The newest version uses the base protocol functionality with added cryptographic security to enhance data privacy and authenticity capabilities. This provides a more enhanced version of the protocol best suited to secure access to devices and improve performance.
Simple Network Management Protocol messages
- GetRequest: The GetRequest message is sent from a manager (client) to the agent (server) to retrieve the value of a variable.
- GetNextRequest: The GetNextRequest message is sent from the manager to the agent to retrieve the value of a variable. This type of message is used to retrieve the values of the entries in a table. If the manager does not know the indexes of the entries, then it will not be able to retrieve the values. In such situations, the GetNextRequest message is used to define an object.
- GetBulkRequest: This message is used to retrieve large data at once by the SNMP manager from the SNMP agent. It is introduced in SNMPv2c.
- GetResponse: The GetResponse message is sent from an agent to the manager in response to the GetRequest and GetNextRequest messages. This message contains the value of a variable requested by the manager.
- SetRequest: The SetRequest message is sent from a manager to the agent to set a value in a variable.
- Trap: The trap message is sent from an agent to the manager to report an event. For example, if the agent is rebooted, then it informs the manager as well as sends the time of rebooting.
- InformRequest: An asynchronous alert similar to a TRAP but requires confirmation of receipt by the SNMP manager.
With the help of figures and examples, we have explained the Simple Network Management Protocol works and other aspects which are very useful for network monitoring and management purpose.
Network manager, MIB database, and Network elements are three major components through which the overall process of communication and management takes place.
We have also seen the different versions, configuration methods, and tools used for Simple Network Management Protocol. The port used for communication plays a very vital role in completing the communication between the SNMP manager and the SNMP agent.
We have also seen the tabular difference between the two default ports of SNMP i.e. Port 161 and Port 162