Software Toolbox has been involved with Industrial Automation communications for over 20 years now. When you've done something for such a long time you can forget that many people in this industry or IT don’t know as much about the topic as they would like.
This second blog post to our "Why Your Industrial Protocol Matters" series shares a detailed overview of the SNMP communications protocol written by John Weber a number of years ago and still perfectly relevant today. Over the last 15 years, there has been a great tendency to merge IT and Industrial networking together. One of the advantages of this practice is the increased usage of SNMP into the control/industrial network arena. For those without an IT background, this is key knowledge that we will see continue to grow. If you missed our introduction blog post to this series and want to get caught up, you can access it here.
What is SNMP? An SNMP Overview
Many users who are looking at our Industrial SNMP Suite solution ask the question: "What is SNMP?" This blog post was written to help answer that question. Topics covered in this post include:
- Network Management
- Structure of Management Information
- Management Information Base
- SNMP Protocol
- Object Identifiers (OIDs)
To understand SNMP, it's important to review why SNMP was created. In the mid 1980s, networks were becoming larger, and the need for a network administrator to be able to control and monitor a network from a central location was essential. Managing a network, however, often required more computing power at the network device than most consumers were willing to pay for. Click to watch our tutorial and live demo about SNMP
The need for a simple system, that required few processing resources from the network devices arose. SNMP was born of these needs. Simple Network Management Protocol (SNMP) is a communication protocol that allows a Network Manager application to communicate with a Network Management Agent. So, first, let's review what Network Management is.
Network Management
A network management system contains two primary elements: a Manager and an Agent. The Manager is the application through which the network administrator performs network management functions. Agents are the entities that interface to the actual device being managed. Switches, Hubs, Routers or UPSs are examples of managed devices that contain managed objects.
These managed objects might be hardware, configuration parameters, performance statistics, and so on, that directly relate to the current operation of the device in question. These objects are arranged in what is referred to as a management information base, also called an MIB file. SNMP allows managers and agents to communicate for the purpose of accessing these objects.
An SNMP agent can:
- Store and retrieves management data as defined by the Management Information Base.
- Send an unsolicited message to a manager.
- Be a proxy for a non-SNMP manageable network node.
- For example, an SNMP enabled device can communicate to a serial-only device, and poll it for data. By placing this data in the SNMP-enabled device’s MIB, an SNMP manager can access the serial device’s information in real-time.
An SNMP Manager can:
- Poll SNMP agents
- Get responses from agents
- Set variables in SNMP agents
- Acknowledge unsolicited events from SNMP agents
- Structure of Management Information
In the Manager/Agent model for network management, managed network objects must be logically accessible. Logical accessibility means that management information must be stored somewhere, and therefore, that the information must be retrievable and modifiable. SNMP actually performs the retrieval and modification. The Structure of Management Information (SMI) is the standard that is generally followed for creating the orderly structure of an MIB.
The SMI organizes, names, and describes information so that logical access can occur. The SMI states that each managed object must have a name, syntax and an encoding. The name, an object identifier (OID), uniquely identifies the object. The syntax defines the data type, such as an integer or a string of octets. The encoding describes how the information associated with the managed objects is serialized for transmission between machines.
Management Information Base
Management Information Bases (MIBs) are a collection of definitions, which define the properties of the managed object within the device to be managed. Think of a MIB as an information warehouse. Every managed device keeps a database of values for each of the definitions written in the MIB. It is not the actual database itself, but a map of the location of the information within the SNMP agent. The most current standard for mapping MIB data is called MIB-II.
SNMP Protocol
SNMP is based on the manager/agent model. SNMP is referred to as "simple" because the agent requires minimal software. Most of the processing power and the data storage resides on the management system, while a complementary subset of those functions resides in the managed system
To achieve its goal of being simple, SNMP includes a limited set of management commands and responses. The management system issues Get, GetNext , GetBulkand Set messages to retrieve single or multiple object variables or to establish the value of a single variable. The managed agent sends a Response message to complete the Get, GetNext or Set. The managed agent sends an event notification, called a trap to the management system to identify the occurrence of conditions such as threshold that exceeds a predetermined value.
Object Identifiers (OIDs)
Object Identifiers (OIDs) are the addresses where information can be located in the SNMP agent’s memory. The OID is generally displayed as a series of integers separated by periods. The address scheme is a logical system based on root directories. Information in the SNMP agent is separated into a number of standard subsets, each designated by a number. All information from the System root, for example, would begin with the System root directory address of 1. Within each root directory can be further definitions. An example SNMP address could be 1.3.4.5.6.2.3.1. Although we will not provide a complete breakdown of this address, you can tell that the information that this address contains will be from the System(1) root address directory.
Not all manufacturers implement a full set of SNMP functionality in their systems. Some may only provide System(1) and Interface(2) information. Consult your device network management manual, or the MIB documentation for the device to determine what management functions are implemented.
Ethernet network communications has grown exponentially over the past 20 years. As industrial networks get more complex, the need for managed switches, hubs, routers and UPSs has grown with it. SNMP is a very effective way of using the information your network has to maintain reliable communications and understand where problems may be occurring. With the introduction of this IT protocol into the industrial world the number of devices supporting it is growing as well as the ability to use a Proxy to connect legacy serial devices. We invite you to subscribe to our blog and watch out for our coverage of additional industrial communications protocols.