What is SNMP?
Developed in 1988 to provide network-device-monitoring capability for TCP/IP-based networks, SNMP was approved as an Internet standard in 1990 by the Internet Architecture Board (IAB) and has been in wide use since that time. More recently, Internetwork Packet Exchange (IPX)-based networks have added support for SNMP. Currently, most network equipment vendors provide SNMP support in their products (MIB Files).
Simple Network Management Protocol (SNMP) is a popular protocol for network management. It is used for collecting information from, and configuring, network devices, such as servers, printers, hubs, switches, and routers on an Internet Protocol (IP) network. Microsoft Windows Server 2003 onwards provides SNMP agent software that works with third-party SNMP management software to monitor the status of managed devices and applications.
SNMPv1 was the first version of SNMP. Although it accomplished its goal of being an open, standard protocol, it was found to be lacking in key areas for certain applications. Later versions have addressed many of these problems. Smaller RTUs commonly support SNMPv1.
SNMPv2c is a sub-version of SNMPv2. Its key advantage over previous versions is the Inform command. Unlike Traps, which are simply received by a manager, Informs are positively acknowledged with a response message. If a manager does not reply to an Inform, the SNMP agent will resend the Inform.
Other advantages include:
- improved error handling
- improved SET commands
NOTE: Not all devices are SNMPv2c compliant, so your SNMP manager should be downward compatible with SNMPv1 devices. You can also use an SNMPv3 mediation device to ensure compatibility. Solarwinds is compatible with SNMP v1,v2c and 3.
SNMPv3 is the newest version of SNMP. Its primary feature is enhanced security.
The “EngineID” Identifier in SNMPv3 uniquely identifies each SNMP entity. Conflicts can occur if two SNMP entities have duplicate EngineID’s. The EngineID is used to generate the key for authenticated messages.
SNMPv3 security comes primarily in 2 forms:
- Authentication is used to ensure that traps are read by only the intended recipient. As messages are created, they are given a special key that is based on the EngineID of the entity. The key is shared with the intended recipient and used to receive the message.
- Privacy encrypts the payload of the SNMP message to ensure that it cannot be read by unauthorized users. Any intercepted traps will be filled with garbled characters and will be unreadable. Privacy is especially useful in applications where SNMP messages must be routed over the Internet.
What is a MIB?
A management information base (MIB) is a database used for managing the entities in a communication network. Most often associated with the Simple Network Management Protocol (SNMP), the term is also used more generically in contexts such as in OSI/ISO Network management model. While intended to refer to the complete collection of management information available on an entity, it is often used to refer to a subset, more correctly referred to as MIB-module.
Objects in the MIB are defined using a subset of Abstract Syntax Notation One (ASN.1) called “Structure of Management Information Version 2 (SMIv2)” RFC 2578. The software that performs the parsing is a MIB compiler.
The database is hierarchical (tree-structured) and each entry is addressed through an object identifier (OID). Internet documentation RFCs discuss MIBs, notably RFC 1155, “Structure and Identification of Management Information for TCP/IP based internets”, and its two companions, RFC 1213, “Management Information Base for Network Management of TCP/IP-based internets”, and RFC 1157, “A Simple Network Management Protocol”.
An OID in SNMP is an “Object Identifier”. It’s an address used to identify devices and their statuses. Want to know the temperature reading coming from a sensor at your secret underground bunker? There is an OID for that.
This is how an OID is displayed:
The OID is contained within the MIB and using SNMP it can reference the OID to obtain relevant information. A MIB file contains many OID’s relating to specific useful metrics.
SNMP is used to access a network device and a MIB file is used to reference specific OID’s on that network device, providing valuable information about a device.
Harnessing SNMP information the infrastructure monitoring engineer can generate graphs, tables and alerts to display important statistics and provide forecasts for environmental metrics.