Hi guys from NetworkLessons.com,
First, I would like to congratulate you for the lessons in the website. They are very good and didactic.
However, in this first lesson (Introduction to Spanning-Tree), you guys just introduce Spanning-Tree as a protocol to eliminate loops from a topology, and shared only 2 very simple examples: 2 switches with a redundant link, and a triangle (3 switches in full mesh).
Although explanation is correct, I’m afraid that they aren’t enough and people don’t understand how:
- SPT will work for bigger and complex topologies
- Why a root election is really necessary and important
- Understand that links will not be utilized - no traffic (besides BPDU) will be send (so this is a disadvantage of switched layer-2 networks)
In my opinion, you should add a more complex example (a bigger topology graph). Goal should not be to explain step-by-step how the STP would run to prune links (because it would be hard for newcomers to understand). Goals show be just to explain what a spanning-tree really is, and by doing this, clarify the concepts.
Let me explain what I mean:
- Explain what a tree is
- Explain what a spanning tree is
- Explain what STP actually does: remove links from a non-tree topology (with loops) until transform it into a spanning-tree (tree created from the original topology, so it doesn’t contain any loops). And because STP goal is to create a tree, it must contain a root.
Of course, if you go into the mathematical definitions of graph, tree and spanning tree, it will become complex for newcomers. But for simplicity, I think you can just introduce a tree as a topology where we start with a root node, and each node can have child nodes. A child node can only have a single parent, but may have other child nodes.
The examples that may clarify very well all concepts was already created by you. You have an excellent example at lesson Spanning-Tree Cost Calculation.
I think you can explain concepts using the following logic.
- Example 1 - Not a tree, because SW 4 and SW 5 has two parents.
Note that, connected non-tree topologies contain loops.
- Example 2 - A tree, because is connected and every SW or is the root or only have a single parent
Note that, tree topologies does not contain loops.
- Example 3 - Spanning tree, because is a tree build from the original topology via removing links until all loops are removed
It’s possible to eliminate links into a non-tree with loop topology until we can transform it into a tree (without loops). When we do this, we call the new tree a spanning-tree. This is exactly what STP does: it eliminates links until all loops are eliminated and we end up with a tree.
In order to create a spanning-tree from a topology with loops (non-tree), STP starts choosing the root for the tree.
- Example 4 - Also a spanning tree
To make easier to see that this is a spanning-tree, let’s re-draw the same topology, but moving SW3 and SW5:
- To finish, you may want to reintroduce the first 2 examples and explaining why they are not trees
Example SW1 <-> [2 links] SW2 is not a tree because there are 2 connections between the nodes, and in a tree, the root node or a parent node can only have a single connection to its child
Example SW1 <-> SW2 <-> SW3 <-> SW1 is not a tree because, if we consider SW1 as a root, and SW2 as a child from SW1, then SW3 will have 2 parents.
You may also want to join everything together into a new and isolated lesson.
Final note: At least to me, it is much much much easier to understand the STP protocol when we know what is a tree, and what is a spanning-tree. Otherwise, people may understand STP in a topology with 3 SWs, but maybe they will not understand complex topologies.