Introduction
The distributed network protocol (DNP3) was developed to achieve an open, standard interoperability for communications between client stations, substation devices, RTUs, and Intelligent Electronic Devices (IEDs). DNP3 has been used primarily by utilities such as the electric power industry in North America and has become widely used in other distributed infrastructures such as water/wastewater, transportation, and oil and gas industries.
DNP3 is based on the International Electrotechnical Commission Technical Committee 57 Working Group 03. The IEC TC57 WG03 has been working on the Enhanced Performance Architecture (EPA), a protocol standard for telecontrol applications. Each of the EPA’s three layers corresponds to a layer on the OSI reference model.
DNP3 is specifically developed for inter-device communications that use SCADA RTUs. The protocol facilitates both RTU-to-IED (Intelligent Electronic Device) and client-to-RTU/IED.
The protocol was originally designed for slow serial communications, but the current DNP3 IP version also supports TCP/IP-based networking.
Supported Protocol Features
These are the main features that DNP3 supports:
clock synchronization
polled interrogations
polled report-by-exception
unsolicited report-by-exception
DNP3 security authentication
events transmission (time-stamped or not)
counter-specific treatment
client commands
Protocol Characteristics
Protocol |
Characteristics |
---|---|
DNP3 NET client |
up to 64 servers (one session for each server) |
input: 8 Kb output: 8 Kb |
|
DNP3 NET server |
input: 8 Kb output: 8 Kb |
up to 150,000-event queue for all data types |
|
clock synchronization from a client |
|
DNP3 secure authentication versions SAv2 and SAv5 |
|
4 concurrent client connections |
|
DNP3 serial client |
up to 32 servers (one session for each server) |
input: 8 Kb output: 8 Kb |
|
DNP3 serial server |
input: 8 Kb output: 8 Kb |
up to 150,000-event queue for all data types |
|
clock synchronization from a client |
|
DNP3 secure authentication versions SAv2 and SAv5 |
|
1 concurrent client connection |
Interoperability Lists
This implementation of DNP3 is fully compliant with DNP3 Subset Definition Level 3, which suits larger RTU applications and offers practically the complete range of DNP3 functionality.
This standard defines interoperability between devices from different vendors. It includes a device profile that describes the basic protocol functionalities supported by the device and an Implementation table that defines information objects and their representation supported by the device.