Automation Glossary • DNP3 Broadcast Addressing

What Is DNP3 Broadcast Addressing?

Merobix Engineering • • 7 min read

Usually a DNP3 master talks to one outstation at a time, using its unique link address. Sometimes it needs to say the same thing to all of them at once - most often to freeze counters or set time across a whole site simultaneously. That is what broadcast addressing is for. This page explains the reserved DNP3 broadcast addresses, how a broadcast frame behaves, and why it deliberately gets no confirmation.

Back to Blog

DNP3 Broadcast Addressing in one line: DNP3 broadcast addressing lets a master send one frame to every outstation on a link at once by using a reserved broadcast destination address (0xFFFF, and the 0xFFFD and 0xFFFE variants) instead of a specific outstation address. It is used for simultaneous actions like freezing counters or synchronizing time across a site. Broadcast frames are unconfirmed - outstations act on them but do not reply - because many simultaneous replies would collide.

The Reserved Broadcast Addresses

Every DNP3 outstation has a unique link address, and a master normally puts that specific address in the destination field of a frame. Broadcast addressing uses reserved addresses instead. The all-stations broadcast is 0xFFFF, with 0xFFFD and 0xFFFE reserved as broadcast variants that differ in whether an application-level confirmation is requested. When an outstation sees a broadcast destination, it recognizes the frame as addressed to every device, not just itself.

This is a different mechanism from the ordinary unicast addressing covered under DNP3 master and outstation addresses. Those addresses identify one device; the broadcast addresses identify all of them at once. It parallels how Modbus broadcast at address 0 reaches every slave, though DNP3 uses reserved high addresses rather than address zero.

Why Broadcasts Get No Reply

A broadcast frame is deliberately unconfirmed. If every outstation replied to the same frame, their responses would all transmit at once and collide on a shared serial or radio link, garbling each other. So the rule is that outstations perform the requested action but do not send a response to a broadcast. The master gains simultaneity at the cost of acknowledgement.

That trade-off shapes what broadcast is good for. It suits fire-and-forget, whole-site operations where doing the action at the same instant matters more than confirming each device did it - the classic case being a simultaneous counter freeze so all totals share one timestamp, or a broadcast time-set. It is not used for critical control of a single output, where you need the confirmation of a directed command. When simultaneity is the goal, broadcast is the tool; when acknowledgement is the goal, a unicast request to each outstation is.

Broadcast and Unicast Side by Side

BehaviorUnicast requestBroadcast request
Destination fieldThe outstation's unique link addressA reserved address: 0xFFFD, 0xFFFE, or 0xFFFF
Who acts on itOne outstationEvery outstation that hears the frame
ReplyA solicited response comes backNo response frames; confirmation behavior follows which reserved address was used
Best suited forPolls, reads, and confirmed controlsSimultaneous whole-site actions such as freezes and time-sets

The table is worth internalizing because the failure modes differ. A unicast request that goes unanswered is visible immediately: the master times out and retries. A broadcast that an outstation missed is invisible by design - nothing in the exchange tells you a station slept through it. Whatever you use broadcast for must either tolerate an occasional miss or be followed by a check, which is what the follow-up pattern below is for.

What Changes on Serial, TCP, and UDP

Broadcast is a link-address concept, so how it physically fans out depends on the transport underneath. On a multidrop serial or radio channel the picture matches the intuition: one frame goes out, every outstation on the channel hears the same bits at the same moment, and the simultaneity is genuinely physical. That is the environment the mechanism was designed for.

Over TCP the situation differs, because TCP connections are point to point. A master that wants to broadcast sends a frame carrying the broadcast destination address down each outstation's connection in turn, so every station still recognizes and acts on a broadcast frame, but the copies arrive separately and the actions are only approximately simultaneous. UDP can carry a single datagram toward multiple stations where the network supports it. If tight simultaneity across stations is the whole point of the operation, the transport matters as much as the addressing - the trade-offs are covered in more depth under DNP3 over serial vs TCP.

A Follow-Up Pattern That Confirms the Unconfirmed

Because broadcasts get no reply, disciplined masters pair them with a verification pass. Take the classic case, a simultaneous counter freeze across a site. The sequence: the master sends one broadcast immediate-freeze request; every outstation copies its running counters into its frozen counters at that shared instant; then the master polls each outstation one by one over unicast to read the frozen values back. The simultaneity came from the broadcast, and the confirmation comes from the follow-up reads - any outstation whose frozen values are absent or visibly stale did not act, and can be frozen and read individually.

Time-set broadcasts have their own indirect confirmation. An outstation whose clock still needs setting raises an internal indication flag in its subsequent responses, so the master learns which stations remain unsynchronized the next time it talks to them. How that fits into the wider clock discipline of a system is covered under DNP3 time synchronization.

Cautions Before You Reach for Broadcast

  1. Confirm from device documentation that every outstation on the link supports the function you plan to broadcast - stations that do not will silently ignore it.
  2. Remember the frame reaches every station on the link, including ones you forgot were there; broadcast has the widest blast radius of any request a master can send.
  3. Do not use broadcast for output controls; controls belong on confirmed unicast exchanges to a named station.
  4. If the system runs secure authentication, review how your implementation handles broadcast before relying on it.
  5. Coordinate whole-site actions like time-sets with site procedures, since every log and event timestamp downstream will feel them.

None of these are reasons to avoid broadcast - a whole-site freeze remains the cleanest way to get totals that share one instant. They are reasons to treat it as a deliberate, occasional operation rather than a routine one, and to keep the follow-up reads in place so that silence never gets mistaken for success.

Frequently Asked Questions

What is the DNP3 all-stations broadcast address?

0xFFFF is the all-stations broadcast destination address. The reserved addresses 0xFFFD and 0xFFFE are broadcast variants that differ in whether an application confirmation is requested. Any of them signals a frame meant for every outstation on the link.

Why do outstations not reply to a DNP3 broadcast?

Because simultaneous replies from many outstations would collide on a shared link and garble each other. Outstations perform the broadcast action but stay silent, so the master trades acknowledgement for the ability to reach every device at once.

What is DNP3 broadcast typically used for?

Whole-site simultaneous operations - most often a counter freeze so every total shares one instant, or a time-set to synchronize outstation clocks together. It is not used for critical control of a single output, where a confirmed unicast command is required.

Does a DNP3 broadcast work over TCP connections?

Yes, but differently from serial. TCP is point to point, so the master sends the broadcast-addressed frame down each outstation's connection separately; every station still treats it as a broadcast and stays silent, but the copies arrive at slightly different times, so the simultaneity is approximate rather than physical. On a multidrop serial or radio channel, all stations hear the same frame at the same moment.

How do you know outstations actually acted on a broadcast?

You verify indirectly. After a broadcast freeze, poll each outstation over unicast and read its frozen counter values back - a station that missed the broadcast shows absent or stale frozen data and can be handled individually. After a broadcast time-set, watch for the internal indication that a station still needs time in its subsequent responses. Silence alone never confirms anything.

Sources and verification

This page references the protocol specifications published by the organizations below. Editions, product capabilities, and documentation change over time - confirm current requirements and specifications directly with the source.

Merobix is not affiliated with, endorsed by, or sponsored by these organizations; their names are used only to identify the standards and products discussed.

More in Industrial Protocols
IEC 104 ASDU and IOA Plan  •  Modbus Register Addressing (40001 vs 0-Based Offset)  •  Modbus zero-based vs one-based addressing  •  Broadcast Write Address 0  •  Symbolic vs Absolute Addressing  •  All Industrial Protocols →
Free SCADA operator training
Merobix University - 70 video lessons & 261 quiz questions, from first login to compliance reporting. No demo call required.
Start free →