BACnet Foreign Device
BACnet/IP networks use UDP to communicate. UDP is a connectionless protocol therefore when a message is broadcasted on one subnet, routers do not forward the message onto other subnets. This means that a BACnet Client will not be able to discover other BACnet servers on different subnets using a UDP broadcast WHO-IS message. There are two solutions to this problem:
- BBMD to BBMD registration
- A BACnet device on a different subnet can send a Foreign Device Registration to a BBMD on the local network, or a BACnet client device
Although a BBMD to BBMD connection between subnets will always allow for broadcasts and message forwarding, it is not always cost-efficient to install, configure, and maintain a BBMD on a subnet where there are no other BACnet nodes. The BACnet spec provides an alternative to this in the form of foreign devices.
What is a Foreign Device?
A foreign device is a BACnet device with an IP subnet address different from the comprising BACnet/IP network which the device seeks to join (see BACnet Spec J.5.1). The foreign device on a different subnet may send a Register-Foreign-Device Message to the BBMD on the comprising BACnet/IP network to become registered within the BBMD’s FDT (Foreign Device Table) (see BACnet Spec J.2.6.1). Once registered, upon recipient of a local broadcast, the BBMD shall create a forwarded message and send it to each foreign device currently registered in its FDT.
Each device registered in the BBMD’s FDT has a Time-To-Live value in its entry which is the number of seconds within which a foreign device must re-register with a BBMD or risk having its entry purged from the BBMD (see BACnet Spec J.5.2.1). Time-To-Live is two octets and is a parameter of the Register-Foreign-Device message. Upon foreign device registration, a timer is started equal the Time-To-Live with a fixed grace period of 30 seconds. This timer was implemented to conserve the FDT table space resource and purge any Foreign Devices whose Time-To-Live has expired. A device will have to re-register with the BBMD periodically to maintain full participation in the BACnet/IP network.
CAS BACnet BBMD - Would you like to be a Beta Tester?
The CAS BACnet BBMD (BACnet Broadcast Management Device) is a Windows and Linux software application that allows multiple BACnet/IP devices to send BACnet broadcast messages across NAT routers, and BACnet/IP devices with different IP/UDP ports to communicate with each other.
BACnet/IP uses IP/UDP broadcast messages to communicate on local subnet. If two BACnet/IP devices are on different subnetworks (VLans, NAT Routers, etc…) and need to communicate with each other, a BBMD device is needed to facilitate sending and rebroadcasting the messages on the different sub networks.