Use of BBMDs is the answer to a BACnet/IP network that needs to span multiple IP subnets. Each IP subnet with BACnet/IP devices requires one (and only one) BBMD.
A BBMD delivers BACnet broadcast messages, such as Who-Is and Who-Has. As a rule, standard IP routers inherently block globally broadcast messages used to connect separate IP subnets. This blockage does not exist for directed messages between devices on different subnets, such as a common ReadProperty request, which is not a broadcast message.
The BBMD resolves this issue by acting as a broadcast manager for its subnet, working in coordination with other peer BBMDs. Each other IP subnet that contains BACnet/IP devices has one BBMD. Each BBMD stores a table with the IP address and distribution mask of all BBMDs, itself included. This is called the BBMD’s BDT (Broadcast Distribution Table), and is identical in each BBMD for that entire BACnet/IP network. (The BDT in each BBMD is required to be identical in the original specification. However, Addendum 135-2008o (not currently implemented in the Framework) relaxes this requirement to allow BACnet/IP communication in the Network Address Translation (NAT) environment.)
A BBMD may be a device operating solely as a BBMD, or more typically, include BBMD functions in addition to other application/controller
duties. This is the case with a host station running a BACnet network with its IpPort, Link container’s Ip Device Type property set to Bbmd (instead of the default Standard, or Foreign Device).
When a device sends a global broadcast message, all devices on its local subnet automatically received it, including the BBMD. (Local devices reply as needed to the broadcast device without BBMD involvement.) The local BBMD forwards the broadcast message to the other subnets, using one of two methods (as defined for each remote subnet):
Replies to BACnet broadcast messages may or may not require BBMD involvement. Occasionally, these are directed messages back to the particular BACnet/IP device that generated the message. However, replies to a Who-Is broadcast are often broadcast I-Am messages, as is the case with the BACnet driver.