What is a BACnet network number, and what does a BACnet router do?
Updated 4 November 2026
A network number (1–65534) names one BACnet network: one MS/TP trunk, or one BACnet IP network (a subnet and UDP port, plus any subnets joined to it by BBMDs). A BACnet router joins networks and forwards messages between them by number. Each number must be unique on the site, and every router on the same network must use the same number for it. A duplicate makes routed devices drop out or answer from the wrong place, and head-ends report it as a router loop or duplicate network.
Why BACnet has its own network numbers
An IP router moves IP packets between subnets. It knows nothing about MS/TP trunks. BACnet needs its own routing so a head-end on Ethernet can reach a VAV controller on an RS-485 pair, and for that every BACnet network gets a number. A message to a routed device carries the destination network number and the device's MAC on that network; routers pass it along until it reaches the router attached to that network, which delivers it locally.
What counts as one network
- An MS/TP trunk is one network. Each router port with a trunk on it needs its own number.
- A BACnet IP network is all the devices on one IP subnet and UDP port, plus any other subnets tied in by BBMDs. Every router with a port on that BACnet IP network must be configured with the same number for it.
- Field devices don't know their network number. It lives in the routers. A VAV controller only knows its MAC and its Device ID.
What a router does
Typically it's built into the supervisory controller (JACE, NAE/SNE, PXC, AS-P and so on) or is a small standalone box in the panel. It has a BACnet IP side and one or more MS/TP ports, each with its own network number. It announces the networks it can reach with I-Am-Router-To-Network, passes a Who-Is down each trunk and the I-Ams back up, and forwards reads and writes. To a tool on the IP side, every device behind it seems to come from the router's IP address, with the trunk's network number and the device's MAC in the BACnet header.
Not every supervisory controller routes. Many poll their trunks for their own use and only republish selected points; those field controllers never appear in a scan. See does Easy BACnet support MS/TP?
When numbers clash
The two common faults:
- Two networks, one number. Two trunks on different routers were both given network 2, often because each contractor started at 1 or a replacement router went in with the old settings. Routers now have two paths to "network 2"; devices on one trunk or the other disappear, or a read reaches the wrong controller.
- One network, two numbers. Two routers on the same BACnet IP subnet call it by different numbers. Each one's idea of where things are disagrees with the other's, and discovery through them gets erratic.
Niagara and other head-ends flag these as router loops or duplicate network alarms. A related fault, two routers both offering a path to the same trunk, isn't allowed by the standard either: one network, one route.
Numbering that holds up
Write a plan down before the job and keep it with the as-builts. A common pattern is a low number for the BACnet IP network and blocks per building or per supervisory controller for trunks, such as 1001–1009 for the trunks on controller 1 in building 1. Many integrators then build Device IDs from the network number and MAC, so device 14 on network 1003 becomes 100314, which keeps Device IDs unique too. See BACnet Device IDs explained.
Checking from the IP side
A scan on the BACnet IP network shows every routed device with its router's IP, network number and MAC. In Easy BACnet, Browser Mode lists that for each device, so you can see at a glance which trunks are behind which router, and whether two routers are claiming the same network number. Changing network numbers is done in the routers' own configuration tools, usually by the controls contractor.
Check it on your own network. Easy BACnet is a free Android app that finds BACnet IP devices and reads their points in a couple of taps.
Get it on Google Play