Introduction
The DNP3 protocol, also known as the Distributed Network Protocol, is a well-established telecontrol standard used by energy supply companies in the United States and many other countries around the world. DNP3, also known as IEEE Std 1815, is a comprehensive protocol standard that defines the rules computers must follow when communicating with one another. The protocol, launched in 1993, was designed specifically for communication between utility computer systems and remote devices. DNP3 focuses on transporting simple data values while maintaining a high level of data integrity.
DNP3 is based on the International Electrotechnical Commission (IEC) Technical Committee 57, Working Group 03 standards for an OSI Layer 3 “Enhanced Performance Architecture” (EPA) used in telecontrol applications.
The DNP3 protocol is open and publicly available. The DNP3 Users Group is responsible for its ongoing development, interoperability, long-term support, and upgrades. Proposed changes are reviewed and approved by the Users Group Technical Committee before being added to the standard.
The complete documentation, including protocol specifications, security authentication methods, XML device profile creation, and conformance test procedures, is available to users in the official document library.
DNP3 Message Structure
DNP3 is a packet-oriented protocol used for communication between a master station and remote devices. Basic serial telemetry protocols are byte-oriented and exchange data in single bytes, whereas extended telemetry protocols are packet-based, exchanging data in structured packets that contain headers, data, and checksums. DNP3 follows the packet-based approach.
When the master sends a Read request, the remote device responds with the requested data. To perform an action, the master sends an Operate command. When a specific event occurs, the remote device may send an Unsolicited Message back to the master.
An Application Protocol Data Unit (APDU) is formed by combining the Application Service Data Unit (ASDU) with the Application Protocol Control Information (APCI).
The Transport layer divides the APDU into segments of up to 16 bytes and adds a transport header and CRC for data integrity. The Link layer then prepares the data for transmission.
If the packet is transmitted over a network (LAN/WAN), it is encapsulated inside TCP/IP or UDP/IP. The Network Interface layer finally transmits it over physical media such as twisted-pair cable, coaxial cable, or fibre optics. This layered model isolates tasks and simplifies network design and implementation.
Traversing the Layers
To understand how DNP3 works, consider a Read request sent across a LAN:
- The DNP3 master forms a Read request message.
- This message passes through the three DNP3 layers, then to TCP/UDP, which adds source and destination port details.
- The IP layer adds IP and MAC (Media Access) addresses.
- The Network Interface layer verifies the communication medium and sends the packet.
The packet travels through routers and switches to the remote device. At the remote station, the process is reversed:
- The Network Interface layer receives the packet.
- The IP layer verifies the address.
- The TCP/UDP layer checks the port.
- The message then moves through the DNP3 layers to process the request.
The response from the remote device follows the same layered path back to the master station.
DNP3 Monitoring Systems
DNP3 is widely used in modern industrial environments, especially in SCADA systems. It is highly adaptable, but choosing the right master and remote equipment is essential for system efficiency.
Requirements for DNP3 Master Stations
- Must provide clear and accurate alarm information
- Should display graphical alarms for multiple regions
- Must recognize and record cleared alarms
- Should maintain a history of standing and acknowledged alarms
- Must support sorting and filtering of alarms based on location, device type, and severity
- Should offer advanced notification options such as email and SMS alerts
Requirements for Remote Devices
- Should support redundant power supplies
- Must operate with a UPS in case of power failure
- Should support local SCADA access during network outages
Advantages of DNP3 Protocol
- Open standard and vendor-independent
- Supports multiple data types in a single message
- Highly reliable and robust
- Supports time synchronization
- Reduces software costs
- No need for protocol translators
- Lower testing and maintenance effort
Disadvantages of DNP3 Protocol
- Performance may slow if bandwidth is not increased on Ethernet-based systems
- TCP/IP overhead can affect legacy serial networks
Applications of DNP3
- Process automation systems
- Electric, gas, and water utility networks
- SCADA communication systems
- Remote monitoring and telemetry
- Master-to-remote and RTU-to-IED communication
- Industrial and power grid applications