BACnet routing is a technique by which data on one physical Data Link layer is passed to and from another physical Data Link layer. In the case of the network engine, this BACnet routing occurs when data is passed from the IP side of the device to the MS/TP side of the device.
If routing is disabled, the network engine provides an indirect (or proxy) method of obtaining the data on its MS/TP network when a request is made from another device on the IP side of the device. With routing enabled, the network engine may no longer need detailed knowledge of the types of devices and services that reside on its MS/TP network–it simply passes the data request from one link to the next and back again with as little interference as possible. This passing of information benefits those third-party vendors that have the need to directly access devices on the network engine’s MS/TP network using tools from the IP network side.
The routing function of the network engine is disabled by default. Routing can be enabled by setting the Routing Mode attribute on the Network tab of the Device object view to Enabled. You can disable routing by setting the Routing Mode attribute to Disabled. Restarting the network engine is not required when routing is enabled or disabled.
The Enable without Broadcasts setting of the Routing Mode attribute is used to reduce the network traffic caused by enabling routing on an MS/TP network. If this option is used, it is difficult for third-party devices outside the network to discover any devices on a routed network using this setting because they rely on broadcast data for discovery. Because the data capacity of Ethernet IP is much higher than that of MS/TP, special care must be taken to avoid overloading the MS/TP bus when routing is enabled.
All integrated points are visible in the network engine by default, including General BACnet Devices. A third-party device can view the entire list of integrated points by requesting the Object List of the network engine. This request is part of the BACnet communication protocol used to help discover objects on other BACnet devices.
If you want to have access to third-party integrated points within the network engine, there is a benefit to interfacing with mapped MS/TP points in the network engine rather than directly with the objects in each MS/TP device. The network engine acts as a high-speed proxy for all data requests within its domain, which ensures the best performance. This is the default behavior for the network engine and eliminates the need for enabling routing on the network engine. Routing should only be enabled if existing third-party tool configurations cannot support any other method.
When routing is enabled, device configurations must follow more strict setup rules, and configurations that may have previously worked in non-routing situations may no longer work. The same setup rules apply for systems with routing enabled and static IP networks.
- Once routing is enabled on the network engine, all device identifiers within each device must be unique across all routed networks, and all network address numbers must be unique across all routed networks.
- Be sure you have good reason before you enable routing. For example, if BACnet rules are not followed when routing is enabled, performance and intermittent issues could result. Or, if a third-party device exists or is added in the future, considerable work may be required to allow the device to work.
The BACnet Broadcast Receive Rate, BACnet Routed Messages Rate, MS/TP Broadcast Transmit Rate, MS/TP Broadcast Receive Rate, and Net Routed Messages attributes allow you to diagnose an overloaded network.