What Is SNMP?

SNMP stands for Simple Network Management Protocol. It is a standard communication protocol used to monitor and manage devices and systems within a network.

The primary purpose of SNMP is to collect information about the status of devices and systems and, when required, allow specific management information to be modified. The protocol provides communication between a central management system and an SNMP agent running on a device.

SNMP was originally developed for managing TCP/IP-based networks. Today, it is widely used to monitor switches, routers, firewalls, servers, UPS systems, printers, energy devices, communication equipment, PLCs, RTUs, and various industrial devices.

One of the important features of SNMP is that it allows devices from different manufacturers to be monitored through a standardized management model. The information provided by a device is defined in a MIB (Management Information Base) and addressed using unique identifiers called OIDs (Object Identifiers).

How Does SNMP Work?

An SNMP architecture basically consists of two main sides: the SNMP Manager and the SNMP Agent.

SNMP Manager

The SNMP Manager is the central application that monitors devices within a network or industrial system. It can request information from devices, modify supported values, and receive notifications sent by devices.

  • Reading data from devices
  • Monitoring device status
  • Receiving alarms and notifications
  • Changing supported parameters
  • Centralized device management

SNMP Agent

The SNMP Agent is a software component running on the monitored device that provides access to the device's management information. The agent processes requests received from the Manager and returns the corresponding information.

  • Providing device information
  • Providing OID values
  • Processing GET and SET requests
  • Sending Trap and Inform notifications
  • Making device status available for monitoring

In simple terms, an SNMP system can be described as: the Manager asks, the Agent responds. In some cases, the Agent can also send a notification to the Manager when an important event occurs.

SNMP Data Addressing for EOS Software (S#)

In the EOS SCADA SNMP client, the data address is specified using the SNMP Object Identifier, or OID. The address starts with the S# prefix.

S#OID

For example:

S#1.3.6.1.2.1.2.2.1.11.10

The SNMP OID must consist of numerical sections separated by period characters.

What Are MIB and OID?

The concepts of MIB and OID are fundamental to understanding which information can be accessed from SNMP devices.

MIB

MIB (Management Information Base) is a structure containing definitions of the management information provided by an SNMP device. MIB files are used to describe what specific OIDs represent, their data types, and how they are intended to be used.

OID

OID (Object Identifier) is a hierarchical numerical identifier used to identify a specific object or piece of information within SNMP. For example, 1.3.6.1.2.1.1.3.0 corresponds to a specific SNMP object.

OIDs are organized in a tree structure. Therefore, accessing a data point in SNMP means querying a specific OID, similar in principle to the addressing methods used in SCADA systems.

Manufacturers can also provide device-specific information through their own MIB definitions. Therefore, a manufacturer's MIB file may be required to read information such as temperature, power, fan status, or error codes that are specific to a particular device.

SNMP Operations

SNMP uses various operation types to read management information, modify supported values, and report events. The most common SNMP operations are described below.

GET

Used to read the current value of a specific OID. For example, device temperature, system uptime, or port status can be retrieved using a GET request.

GETNEXT

Used to retrieve the next object in the OID tree. It is particularly useful for traversing tables and objects within a MIB.

GETBULK

Allows multiple management objects to be retrieved more efficiently. It is particularly useful for reading large tables in SNMPv2c and SNMPv3 applications.

SET

Allows authorized users to modify the value of a supported management object on a device. However, which values can be changed depends on the configuration of the device's SNMP agent.

TRAP

Allows a device to automatically notify an SNMP Manager when an important event occurs. For example, a communication link failure or device restart can be reported using a Trap.

INFORM

Similar to a Trap, Inform is used to report events. However, unlike a Trap, an Inform message can be acknowledged by the receiver. It can therefore be preferred when a more reliable notification mechanism is required.

SNMP Versions

Different versions of SNMP have been developed over time. Today, SNMPv2c is widely encountered, while SNMPv3 is preferred when stronger security capabilities are required.

SNMPv1

The first widely deployed version of SNMP. It has a simple architecture and supports basic operations such as GET, GETNEXT, SET, and Trap. It can still be found in legacy devices and existing systems.

SNMPv2c

Provides more advanced protocol operations than SNMPv1. In particular, the GETBULK operation allows large amounts of management information to be retrieved more efficiently.

However, community string-based SNMPv2c does not provide strong security mechanisms.

SNMPv3

SNMPv3 introduces more advanced security mechanisms to the SNMP management architecture. It can provide authentication, integrity, and privacy features.

For systems with higher security requirements, SNMPv3 may be a more appropriate choice than SNMPv1 and SNMPv2c.

SNMP Communication

SNMP applications traditionally use UDP-based communication. UDP 161 is commonly used for requests sent to SNMP Agents, while UDP 162 is used for receiving Traps and similar notifications.

UDP 161

The standard port on which an SNMP Agent listens for normal SNMP requests. Operations such as GET, GETNEXT, GETBULK, and SET can be performed through this port.

UDP 162

The standard port used by an SNMP Manager or Trap Receiver to receive Trap and notification messages.

Therefore, for a SCADA or centralized monitoring application to access SNMP devices, the relevant UDP ports must be reachable through the network and firewall configuration.

How Is SNMP Used in Industrial Systems?

SNMP is primarily used for monitoring and managing devices and communication infrastructure rather than as a process control protocol. Nevertheless, it can play an important role as a complementary communication protocol in many industrial facilities.

Network Device Monitoring

Switches, routers, firewalls, and other network devices can be monitored for port status, traffic values, error counters, temperature, and similar information.

UPS and Energy Systems

Voltage, current, load, battery status, operating status, and alarm information can be obtained from UPS systems, power supplies, and certain energy devices.

Servers and Computer Systems

Operating status, system resources, network interfaces, and various manufacturer-specific parameters can be monitored on servers and computer systems.

Industrial Devices

PLCs, RTUs, communication devices, industrial switches, and other field equipment supporting SNMP can be monitored from centralized systems.

Alarm and Event Notifications

Trap or Inform notifications received from devices can be forwarded to SCADA, alarm management, or centralized monitoring systems.

Performance Monitoring

SNMP data collected over time can be archived and used for trend analysis, performance monitoring, and capacity planning.

SNMP and SCADA

A SCADA system can use SNMP not only to monitor conventional PLC and RTU data, but also to centrally monitor a wide range of information related to the facility's communication infrastructure and auxiliary systems.

For example, in a power generation facility, a SCADA system can collect process data from PLCs, measurements from energy devices, and communication status information from network switches within the same platform.

This approach can help identify problems in the communication infrastructure at an early stage, even when a device itself appears to be operating normally.

SNMP data can be used within SCADA systems together with trending, alarm management, event logging, and reporting mechanisms. This allows network and device management information to be evaluated alongside other operational data of the facility.

Advantages of SNMP

Widely Adopted Standard

A standard management protocol supported by a wide range of network and industrial devices.

Centralized Monitoring

Makes it easier to monitor large numbers of devices from different manufacturers through a centralized application.

Simple and Lightweight

Its simple protocol structure makes it useful for device management and periodic data collection applications.

Event Notifications

Trap and Inform mechanisms allow devices to report important events to centralized systems.

Data Archiving

Information collected through SNMP can be archived as time-series data and later used for performance analysis.

SNMPv3 Security

SNMPv3 can provide advanced security mechanisms such as authentication, integrity, and privacy.

Things to Consider When Using SNMP

Although SNMP is a highly useful protocol, it is not by itself suitable as a process communication protocol for every application.

  • SNMP was not designed to replace conventional process control protocols.
  • SNMP support on a device does not necessarily mean that all device information is accessible through SNMP.
  • Manufacturer-specific information may require the manufacturer's MIB file.
  • Security requirements should be carefully evaluated when SNMPv1 or SNMPv2c is used.
  • For critical systems, more advanced security features such as SNMPv3 should be considered whenever possible.
  • Excessively frequent polling can create unnecessary traffic and load on devices and networks. Polling intervals should therefore be determined according to the application's requirements.

A Simple SNMP Example

Assume that an SNMP device has the IP address 192.168.1.100. An SNMP Manager that wants to read a specific OID from the device can send a GET request for that OID.

For example:

SNMP Agent
IP Address : 192.168.1.100
Port       : 161

OID        : 1.3.6.1.2.1.1.3.0

When the Manager sends a GET request for this OID, the SNMP Agent retrieves the corresponding value and returns it to the Manager in a Response message.

Similarly, when an important event occurs on the device, the Agent can send a Trap to the Trap Receiver of the Manager.

This means that two basic operating models can be used together with SNMP: periodic polling and event-based notification.

SNMP Tools

This section will provide tools that can be used to test the SNMP protocol, read data from devices, discover OIDs, inspect MIB files, and monitor SNMP Trap messages.

🔧 SNMP Testing and Monitoring Tools

Tools for SNMP Manager and Agent testing, OID querying, MIB viewing, and Trap monitoring will be published here.

  • SNMP Scanner – Discover SNMP devices on a network and display their basic information.
  • SNMP GET / SET Tool – Read OID values and modify supported values.
  • SNMP Walk Tool – Traverse the OID tree and discover objects provided by a device.
  • SNMP Trap Receiver – Receive and inspect SNMP Trap messages.
  • MIB Viewer – Inspect MIB files and visualize OID structures.

Note: This section is currently under development. Free SNMP tools to be developed for the EOS Industrial Software Hub will be published here in the future.

Summary

SNMP is a standard communication protocol developed for network and system management and is supported by a very wide range of devices.

Through its MIB and OID structure, management information within devices can be addressed in a standardized manner. GET, GETNEXT, GETBULK, and SET operations can be used to query information or modify supported parameters. Trap and Inform mechanisms allow devices to report events to centralized systems.

Particularly in SCADA and industrial monitoring systems, SNMP is an important complementary protocol that allows network infrastructure, UPS systems, energy devices, communication equipment, and auxiliary systems to be monitored alongside PLC and process data within the same centralized platform.