DNP3 vs IEC 60870-5-104: Power Utility Protocols Compared
If you work in electric power transmission or distribution SCADA, two protocols dominate the wire between substations and the control center: DNP3 and IEC 60870-5-104. They were built for the same job (reliably move time-stamped events and controls across wide-area networks), but in different regional ecosystems. Choosing between them is almost always decided by where the substation is, not by abstract technical merit.
This guide compares the two so you understand the trade-offs when you meet them in the field. For DNP3 specifics, see class 0/1/2/3 and DNP3 vs Modbus.
Origins and Regions
DNP3 was developed in North America (Westronic, later part of GE Harris, 1993), is maintained by the DNP Users Group, and is also published as IEEE 1815. It is the common choice in North America, and it is also used in South America, Australia and New Zealand, and elsewhere. IEC 60870-5 was developed in Europe under IEC; the -104 variant (2000) is the TCP/IP network-access version of the older serial -101 protocol. It is widely used in Europe, China and many other countries. Both predate IEC 61850 and remain the workhorses of wide-area utility SCADA.
Feature Comparison
Where They Diverge Technically
- Addressing. DNP3 uses 16-bit source and destination addresses (master 1, outstation 10, etc.). IEC 104 uses a 2-byte common address (the station) plus a 3-byte information-object address within each ASDU: a two-level scheme.
- Message structure. DNP3 packs data into object groups and variations (e.g. group 1 variation 1 = single-bit binary input). IEC 104 uses typed ASDUs (application service data units) identified by a type ID.
- Time sync. Both carry per-event timestamps, with different encoding. DNP3 events carry either an absolute 48-bit millisecond UTC time (for example group 2 variation 2) or a time relative to a Common Time of Occurrence object (group 51); IEC 104 uses CP56Time2a (7-byte time) in the time-tagged ASDU types.
- Security. DNP3 Secure Authentication v5 adds application-layer authentication. The base IEC 104 standard has no security; the IEC 62351 series defines a TLS profile (-3) and application-layer authentication (-5) for it.
When the Choice Is Real
Most of the time it is not a choice: your utility or client tells you which protocol the control center speaks, and you conform. The choice becomes real in three situations: a multinational integrator deploying across regions (you need both, with a gateway or multi-protocol master); a green-field substation where the standard is still being set; or a vendor selection where device support for one protocol is stronger than the other.
Testing on macOS
Much of the long-established DNP3 test tooling (for example ASE2000 and Triangle MicroWorks products) runs on Windows. MacTools DNP3 Explorer implements DNP3 natively, so you can connect to an outstation, read points, scan Class 0/1/2/3 events, and run controls from macOS without Windows. It speaks DNP3 only, not IEC 60870-5-104.
Monitor DNP3 on macOS
MacTools DNP3 Explorer: native macOS DNP3 master. Read points, scan events, execute controls. Built for utility SCADA engineers.
Get MacTools DNP3 ExplorerFrequently Asked Questions
What is the difference between DNP3 and IEC 60870-5-104?
Both are power-utility SCADA protocols with event-driven reporting and timestamps. DNP3 is the common choice in North America; IEC 60870-5-104 (the TCP/IP variant of 60870-5-101) is widely used in Europe and China. DNP3 uses 16-bit source/destination addressing and an object model of groups and variations; IEC 104 uses a common-address/information-object-address scheme and ASDU message types. They solve the same problem in different regional ecosystems.
Is IEC 60870-5-104 just DNP3 over TCP?
No. They are independent protocols with separate origins, message formats, and addressing schemes. IEC 60870-5-104 is the TCP/IP network access variant of the serial IEC 60870-5-101 protocol, carrying the same ASDU application messages with a TCP transport layer. DNP3 has its own TCP and serial transports. A device speaking one does not interoperate with a device speaking the other without a gateway.
Which protocol should I use for a substation?
Follow your region and utility standard. In North America DNP3 is the usual choice. In Europe and China IEC 60870-5-104 is widely used (often alongside IEC 61850 for modern substation automation). For a multi-site system spanning regions you may need both, with a gateway or a SCADA master that speaks both.
Does IEC 61850 replace DNP3 and IEC 104?
Not entirely. IEC 61850 is the modern standard for substation automation with object-oriented device models and GOOSE/SV for fast horizontal communication, but DNP3 and IEC 60870-5-104 remain the dominant wide-area SCADA protocols between substations and control centers. Gateways translate between 61850 inside the substation and DNP3/104 to the control center.
Related: Utility SCADA
For continuous utility monitoring: SCADA for water/wastewater with DNP3, Modbus, alarms, historian. Voltrus SCADA free open source core.