What Who-Is-Router-To-Network Is
Who-Is-Router-To-Network is a network-layer message in BACnet, defined in Clause 6.4.1 of ANSI/ASHRAE 135-2024. It is one of the network-layer protocol messages that keep a routed BACnet internetwork working. Both routers and ordinary devices send it to learn which router reaches a particular destination network. It is carried in an NPDU (Network Protocol Data Unit, the network-layer packet) rather than as an application service, so it is unacknowledged: there is no confirmed reply, only a separate I-Am-Router-To-Network from a router that can reach the network.
Unlike application services, this message lives below the object and property layer. It is part of how packets find their way between networks, not something a client reads or writes.
How It Works
The message optionally carries a 2-octet destination network number. When a device needs to reach a network it has no route for, it broadcasts Who-Is-Router-To-Network naming that network, and the router connected to it answers with I-Am-Router-To-Network. Sent with no network number, the message asks every router to announce all the networks it can reach, which is how a device or router builds an up-to-date picture of the internetwork’s routing. Routers also use it among themselves to maintain their routing tables.
Where You’ll See It
- Reaching a remote network. A head end (the central BMS server) that needs a device on another network number sends this message to find the router that gets there.
- Router table maintenance. Routers exchange it to discover each other and keep their routing tables current as networks come and go.
- Diagnostics. A capture full of Who-Is-Router-To-Network with no answers points to a missing or misconfigured router for the network in question.
Who-Is-Router-To-Network Error Codes
Who-Is-Router-To-Network is an unacknowledged network-layer message, so it has no application-layer error response. A query that draws no reply is not a service error; it is a routing or addressing problem. The usual causes:
- No router on the internetwork is connected to the requested destination network, so nothing answers. Silence is the normal negative case: only a router that can reach the destination network replies.
- The broadcast did not propagate to where the router is, often a subnet or BACnet BBMD path problem.
A related message, Reject-Message-To-Network, is the network’s response to actual unroutable traffic (it carries a reject reason); it is not the expected answer to a Who-Is-Router-To-Network query.
Profiles That Require It
The network-layer messages are the router’s job. Handling Who-Is-Router-To-Network in both directions is required through the router configuration capability NM-RC-B, which is required of the router profile B-RTR. Non-routing devices may send it to find a route but are not required to answer it.
What Chipkin Provides
The CAS BACnet Stack supports Who-Is-Router-To-Network, both sending the query and answering it with I-Am-Router-To-Network as a router. Talk to us about adding BACnet client or server support to your device.