This interoperability document has been created as a result of performing various tests between Dell EMC Networking and Cisco switches running similar and different spanning-tree modes. The document characterizes and provides some insight into the network traffic behavior when different flavors of spanning tree and device redundancy configurations are deployed between Cisco and Dell EMC switching environment.
The intended audience of this reference guide is the network architect, system engineer, or network administrator. The tests that are performed can be used as a reference point for new designs or integration purposes. There are two major technologies that are covered in this interoperability exercise:
- Spanning Tree Protocol
- VLT/vPC with STP
Spanning Tree Protocol overview
To ensure the reliability of a network, network switches are equipped with redundant equipment such as power supplies, CPUs, and interswitch links. Redundant links between the Layer 2 devices in a network can cause traffic loops which can bring down a network. Spanning tree is a Layer 2 protocol that protects a network from Ethernet network loops. After convergence, where all devices agree on what the network topology looks like, the network becomes a logical tree, as the redundant paths are disabled until required (due to a link or switch failure in the network). From any source to destination, there is only a single logical path in the network. The protocol forces the redundant ports to block all the traffic. In this way, even if there are redundant physical paths in the network, there are no traffic loops in the network. It is only when the active port goes down that the protocol reconverges, and the blocking port starts to forward the traffic in the new logical topology.
The figure below shows how a loop is created in an Ethernet network. If the client needs to communicate to the server, an Ethernet frame is sent to Switch 4 using its MAC address as the source, and the broadcast address (FF:FF:FF:FF:FF:FF) as the destination MAC address. Switch 4 then learns the MAC address of the client, and since it does not know the MAC address of the server, it will flood it by sending it to all the ports except the port on which the frame was received. The frame is sent to Switch 1 and Switch 3. Next, Switch 1 floods the frame to both Switch 2 and Switch 3. The frame is flooded from Switch 3 to Switch 1 and Switch 2. The frame that Switch 1 received is then flooded again to Switch 2 and Switch 4. Notice that Switch 4 (the switch that initiated the frame) receives the same frame, and the frame starts looping in the network.
Spanning Tree Protocol
Originally defined in IEEE 802.1D, Spanning Tree Protocol (STP) is a network protocol that provides a loop-free topology for any bridged Ethernet Local Area Network (LAN). STP prevents bridge loops and the broadcast storms that result from these loops. STP allows a network design to include redundant links. STP provides automatic backup paths in case an active link fails without the danger of creating bridge loops or the need to manually enable or disable the backup links. STP uses bridge protocol data units (BPDUs) to create a loop-free topology. The BPDUs work as control packets that calculate the best path in a network, and disables secondary paths, which result in a loop-free topology.
Spanning tree uses the following actions to create a loop-free topology:
- Root switch and bridge election
- The switch with the lowest bridge ID becomes the root bridge in the network. The bridge ID consists of the bridge priority and the MAC address of the switch. The default bridge priority is 32768. If each of the switches in the network keeps the bridge priority at Default, the switch with the lowest MAC address becomes the root switch. Selecting the appropriate root bridge is important.
- Root port election
- The root port is the upstream port towards the root bridge.
- Designated port election
- The designated port is the downstream port away from the root bridge.
- Blocking all non-edge ports
- Once the root bridge, root ports and designated ports are elected, the rest of the ports are put in blocking state for all traffic.
Spanning tree example
In the beginning, every switch claim to be the root and sends BPDUs to all the other switches connected to it. Any switch receiving the BPDU compares its bridge ID to the bridge ID it just received. The bridge ID is made of two parameters; Bridge priority and MAC address. The lowest bridge ID switch wins the root bridge election. If a switch receives a BPDU with lower bridge ID, it stops sending its own inferior BPDU. In this way, once the topology converges, only the root bridge sends the BPDUs and the rest of the switches forward the BPDUs received from the root bridge. By this mechanism, all switches in the network agree on a single root bridge. Consider the below topology:
Since the default bridge priorities are being used, the switch with the lower MAC address is elected as the root bridge. In this topology, Switch A becomes the root switch of the network since it has the lower MAC address. Next, all non-root switches determine the root port that is used to reach the root switch. The root port is the port on each switch that receives the best BPDU, or the lowest path cost to the root bridge. In this case, Switch B has two links to Switch A, so one of the ports will become the root port. Assuming that the two links have the same bandwidth, or lowest path cost to the root bridge, the tie breaker is the lowest upstream port ID. So, Port 1 on Switch B becomes the root port.
Next, the designated ports are selected in each segment. In this example, since Switch A is the root bridge, all the ports on Switch A become designated ports, with the lowest path cost to the root bridge, and go into the forwarding state. Lastly, Port 2 on Switch B goes into a blocking state as it is not the root or the designated port. The following figure shows how spanning tree makes the logical topology of the network.
The following enhancements or extensions have been made to the original spanning tree implementation:
- RSTP (802.1w)
- In 2001, the IEEE standards body introduced Rapid Spanning Tree Protocol (RSTP) as 802.1w. This enhancement provides significant faster spanning tree convergence after a network topology change has taken place. While STP can take between 30-50 seconds to respond to a topology change, RSTP can respond to changes within 6 seconds or milliseconds to a physical link failure. RSTP is backward-compatible with legacy spanning tree.
- MSTP (802.1s)
- Multiple Spanning Tree Protocol (MSTP) is an extension to RSTP which adds efficiency to the legacy spanning tree instance per VLAN. Before the introduction of MSTP, every VLAN on a network required a spanning tree instance. With MSTP, a group of VLANs can now be assigned to a single spanning tree instance which reduces CPU resources from having to create multiple spanning tree instances. The benefits of MSTP are more evident when the network environment consists of thousands of VLANs. MSTP is fully backward-compatible with RSTP.
- Rapid PVST+
- Rapid Per-VLAN Spanning Tree is a Cisco enhancement of RSTP that uses PVST+, which is a Cisco proprietary Layer 2 protocol used to create separate spanning tree instances on a per-VLAN basis. Creating separate per VLAN spanning tree instances allows for the usage of different network links providing load-balancing capabilities. There are multiple networking vendors such as Dell EMC, Extreme Networks, and Avaya that support this protocol.