Remote Monitoring Learning Center logo
Phone headset
Expert Helpline

SNMP MIB: The File That Powers All SNMP Communication

Andrew Erickson
Andrew Erickson
Applications Engineer

In a typical SNMP network, there are many components that are linked together to give your company complete visibility of all your gear and sites.

In this article, I'll break down the concept of SNMP, the MIB file, and OIDs, so you can take that knowledge with you when you're managing your network to keep everything running smoothly.

First Of All: What Is SNMP?

Simple Network Management Protocol, or simply SNMP, is nothing more than a standard language that computers use to control each other and report important information. Its advantage today is that, since it's an open protocol, a very large number of devices support it, enabling them to work together.

How Long Has SNMP Been Around?

SNMP was created in 1988. It came to replace the earlier SGMP (Simple Gateway Management Protocol). At that time, SNMP was just a short-term way to manage computers on the Internet and in private networks.

Nowadays, this protocol is everywhere. You'll find it in corporate office buildings, remote industrial telecom sites, and even home offices.

The "Manager-Agent Model"

SNMP architecture is very similar to the internet technology you're using right now to read this article. Your computer - or tablet, or smartphone - sends a standardized request to our web server. Our web server responds by sending you the information you want. There are many computers in various locations, and our single server sends web pages to all of them.

In SNMP terms, an "agent" is the remote device out in the network. What exactly the agents are depend on the kind of network you have. Are you in a small office, a national telephone company, or a power utility? Examples of remotes are: printers, managed switches, alarm remotes, generators, servers, and etc.

From a remote monitoring point of view, the agent is typically the device joined to the gear being monitored - or to environmental levels via a sensor. For instance, in a remote site you might be monitoring the temperature.

If the temperature gets too high or too low, it could damage your gear. The temperature sensor is joined to an RTU, which acts as the SNMP agent in the system.

Your agents report problems to and receive commands from a central "SNMP manager." The job of the manager is to receive the values from the agent and display them in meaningful terms to the appropriate person for corrective action.

A diagram like this one shows the manager-agent model as it's implemented for monitoring SNMP devices and monitoring tools.

Which are the Types of Manager-Agent Alarms?

There are many ways that the agent and manager can communicate. SNMP message types include:

How Can I Set Up Communication Between My Manager and Agents?

If you want to set up a new agent in your network, all you need to do is follow a couple of steps:

1. Configure the agent with the IP address of your SNMP manager

This will change from device to device, of course, but there's always some way to tell your new agent where to find your master. It's even better if you have a master that can perform auto-discovery and automatically configure new agents. That way, you won't have to configure each new device individually.

2. Compile the agent's MIB into your manager

Have you ever connected a printer to your computer? What about a camera or other accessory? If so, you know about installing drivers. A driver is a file that tells your computer how to communicate with the other device. It's a "code book" or "dictionary", much like you might use if you needed to interact in a foreign language.

In SNMP, although the basic protocol is always the same, every agent has different things that it can report. Generators, for example, report fuel levels, while printers report toner and paper levels. This means that the MIB is a file that tells your manager what information this particular agent can report and what commands it can accept.

You'll receive a MIB from your agent manufacturer, and you'll compile it into your manager as part of setting up the new agent.

Why Do I Need a SNMP MIB File?

An SNMP MIB is a "Management Information Base", a key component of SNMP. More specifically, a MIB describes SNMP network elements - any device in the network - as a list of data objects.

The MIB is loaded ("compiled") into the SNMP manager and contains knowledge relevant to network management. Both the SNMP manager and agent utilize this information base. The manager uses the MIB as a "reference" to know traps, or messages, sent from agents within the network. The agent is designed to match what's in its own MIB, making communication possible.

In short, your SNMP manager needs the MIB in order to process messages from your devices. The MIB is also your best guide to the real capabilities of an SNMP device. You need to be able to read the MIB so that you can have a good idea of what assets you do have.

Keep in mind that MIB files are created and supplied by equipment vendors. These files are equipment specific, so it's important to make sure that you have the correct MIB for you gear type, model, and version number. This information should be provided for free by your vendor/manufacturer.

The SNMP MIB is the "Codebook" for SNMP Managers

The MIB is essentially a device-specific dictionary of the SNMP language. Every object referred to in an SNMP message must be listed in the MIB.

The SNMP MIB can define large-scale elements (like the name/classification of an entire device). It also can define very specific elements, like a particular trap message generated by a certain alarm point on an RTU.

The manager uses MIB files from each agent to decode the OIDs (strings of numbers) for all messages from that agent. This translates them into meaningful information.

How the MIB Uses OIDs to Communicate with Individual Objects

Individual objects in the MIB have an OID (short for "Object Identifier"), which the manager uses to determine the values from those single devices. In simple terms, an OID is an address used to identify devices and their statuses.

The OIDs describe SNMP network elements by using a number string. They look like extra-long IP addresses, like this:

Just like an IP address, each additional number in the OID adds detail.

The first several numbers are always the same for SNMP devices. In the example, "" means "enterprise SNMP equipment". That's going to be the same for every agent you use.

The last few numbers mean "DPS Telecom" (this agent's manufacturer), "Alarm monitoring", "RTU", and "Alarm Point 2". This OID represents a single discrete alarm input on a remote monitoring device. If your manager received an SNMP message with that OID, it would alert you about an equipment failure - or about whatever it was you decided to plug into Alarm Point 2 during installation.

SNMP messages utilize OIDs to transmit information such as point status or alarm descriptions. When the SNMP manager requests the value of any object, it creates a message using the OID. The MIB allocates readable labels to each object identifier, as well as other parameters relevant to the individual object. This MIB allows for human interpretation of created SNMP messages.

How the MIB is Structured?

Each entry in a MIB has the following properties:

Individual vendors create their own MIBs that only include the OIDs associated specifically with their device. They commonly reference other industry-standard MIBs (called "RFC MIBs"). This structure is what makes an SNMP MIB object-oriented, a maximally efficient way of storing information.

What Does a MIB Look Like?

Here's an example of the first lines of the standard DPS Telecom MIB file:

dpsInc OBJECT IDENTIFIER ::= {enterprises 2682}
dpsAlarmControl OBJECT IDENTIFIER ::= {dpsInc 1}
tmonXM OBJECT IDENTIFIER ::= {dpsAlarmControl 1}
tmonIdent OBJECT IDENTIFIER ::= {tmonXM 1}
tmonIdentManufacturer OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION "The TMON/XM Unit manufacturer."
::= {tmonIdent 1}
tmonIdentModel OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION "The TMON/XM model designation."
::= {tmonIdent 2}

Are you wondering what language that is? All MIBs are written in Abstract Syntax Notation 1, or simply ASN.1. This standard notation is managed by the ISO (International Organization for Standardization) and is used in everything from the World Wide Web to aviation control systems.

The descriptions and specifications for ASN.1 are incredibly broad. Standard references to ASN.1 run up to 600 pages. However, there are some things that you should know about ASN.1:

What You Need to Know about When Reading SNMP MIB

Don't worry - you don't have to master MIB notation in order to get useful information from the MIB. One of the best tactics for addressing MIB problems is to simply read through the file.

Since MIB files are composed of ASCII text, they can be viewed using any word processor or text editor, even Microsoft Notepad.

Some manufactures provide precompiled MIBs in binary format, but those aren't readable. You want the raw ASCII version of the MIB file. Some manufacturers will frustrate you, though, as they like to keep tight controls on their MIB to force you to purchase their proprietary monitoring suite despite saying they "support SNMP" on the product brochure.

When reading the MIB, you don't need to read every single line of text. However, it's important for you to know some of the concepts embedded in the MIB. Including:

Note that RFC MIBs are open-source, so they can be found and downloaded with a simple web search for "RFC MIBs."

Even if you have a next-generation SNMP manager, such as the T/Mon LNX (which partially obsoletes MIB files with pre-configuration of common devices), being able to confidently read and understand MIB file contents can provide insight into equipment design and capabilities.

When it comes to transitioning to SNMP, the T/Mon can be incredibly useful for you. It's able to interpret and process about 25 legacy and single manufacturer protocols. This multi-protocol interoperability gives you tremendous transitional flexibility at a pace controlled by you.

Do I Need to Edit the MIB?

Normally, no. MIB files aren't really designed to be edited by the end user.

If you want, you could edit the text descriptions of managed objects to be more user-friendly, but it's better to simply use your SNMP manager's presentation software to create a useful display.

What are Some SNMP Best Practices?

When an agent sends a trap message, it can include OID and a data payload (variable bindings) to clarify the event.

Quality agents, such as NetGuardians RTUs, send a comprehensive set of plain-English variable bindings within each trap to maintain traditional telemetry event visibility. Managers will also generally display the readable labels to facilitate user understanding and decision making.

The NetGuardian 832A will send traps to your manager when one of its 32 discrete alarm inputs is triggered by a contact closure output from one of your devices. It can also send SNMP traps based on the current status of its eight analog current or voltage inputs. The NetGuardian 832A will inform you about its own internal alarms as well.

Get a Perfect-Fit Solution for your Problem

As a full-service manufacturer, all of us here at DPS are used to developing solutions for all types of scenarios and problems. This includes clients that require specific MIBs for their applications.

For example, we had a client that needed to send certain SET commands to remote units at some microwave sites. The units that he had were not capable of sending those commands.

Our solution involved custom new OIDs that were configured with variable bindings to accept SNMP traps. This allowed monitoring and control of the remote sites with the ability to work with up to 40 discrete relays in the system. This solution saved them money and downtime - and increased the use of existing equipment for our client.

I, and everyone else here at DPS, would love to help you with your SNMP project - whatever it might be. Even if you'd just like to have a 10-minute phone call to get your bearings, you can call us any time.

Get a Custom Application Diagram of Your Perfect-Fit Monitoring System

There is no other network on the planet that is exactly like yours. For that reason, you need to build a monitoring system that's the right fit for you.

"Buying more than you need" and "buying less than you need" are real risks. You also have to think about training, tech support, and upgrade availability.

Send me a quick online message about what you're trying to accomplish. I'll work with you to build custom PDF application diagram that a perfect fit for your network.

Don't make a bad decision

Your network isn't off-the-shelf.

Your monitoring system shouldn't be, either.

Customized monitoring application drawing

We'll walk you through this with a customized monitoring diagram.

Just tell us what you're trying to accomplish with remote monitoring.

Get Your Custom Diagram Now
Return to DPS Telecom

DPS logo