DNP3 Protocol

<< Click to Display Table of Contents >>

 

DNP3 Protocol

DNP3 (Distributed Network Protocol version 3.0) protocol was introduced in this configuration in 1997, as an open and public protocol aiming interoperability among electrical, oil, and gas systems, as well water and sewage treatment stations. Developed exclusively for SCADA systems, DNP3 protocol's framework follows the same specifications of European IEC 60870-5-101 Standard, with structured control octets for data transmission between a master station and IEDs.

This protocol uses a simplified version of OSI/ISO model, named EPA (Enhanced Performance Architecture), using only the Application, Link, and Physical layers. However, DNP3 must use some functions from transport and network layers. In this case, there is a Transport Pseudo-Layer. The next table contains a brief description of the layers in use on DPN3 protocol.

OSI model structure of DNP3 protocol

Layer

Description

Application

Level where data is generated for sending, or requested for sending, and provides the address of data object's element, describing the message's formats, services, and procedures

Transport Pseudo-Layer

Allows large blocks of messages to be segmented and transported

Link

Layer to perform flow control and error control of data packets (CRC or Cicle Redundancy Code), in addition to provide an indication of other events, such as the link status

Physical

Layer defining by which physical layer the protocol is transmitted, dealing with electrical specifications, establishing connection, and controlling data flow

 

The transport pseudo-layer sometimes corresponds to the transport layer in a limited way, working to ensure data delivery of full messages in a transparent way, point-to-point, including segmentation and reassembling of data and data correction of the network layer, aiming to control data packet flow and message routing.

Together with the application layer, the pseudo-layer splits messages larger than 249 octets. For each data packet a single Function Code byte is inserted, which indicates whether the packet of the link layer is the first one on the message, the last, or both, in case there is no fragmentation of the message.

Regarding the type of message, the DNP3 protocol uses messages with or without confirmation. When working with messages with confirmation, priority is given by data reliability and when messages are without confirmation, priority is given by performance.

This protocol includes the message's origin address, in addition to the destination address, which were already present in the Modbus protocol and in the IEC 60870-5-101 Standard, allowing the first concept of network as of today, established in TCP/IP protocol. The addressing modes used in DNP3 protocol are the following:

Master-slave mode, also used for exception mode

Master-group mode, allowing the selection of a list of points

Addressing via broadcast of a master-all mode, allowing data broadcasting

 

Just like in IEC 60870-5-101 Standard, the master-slave architecture of DNP3 protocol provides a synchronous relationship through scan operations and an asynchronous relationship through unsolicited answers, provoked by slave stations.

This important implementation performed on DNP3 protocol is called spontaneous sending of information, which usually indicates the slave device was granted a first freedom item.  With this new function, the slave can format a message without first requesting to the master a send authorization. With the exponential evolution of hardware resources, the possibility of jamming data on a network decreased considerably, as long as the system as a whole is designed and specified adequately. In addition, aiming to sync clocks of interconnected devices of a system, this protocol establishes a method to calculate propagation time of messages.

The DNP3 protocol works on three levels on devices and each level contains a different amount of data objects provided. This feature must be observed during the process of data acquisition on devices using the DNP3 protocol. Each device contains a profile document, called a Device Profile, which contains information allowing the integration among different slave and master devices. Just like in interoperability of IEC 60870-5-101 Standard, devices with the DNP3 protocol with a different profile may not communicate.

Despite network updates and fragmentation, the DNP3 protocol consolidated in the same field of IEC 61870-101 Standard as a real-time protocol, on serial lines, with short messages, of 250 bytes, master-salve with scans at typical periods of one second, and sending by exception, among others.

Was this page useful?