BACnet Discovery & Network Architecture Reference

How BACnet/IP device discovery works — Who-Is/I-Am services, BBMD for multi-subnet networks, device instance configuration, and troubleshooting discovery failures.

Categories:

Overview

BACnet/IP device discovery uses UDP broadcast messages — a device sends a Who-Is request, and every BACnet device on the network responds with an I-Am containing its Device Instance, vendor ID, and capabilities. This works seamlessly on a single subnet but breaks the moment you cross subnet boundaries, NAT routers, VLANs, or virtual machine networks.

Understanding this architecture is critical for:

  • Designing multi-building or multi-subnet BACnet/IP installations
  • Troubleshooting “no devices found” scenarios with CAS BACnet Explorer
  • Configuring QuickServer gateways on segmented networks
  • Planning BBMD deployment for enterprise BACnet networks

BACnet/IP discovery architecture showing single subnet broadcast vs multi-subnet requiring BBMD

How BACnet/IP Discovery Works

Who-Is / I-Am Services

ServiceDirectionPurpose
Who-IsBroadcast (or directed)“Which BACnet devices are on this network?”
I-AmBroadcast response”I’m here — Device Instance 1234, Vendor Chipkin, Model QuickServer”

Who-Is is sent as a UDP broadcast on port 47808 (hex 0xBAC0). Every BACnet/IP device on the same subnet receives the broadcast and responds with I-Am.

[!NOTE] BACnet/IP uses UDP port 47808 by default. Some installations use non-standard ports (e.g., 47812) — these are editable in the device’s web interface, but both sides must agree on the port number.

Device Instance Numbers

Every BACnet device has a unique Device Instance — a 22-bit identifier ranging from 0 to 4,194,302. No two devices on the same BACnet internetwork can share a Device Instance.

Key facts:

  • Device Instance is configured via the gateway’s web interface or config file
  • It survives firmware updates and config reloads
  • When replacing a gateway (e.g., legacy gateway → QuickServer), preserve the Device Instance to avoid BMS re-discovery

[!TIP] When replacing a gateway on an existing BACnet network, set the new gateway’s Device Instance to match the old one. The BMS may still require a re-scan, but preserving the Device Instance minimizes reconfiguration.

Single-Subnet Discovery

On a single subnet, discovery just works:

  1. CAS BACnet Explorer or BMS sends Who-Is broadcast on UDP 47808
  2. All BACnet/IP devices on the subnet receive the broadcast
  3. Each device responds with I-Am
  4. The explorer/BMS builds a device table

Requirements for single-subnet discovery:

  • All devices on the same IP subnet
  • UDP port 47808 open (no firewall blocking)
  • Correct network adapter selected in the discovery tool
  • No duplicate Device Instance numbers

[!WARNING] If your discovery tool has multiple network adapters (common on laptops with Wi-Fi + Ethernet), make sure you select the adapter connected to the BACnet network. Sending Who-Is on the wrong adapter is a frequent cause of “no devices found.”

Multi-Subnet Discovery: BBMD

UDP broadcasts do not cross subnet boundaries — this is a fundamental IP networking constraint, not a BACnet limitation. For BACnet/IP installations spanning multiple subnets, you need a BBMD (BACnet Broadcast Management Device).

What BBMD Does

A BBMD forwards broadcast messages between subnets so that Who-Is/I-Am discovery works across the entire BACnet internetwork:

┌──────────────┐         ┌──────────────┐         ┌──────────────┐
│   Subnet A   │         │   Subnet B   │         │   Subnet C   │
│  10.1.1.0/24 │         │  10.1.2.0/24 │         │  10.1.3.0/24 │
│              │         │              │         │              │
│  Gateway 1   │◄──────► │    BBMD      │◄──────► │  Gateway 2   │
│  QuickServer │  fwded  │  forwards    │  fwded  │  QuickServer │
│              │  bcast  │  broadcasts  │  bcast  │              │
└──────────────┘         └──────────────┘         └──────────────┘

Broadcast Distribution Table (BDT)

The BBMD maintains a BDT — a table listing every BBMD peer and their subnet information. When a broadcast arrives, the BBMD forwards it to every entry in the BDT.

Configuration: The BDT is typically configured via a bdt.ini file uploaded to the BBMD device, or through a web interface.

Foreign Device Registration (FDR)

For devices that aren’t on any BBMD-managed subnet (e.g., a laptop on a VPN, a cloud service, or a virtual machine), Foreign Device Registration allows the device to register with a BBMD and receive forwarded broadcasts.

Common FDR use cases:

  • Remote diagnostic tools accessing a building’s BACnet network via VPN
  • Virtual machines running BACnet software (the VM’s virtual NIC is typically NAT’d)
  • Cloud-based BMS platforms monitoring on-premise BACnet devices

[!TIP] If you’re running CAS BACnet Explorer in a virtual machine, BACnet discovery won’t work unless you configure Foreign Device Registration with a BBMD on the physical network. VM NAT networking blocks UDP broadcasts.

Network Architecture Patterns

Pattern 1: Single Building, Single Subnet

Simplest deployment. All BACnet/IP devices and the BMS on one subnet.

  • No BBMD required
  • Discovery works via broadcast
  • Suitable for small-to-medium buildings

Pattern 2: Single Building, Multiple VLANs

Common in managed networks (hospitals, universities, corporate campuses) where IT separates automation traffic into VLANs.

  • BBMD required on each VLAN, or a central BBMD with BDT entries for each VLAN
  • Firewall rules must allow UDP 47808 between VLANs
  • Coordinate with the IT team — they may block broadcast traffic by default

Pattern 3: Multi-Building Campus

Multiple buildings, each with its own subnet, connected via WAN or campus backbone.

  • BBMD at each building’s BACnet subnet
  • BDT entries for all peer BBMDs across buildings
  • Consider bandwidth — forwarding all broadcasts across WAN links can create congestion on large installations
  • CAS BACnet BBMD can run as a software BBMD on a server at the head end

Pattern 4: Remote Access / Cloud

Remote diagnostics or cloud-based analytics accessing on-premise BACnet/IP.

  • BBMD on the local network with Foreign Device Registration enabled
  • Remote device registers as a Foreign Device via the BBMD’s IP address
  • VPN or secure tunnel for the connection
  • UDP 47808 must be forwarded through any NAT/firewall

BACnet MS/TP Discovery

BACnet MS/TP uses a different discovery mechanism — token-passing on an RS-485 serial bus rather than UDP broadcasts.

Key Differences from BACnet/IP

AspectBACnet/IPBACnet MS/TP
TransportUDP over EthernetRS-485 serial
DiscoveryWho-Is/I-Am broadcastToken-passing poll
Address rangeDevice Instance (0–4,194,302)MAC address (Masters: 0–127, Slaves: 128–254)
Subnet bridgingBBMDGateway (e.g., QuickServer with BACnet Router)
Max devicesPractically unlimited per subnet127 masters + 127 slaves per trunk
Baud rateN/A (Ethernet speed)9600, 19200, 38400, 76800 bps — must match all devices

MS/TP Token-Passing

Devices take turns transmitting by passing a “token” around the bus. A device only discovers peers that participate in the token ring. If a device’s Max Masters parameter is set too low (below the highest MAC address on the bus), devices above that MAC won’t be discovered.

[!WARNING] The Max Masters parameter must be set to at least the highest master MAC address on the trunk. Setting it too low is a frequent cause of “missing devices” on MS/TP networks. See the BACnet MS/TP Troubleshooting Guide for more.

Troubleshooting Discovery Failures

No Devices Found

Symptom: Who-Is sent but no I-Am responses received.

CheckDetails
Network adapterCorrect NIC selected? Laptop Wi-Fi vs Ethernet?
SubnetDiscovery tool on the same subnet as BACnet devices? If not, BBMD needed.
Port 47808Firewall blocking UDP 47808? Check both Windows Firewall and network firewalls.
Device powerAre the target devices powered on and running?
Device Instance conflictTwo devices sharing the same Device Instance can cause both to stop responding.

Partial Discovery (Some Devices Missing)

Symptom: Some devices respond, others don’t.

CheckDetails
Multi-subnetMissing devices on a different subnet? BBMD required.
MS/TP Max MastersSet too low — devices above the threshold are invisible.
MAC conflictsTwo MS/TP devices sharing a MAC address — one will be intermittent.
Point count tierQuickServer point tiers (250/500/1000) limit the number of exposable points — verify the tier matches the total point count.

Discovery Worked Before, Now Fails

Symptom: Network was working, discovery suddenly stops after a change.

CheckDetails
Config file formatUploading .xlsx instead of .csv can corrupt the config and break discovery.
Firmware updateNew firmware may reset network settings — verify Device Instance and port survived the update.
Gateway replacementBMS may need a full re-scan after hardware replacement, even with preserved Device Instance.
Config regressionAdding new points to an existing config can break MS/TP communication — always validate existing functionality after changes.

Chipkin Tools

  • CAS BACnet Explorer — BACnet/IP and MS/TP device discovery, diagnostic tool, and network browser
  • CAS BACnet BBMD — Software BBMD for multi-subnet BACnet/IP broadcast forwarding and Foreign Device Registration
  • QuickServer — Multi-protocol gateway with BACnet/IP and MS/TP support, including BACnet Router functionality
  • QuickServer — Legacy protocol gateway for BACnet integrations
  • Chipkin Support — Configuration assistance, BBMD setup, and network architecture consulting

Need more help?

If this page does not resolve the issue, contact Chipkin support with the product model, protocol details, and any diagnostics you have already captured.

Open Chipkin Support