1. Introduction
In this tutorial, we’ll learn what are broadcast storms. We’ll also study the main root causes of broadcast storms and how to prevent them.
2. Broadcast Storm
To fully understand this concept, let’s first take a look at the meaning of broadcast.
Broadcasting is a method for simultaneously sending a message to all devices belonging to a network segment (called a broadcast domain). The figure below illustrates a device sending a broadcast message:
This kind of method to send messages is very useful in many cases. For example, we can discover a service on a network by sending a broadcast message and waiting for a response from a server. For this and other reasons, many network protocols and system mechanisms widely use broadcast messages.
However, we need to be concerned with using broadcasts on the network. The improper or out-of-control usage of broadcast messages can result in a so-called broadcast storm.
A broadcast storm is the occurrence of a large number of broadcast messages in a given period of time. This kind of broadcast traffic can significantly degrade the network quality. In the worst case, a broadcast storm can even render the network unable to transport normal traffic.
Considering their potential to degrade networks, we need to understand why broadcast storms occur. So, let’s look at the main root causes of broadcast storms in the next section.
3. What Are the Root Causes of Broadcast Storms?
Broadcast storms can be caused by different factors. Now, we’ll discuss some of its main root causes.
3.1. Network Loops
Network loops are the main causes of broadcast storms. In fact, this problem is the type of broadcast storm with the greatest potential for network degradation.
When there’s more than one layer 2 path between two endpoints on the same network segment, there’s a network loop. This creates a loop in the network topology. Thus, when a broadcast message is sent, it’s replicated infinitely in the network (if there’s no mechanism to prevent this).
Let’s look at some examples to clarify this issue. The simplest type of network loop occurs if two ports of the same switch are connected to each other. The figure below illustrates this case:
The figure below illustrates another example of network looping, which is the presence of redundant paths. In this case, the existence of two paths between the pair of switches causes the loop:
However, the end-device side can also create a network loop. Let’s look at an example of this situation.
The figure below illustrates a scenario in which there’s a wireless access point connected to a switch. Also, the wireless access point is configured in bridge mode.
In this case, if an end device connects to a port on the switch and simultaneously connects to the wireless access point, it’ll create a loop in the network:
3.2. Very Large Broadcast Domain
A broadcast storm can also occur without preventing the network from transmitting normal traffic. A very large broadcast domain can cause this kind of broadcast storm.
An example of this is when there are hundreds of devices on a network connected via switches set to default settings (with no broadcast domain partitions). Thus, each time a device sends a broadcast message, this message will be replicated hundreds of times in the network.
Considering that various protocols and mechanisms often use broadcasts, broadcast messages can make up a significant part of network traffic.
3.3. The Network Coming Online After an Outage
There are also some expected cases of broadcast storms. An example of this situation is when one or more switches in the network go down and then come back up after a while.
When such situations occur, all devices need to send broadcast messages for various reasons. For instance, to update their ARP tables, obtain IP addresses via DHCP, among others. Anyway, this will lead to a momentary broadcast storm.
4. How to Prevent Broadcast Storms?
Now, let’s see some common ways to prevent broadcast storms.
4.1. Enable Protocols for Preventing Network Loops
Since the main root cause of broadcast storms is network loops, the intuitive solution is we just don’t create network loops.
However, ensuring that such loops aren’t created is extremely difficult. This is because administrators and network users can create network loops unintentionally.
In addition, sometimes, we may want to have redundant links in the network (which creates loops in the topology). The reason is that in case one of the redundant links fails, there will still be another one to carry the traffic.
Therefore, the most effective way to prevent broadcast storms is to enable protocols for preventing network loops. Among the main protocols for this purpose, we can mention Spanning Tree Protocol (STP), Rapid STP (RSTP), and Shortest Path Bridging (SPB). These protocols ensure that both project-defined redundant paths and unintended network loops don’t cause broadcast storms.
4.2. Use Storm Control Features
An alternative to prevent broadcast storms is to use storm control features offered by some switches. These features allow us to limit certain types of traffic on specific ports of the switches.
So, to avoid broadcast storms, we can just limit broadcast traffic in specific ports of the switches. It may avoid they never degrade the network sufficiently to prevent the transport of normal traffic.
However, this may interfere with the full operation of the network in some cases. Therefore, we should use these features in a planned way and with caution.
4.3. Split the Broadcast Domain
As we saw earlier, the larger the broadcast domain, the greater the chances of a broadcast storm occurring. Thus, an efficient way to avoid damaging broadcast storms is to split up the broadcast domain into multiple subdomains.
We can do this by separating the network into isolated network segments that only communicate with each other by routing. The easiest and most flexible way to do this is by creating VLANs.
However, we must be careful when configuring VLANs. This is because incorrect VLAN configurations can create network loops, which cause severe broadcast storms.
5. Conclusion
In this article, we studied the concept of broadcast storms. As we learned, broadcast storms can be caused by network loops, large broadcast domains, and outages. So, we can prevent these storms by enabling related protocols and employing storm control features.