Converging BACnet Part 3

Following on from Part 2 of the series of converging BACnet networks, Part 3 will look at Virtual Extensible Local Area Network, which allow the BACnet network to be converged at the network switch level.

Virtual Extensible Local Area Network or VxLAN is an encapsulation protocol used to allow layer 2 packets to traverse the layer 3 boundary. VxLAN is most commonly found on network switches deployed in data centres where there are an extreme number of networked devices (servers) that may all have to site on a single converged network. In this way, VxLAN satisfies the needs of the data centre operator while also keeping all of the tenant servers on their networks. In larger commercial buildings you may find that the network switches located at the core support VxLAN, not by choice, but by function, while the switches out at the edge tend to be less expensive.

Without the use of VxLANs on a network with an extensive amount of BACnet devices, the design would have to be such that there is one large Layer 2 domain. All controllers would site on the one network under a single Layer 3 router. This may require the use of a Class A IP address which may not meet the network administrators requirements. Deploying a VxLAN allows layer 2 frames to be encapsulated into layer 3 packets and then routed as an IP packet across the network. Once the IP packet is received at the destination network, the network switch, removes the frame from the IP packet (de-encapsulation) and transmits it back out onto the network.

The VxLAN is a configuration carried out on the network switch and not all network switches, as noted previously, supports this functionality. The use of a VxLAN mitigates against the use of a BBMD on a BACnet network.

Converging BACnet Part 2

Following on from Part 1 of the series of converging BACnet networks, Part 2 will look at BACnet Broadcast Management Devices, which allow the BACnet network to be converged. In Part 1 there were four different broadcasts mentioned. Of these four only two would need to traverse the layer 3 boundary.

For the broadcast to traverse the layer 3 boundary a BACnet Broadcast Management Device or BBMD can be used. A BBMD can be a hardware device or a piece of software running a machine on each network. Where these are hardware devices that can standalone or the BBMD may be a function of your controller. As you will see there could be a lot of network traffic that could burden your controller so I would always recommend larger networks having dedicated BBMD devices.

The BBMD operates by taking the layer 2 broadcast frame and encapsulation it into a layer 3 IP packet. This IP packet is then routed across the network where the BBMD on the receiving network reverses this process and the broadcast frame is sent out to all devices.

Every subnet that requires the ability to broadcast messages from another subnet will require a BBMD. Therefore, there must be a BBMD on the subnet where the broadcast originates and a BBMD on the subnet where the message is to be directed.

Within the BBMD there exists a Broadcast Distribution Table or BDT. The BDT lists the IP address of all of the BBMD devices, including themselves, required to build the virtual converged network. There is a limit on the number of entries into a BDT therefore this must be considered while designing out your network.

Where a device, such as an operators workstation, sits on part of the network without a BBMD, these devices can still receive the broadcast through a mechanism called Foreign Device Registration or FDR.

Using the FDR mechanism the BBMD can forward a broadcast message as a unicast message. This mechanism operates as follows. The devices, which would require BACnet broadcasts, sends a request to a BBMD device that supports FDR. The BBMD device will record the details of the controller requesting BACnet broadcasts, into the Foreign Device Table or FDT. The entry into the FDT is stored for a finite amount of time and therefore the device requesting the forwarded broadcast must re-register at regular intervals.

In the final part of this topic, VxLan’s shall be discussed as a way to overcome the limitation of network broadcasts.

Converging BACnet Part 1

On larger networks where BACnet has been deployed, the routers can block some of the BACnet services. In this three-part post, I start by looking at where the problem lies with converging a large BACnet network and propose two solutions which will be discussed in the proceeding two blog posts.

How does layer 2 versus layer 3 on network switches and relate to the operation of BACnet? The BACnet specification defines several methods for the transmission of messages. These methods are:

  • Directed message sent from one device to another.
  • Local broadcast from one device to all other devices on the same network.
  • Remote broadcast from one device on a network to all devices on another network.
  • Global broadcast from one device on a network to all device on the internetwork.

Where a broadcast message moves from MS/TP to a BACnet/IP network, for example, this is not a problem, so long as the BACnet network is on a single subnet. If the BACnet/IP network is spread over multiple subnets there can be issues if the routers do not support bridging. A broadcast is a one to all device communication method. Several BACnet service such as ‘Who-Is’ and ‘I-Am’ rely on broadcast frames to communicate and build the network.

A broadcast frame will have the destination address as all binary ones or FF:FF:FF:FF:FF:FF. If a device receives this frame it will treat it as unicast and start to decode the frame. Where a device can receive a broadcast frame from another device it is said to be in the same broadcast domain. A broadcast frame is sent to every port except the originating port. The switch knows it is a broadcast package as every bit in the destination address is a one. BACnet broadcast uses frames operating at Layer 2 on the OSI reference model. Layer 2 frames are not routable on the network, only Layer 3 packets. Therefore BACnet broadcasts are contained in the same Layer 2 segment, as they cannot traverse the Layer 3 boundary.

Care should be taken with large BACnet networks, as these large networks are susceptible to Broadcast storms which can bring the network down and cause communications to fail. It may make sense to have different devices in different broadcast domains, for example, the primary plant may be on one network while all of your meters may sit on a separate network. A Layer 2 network switch can assign a Virtual LAN or VLAN to specific network ports, which are then in different Layer 3 subnets. The net result is that a switch can have multiple broadcast domains.

The issue may have become apparent at this stage. If multiple BACnet devices installed in a large building were there are multiple network switches in several different locations, these network switches will all be assigned different network addresses and all have separate broadcast domains. Given that the services that build a BACnet network operate on broadcasts if devices are all now on different broadcast domains, how can we bring the complete network online and allow for proper functionality? The answer to that question lies in different technologies. These are:

  1. BACnet Broadcast Management Device or BBMD
  2. Virtual Extensible LAN or VxLAN

Both of these technologies will be discussed in future blog posts and will be linked here