What it is
DNP3 (Distributed Network Protocol 3) is an industrial communication protocol developed in the early 1990s by Westronic and later standardized by the DNP Users Group. It was designed to address the requirements of supervisory control and data acquisition in electric power systems: reliable operation over degraded serial links, efficient polling of many remote terminal units, accurate timestamping of events, and support for a wide range of data types including binary inputs, analog measurements, counters, and control outputs. DNP3 is structured in four layers and defines both a data link layer for reliable framing over noisy media and an application layer that organizes data into typed objects with quality attributes.
Key points
- Designed for electric utilities and water systems where communication links may be slow, noisy, or intermittent.
- Supports unsolicited responses, allowing remote devices to report data changes without being polled.
- Includes data quality flags and millisecond timestamps for every measurement, enabling accurate event reconstruction.
- Organized around a master/outstation model that maps directly to SCADA control center and field device relationships.
- Secure Authentication version adds HMAC-based challenge/response, but adoption remains inconsistent.
Concrete example
A water utility's SCADA system polls dozens of remote pumping stations using DNP3 over a combination of fiber links and cellular modems. Each pumping station runs an RTU that monitors level sensors, flow meters, and pump status, and that can receive commands to start or stop pumps and adjust valve positions. Because the cellular modems use a shared APN without network isolation, and because the RTUs run base DNP3 without Secure Authentication, any device that can reach the cellular network segment and knows the DNP3 address of a station can issue pump start and stop commands. The operational and public health consequences of unauthorized pump control in a water distribution system can be significant.