BACnet BBMD Setup: Multi-Subnet Discovery

BACnetBBMDBACnet/IPmulti-subnetdevice discovery
April 2, 2026|10 min read

A BACnet Broadcast Management Device (BBMD) forwards WHO-IS and other broadcast messages across IP subnet boundaries by maintaining a Broadcast Distribution Table (BDT) that lists the IP address of one BBMD on each subnet. Configure exactly one BBMD per subnet, populate identical BDT entries on every BBMD, and ensure UDP port 47808 (0xBAC0) is open between them—this restores device discovery across VLANs without flattening your network.

Why BACnet Devices Disappear Across Subnets

BACnet/IP device discovery depends on broadcast messages—specifically the WHO-IS and I-AM services defined in the BACnet standard. When a BAS front-end or supervisory controller sends a WHO-IS request, it transmits a UDP broadcast on port 47808. Every BACnet/IP device on the same subnet receives that broadcast and responds with an I-AM containing its device instance, network number, and MAC address.

The problem is that IP routers do not forward broadcast traffic between subnets. This is by design—broadcast forwarding would flood every VLAN in your building with traffic from every other VLAN. But for BACnet, it means a supervisory controller on VLAN 10 (say, 10.1.10.0/24) cannot discover any BACnet/IP devices sitting on VLAN 20 (10.1.20.0/24). The WHO-IS broadcast stops at the Layer 3 boundary, and the devices on the other subnet remain completely invisible.

Symptoms of this problem include: the head-end shows zero devices from certain floors or zones, WHO-IS queries return partial results depending on which subnet the workstation sits on, and field controllers that were reachable before a network segmentation project suddenly vanish. In every case, the fix is the same: deploy a BBMD on each subnet and configure the Broadcast Distribution Tables so broadcast traffic gets relayed as directed unicast messages between BBMDs.

BBMD Configuration: Step-by-Step

Step 1: Plan Your BBMD Topology

Before touching any configuration screens, map out every IP subnet that carries BACnet/IP traffic. The BACnet standard (ASHRAE 135, Annex J) requires exactly one BBMD per subnet. Having zero means that subnet is isolated. Having two or more on the same subnet causes duplicate broadcast forwarding—traffic doubles or quadruples, and you get phantom devices or communication timeouts.

For a typical three-subnet campus, your plan might look like this:

Subnet A: 10.1.10.0/24  →  BBMD at 10.1.10.5  (e.g., JACE 8000)
Subnet B: 10.1.20.0/24  →  BBMD at 10.1.20.5  (e.g., BASrouter)
Subnet C: 10.1.30.0/24  →  BBMD at 10.1.30.5  (e.g., NAE55)

Pick a device on each subnet that is always powered on, has a static IP, and supports the B-BBMD device profile. Good candidates include supervisory controllers (JACE, NAE, NCE), dedicated BACnet routers (Contemporary Controls BASrouter), or software BBMDs (Chipkin CAS-1000-06).

Step 2: Build the Broadcast Distribution Table (BDT)

The BDT is a list of all BBMDs participating in the BACnet/IP network. Every BBMD must hold the same BDT, including an entry for itself. Each entry contains three fields:

For the three-subnet example above, every BBMD gets this identical BDT:

┌─────────────────┬───────┬─────────────────────┐
│  IP Address      │ Port  │ Distribution Mask    │
├─────────────────┼───────┼─────────────────────┤
│  10.1.10.5       │ 47808 │ 255.255.255.255      │
│  10.1.20.5       │ 47808 │ 255.255.255.255      │
│  10.1.30.5       │ 47808 │ 255.255.255.255      │
└─────────────────┴───────┴─────────────────────┘

Step 3: Understand the Broadcast Distribution Mask

The distribution mask controls how a BBMD delivers forwarded broadcasts to a remote subnet. There are two methods:

Use 255.255.255.255 (two-hop) unless you have a documented reason not to. It is more reliable, more secure, and works in every network topology.

Step 4: Configure the BBMD on Each Device

The exact interface varies by manufacturer, but the process is the same everywhere: enable BBMD functionality, then enter the BDT entries.

Contemporary Controls BASrouter (Web Interface)

  1. Open the BASrouter web interface (default IP shown on the front panel).
  2. Navigate to the BACnet IP configuration page.
  3. Check the BBMD Enable checkbox.
  4. In the BDT section, add entries for every other BBMD (the BASrouter adds its own entry automatically). Enter the IP address and set the Broadcast Distribution Mask to 255.255.255.255.
  5. Click Submit and reboot the device when prompted.

Tridium Niagara JACE / Supervisor

  1. In Workbench, expand Drivers > BacnetNetwork > BACnet IP Port.
  2. Set BBMD Mode to enabled.
  3. Open the BBMD Table property sheet.
  4. Add a row for each remote BBMD: enter the IP address, port 47808, and mask 255.255.255.255.
  5. Save and restart the BACnet network.

Johnson Controls NAE / NCE (Metasys)

  1. In the System Configuration Tool (SCT), select the engine and open BACnet Settings.
  2. Enable BBMD on the BACnet/IP port.
  3. Add BDT entries listing every BBMD in the network (including the local engine).
  4. Download the configuration to the controller.

Software BBMD (Chipkin CAS-1000-06)

The CAS-1000-06 runs on Windows or Linux and reads its configuration from a settings.csv file. A minimal BDT configuration looks like:

# settings.csv for CAS-1000-06 BBMD
# Format: IP Address, UDP Port, Broadcast Distribution Mask
10.1.10.5, 47808, 255.255.255.255
10.1.20.5, 47808, 255.255.255.255
10.1.30.5, 47808, 255.255.255.255

Launch the application. Press B during runtime to display the current BDT. Press R to reload the settings file after edits without restarting the process.

Step 5: Open Firewall Rules

Every BBMD must be able to reach every other BBMD via UDP port 47808. Work with your network team to create firewall rules permitting UDP 47808 traffic between the BBMD IP addresses. If any BBMD sits behind a NAT gateway (common in multi-building campuses), you will also need port forwarding rules for UDP 47808 pointed at the BBMD's internal address.

# Example: iptables rules on a Linux host running a software BBMD
iptables -A INPUT  -p udp --dport 47808 -s 10.1.10.5 -j ACCEPT
iptables -A INPUT  -p udp --dport 47808 -s 10.1.20.5 -j ACCEPT
iptables -A INPUT  -p udp --dport 47808 -s 10.1.30.5 -j ACCEPT

Step 6: Verify with WHO-IS

After configuring all BBMDs, send a global WHO-IS from a workstation on any subnet. You should now see I-AM responses from devices across all subnets. If a subnet is still missing, check:

Foreign Device Registration (FDR)

Foreign Device Registration is an alternative to BBMD for devices that need temporary or occasional access to the BACnet network from a different subnet. The most common use case is a technician's laptop running a BACnet service tool—you don't want to deploy a permanent BBMD on every subnet a technician might plug into.

With FDR, the device registers itself with an existing BBMD on a remote subnet. The BBMD adds the device to its Foreign Device Table (FDT) and begins forwarding broadcast traffic to it. The registration has a Time To Live (TTL)—typically 60 to 500 seconds—after which the device must re-register or it gets dropped from the FDT. Most BACnet tools handle re-registration automatically.

To configure FDR on a client device, you need three pieces of information:

  1. The IP address of the BBMD to register with
  2. The UDP port (47808 unless changed)
  3. The TTL value in seconds (60–500 is typical; the BBMD must have FDR acceptance enabled)

The BBMD must be configured to accept foreign device registrations. On most platforms, this is a checkbox or toggle labeled Accept Foreign Device Registrations or FDR Enable. If a subnet has only devices that support FDR, that subnet does not need its own BBMD at all—the devices can register with a BBMD on a different subnet.

Common BBMD Configuration Mistakes

Platform and Version Compatibility

BBMD support is defined in the BACnet standard (ASHRAE 135, Annex J) and is implemented in the B-BBMD device profile. Any device or software listed as BTL-certified with B-BBMD support can act as a BBMD. In practice, the following platforms are commonly used:

Platform / DeviceBBMD SupportNotes
Contemporary Controls BASrouter (BASRT-B)YesDedicated BACnet router with BBMD. Up to 50 BDT entries. Web-based configuration.
Tridium Niagara (JACE 8000, Niagara Supervisor)YesBBMD configurable per BACnet/IP port in Workbench. Niagara 4.x and later.
Johnson Controls NAE / NCE (Metasys)YesConfigured via SCT or Metasys UI. Supported in Metasys 10.x and later.
Schneider Electric AS-P / AS-B (EcoStruxure)YesBBMD enabled in the SpaceLogic or EcoStruxure Building Operation engineering tool.
Siemens PXC Modular / Desigo CCYesBBMD and FDR configurable in the Desigo CC engineering environment.
Honeywell Spyder / CIPerYesBBMD supported on controllers with BACnet/IP capability.
Distech Controls EC-BOS / ECLYPSEYesBBMD available in the Distech EC-Net or ENVYSION interface.
Chipkin CAS-1000-06YesSoftware BBMD for Windows and Linux. CSV-based configuration. B-BBMD profile.
Beckhoff TwinCAT BACnetYesBBMD with configurable BDT and FDT size. Supports two-hop and one-hop modes.

If you are unsure whether a specific controller supports BBMD, check the device's PICS (Protocol Implementation Conformance Statement) document. Look for the B-BBMD device profile or the BIBBs NM-BBMDC-B (BBMD Configuration) in the supported services list.

Source Attribution

This guide draws on technical documentation from the following sources:

BBMDBACnet/IPmulti-subnetdevice discoveryVLAN

Was this article helpful?

Related Articles

Need to do this remotely? SiteConduit provides Layer 2 access that preserves BACnet broadcasts — no BBMD needed for remote sessions. Join the waitlist.

SC

SiteConduit Technical Team

Idea Networks Inc.

SiteConduit builds managed remote access for building automation. Our knowledge base is maintained by BAS professionals with hands-on experience deploying and troubleshooting BACnet, Niagara, Modbus, and Facility Explorer systems.