sACN and E1.31
The ANSI standard for carrying DMX512-A control data over IP, universe-addressed, multicast by default, with source priority.
What it is
Streaming ACN, standardized as ANSI E1.31, carries DMX512-A data over IP. Data is organized by universe, each universe being a block of level data addressed as a unit. Transport is UDP, and the normal distribution method is multicast with a group address derived from the universe number, so a receiver joins only the universes it needs rather than filtering everything in software. Packets carry a source name and a component identifier that distinguishes senders, a sequence number so receivers can detect loss and reordering, and a priority field used to arbitrate when more than one source is transmitting the same universe. Option flags cover cases such as data intended for preview rather than live output.
Why it matters
sACN is the transport most of the control layer depends on, and its failure modes are the ones that show onstage immediately. Because group addressing is per universe, a network without working IGMP snooping delivers every universe to every port, which is survivable at small counts and is not at large ones. Because priority arbitration is defined, a backup source can sit live and take over cleanly, which is a real operational advantage on a long run. Both properties only hold if the network was built to support them, and both degrade silently: a flooding fabric looks correct until it is loaded, and a priority scheme nobody documented looks correct until the day the backup is needed.
One multicast group per universe lets receivers join only what they need, provided snooping is actually working
Priority allows a hot backup source; two sources at equal priority is a conflict and receiver behavior varies
Sequence numbers expose loss and reordering, so a receiver can discard packets that arrive out of order
sACN carries levels, not intent: it says nothing about where a performer is or why a value changed
sACN or Art-Net?
Art-Net is Artistic Licence's protocol and is commonly configured as broadcast or unicast, while sACN is an ANSI standard that is normally multicast with per-universe groups and a defined priority field. On a large rig the group addressing and standardized arbitration usually favor sACN. The practical decider is often what the endpoints support, and mixed rigs are normal, in which case decide deliberately which universes live on which protocol and document it.
Why is sACN traffic reaching ports that never asked for it?
Almost always because IGMP snooping is off, or is on without a querier keeping group membership alive, so the switch falls back to flooding the domain. It works, right up to the point where universe count or link utilization makes it not work. Verify membership on the switch rather than trusting that output looks correct, since correct output is exactly what flooding produces.
How does priority actually resolve in practice?
A source at higher priority takes precedence over a lower one, which is what makes a hot backup workable. Equal priority from two sources for the same universe is a conflict condition, and what an individual receiver does about it is not something to rely on across a mixed rig. Assign priorities explicitly across every source, write them down, and test the takeover rather than assuming it.