BACnet MS/TP vs BACnet/IP — what is the difference?
Updated 4 November 2026
BACnet/IP carries BACnet over Ethernet using UDP 47808. BACnet MS/TP (Master-Slave/Token-Passing; recent editions of the standard say Manager-Subordinate) carries it over an RS-485 twisted pair daisy-chained between controllers. IP is fast and needs a switch port per device; MS/TP is slow but cheap to wire. That is why on many sites the supervisory controllers and plant controllers are on IP, while VAV boxes, fan coils and unit controllers sit on MS/TP trunks behind a BACnet router.
Different wires, same BACnet
The objects, properties and services are the same on both; only the lower layers differ. BACnet/IP rides on an Ethernet network, usually a dedicated controls network or VLAN. MS/TP rides on a shielded RS-485 pair (plus a reference conductor) run from controller to controller, with end-of-line termination at each end. Common baud rates are 38400 and 76800; older trunks run 9600 or 19200.
Token passing
MS/TP devices share one pair, so masters take turns: a token passes from one master MAC address to the next, and only the holder may transmit. It works well when the trunk is healthy, but it limits throughput. A heavily loaded trunk (40 to 60 devices), a bad termination or a duplicate MAC address slows every device on it. That is part of why reading a large MS/TP controller from the IP side takes a while. When a trunk misbehaves, work through the MS/TP troubleshooting checklist.
Addressing and how they meet
On MS/TP a device has a one-byte MAC address on its trunk (0–127 for masters), and the trunk has its own BACnet network number. A BACnet router (often built into the JACE or supervisory controller) joins the trunk to BACnet/IP. From the IP side each MS/TP device still has its own Device Instance and answers scans through the router. That is how Easy BACnet, which speaks BACnet IP only, lists and reads MS/TP controllers: through a router on the subnet your phone is on. It cannot connect to an RS-485 trunk directly.
Which am I looking at?
In Easy BACnet's device list, MS/TP devices behind a router show the router's IP address, so a dozen devices sharing one IP are almost certainly on a trunk behind that router. A device with its own IP address is BACnet/IP. If the scan warns that two controllers share one MS/TP address behind a router, that trunk has a duplicate MAC to fix.
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