BACnet networks are getting big. Their network infrastructure is getting complicated. BACnet is used to connect campuses, not just buildings. When you connect several networks together, a BACnet/IP Broadcast Management Device (BBMD) is necessary to bridge them. They’re important, but often misunderstood. Use them wrong, and you’ll get a broadcast storm.
What Are Broadcasts?
Broadcasts are efficient. Broadcasts are public. They are used when many devices need the same information. BACnet uses broadcasts to efficiently share network and point data. They are sent once, and received by many.
Big networks have lots of broadcasts. Every device sees every broadcast. If devices have to process too many broadcasts, they’ll be too busy to do their jobs.
Broadcast traffic is efficient, but it can be dangerous when mishandled. Some broadcasts trigger other broadcasts, and if your network is misconfigured you could trigger an endless broadcast storm that takes down the entire network.
Routers connect large networks. Routers are gateways to other networks. To avoid the broadcast storm problem, routers block broadcasts from passing through the gateway. Consequently, you only see broadcasts on your local network, not from the entire campus or Internet.
BACnet needs these broadcasts to function. A BACnet BBMD is necessary to smuggle broadcast traffic across routers.
What is a BBMD?
BACnet relies on broadcasts. They are used for point and device discovery. BACnet devices use broadcasts to announce that they exist and have points to share. Without broadcasts, you won’t see the devices or their points. Devices separated by a router will have their broadcasts blocked by the router. A BACnet/IP Broadcast Management Device (BBMD) is a broadcast smuggler.
Each BBMD has a list of all other BBMDs on other networks in its broadcast distribution table. They act as co-conspirators, getting around the broadcast blockade by smuggling the BACnet broadcasts into directly sent packages that routers allow to pass through. Finally, when a BBMD gets a smuggled package, it broadcasts it locally.
Here’s a brief description of how they function:
- A BBMD packages BACnet broadcast messages that it hears on its own network into an envelope.
- It sends these packages directly to BBMDs on the other networks using its distribution table.
- Since those packages are sent directly from one device to another, routers won’t block it.
- When a BBMD gets a broadcast package from another BBMD, they open up that envelope and rebroadcast the message locally.
This allows your BACnet network to get around any routers in between that would block the broadcast traffic. It’s essentially smuggling, except it’s legal!
Visual Example of Broadcast Communication
Below is an example network architecture with three separate IPv4 networks and three routers. I chose the IP addresses in the example to be similar to what you’d be familiar with at home.
Example Network Architecture
If one of the devices on the 192.168.1.0 network sends a broadcast message, the other device on that network will see it. That same message will be blocked at the router and reach no other devices. This is standard router practice: they keep broadcasts local.
BACnet Broadcast Message Sent
When a BBMD receives the broadcast message it encapsulates it and sends it a direct message to every other BBMD in its Broadcast Distribution Table (BDT). These other BBMDs open up the package and rebroadcast the contents locally, permitting BACnet broadcast traffic to permeate the entire network.
BACnet Broadcast Message Encapsulated and Delivered by the BBMD
Common mistakes with configuring BBMDs
- Multiple BBMDs configured on the same BACnet network is a huge, common problem. If you have more than one BBMD on a network it will cause a broadcast storm (all broadcasts will be multiplied).
- Using different broadcast distribution tables on different BBMDs. The table should be the same everywhere.
- Using the same network number for networks separated by routers. They are different BACnet networks.