So, now that we know how exactly Spanning Tree operates, we start to see that
there's
a problem with how Spanning Tree works.
And to be clear, it does its job really well.
It blocks traffic to prevent loops.
It makes it so that we don't take our networks down by forming one.
It allows us to create redundant connections like what I have drawn here,
whereas otherwise
we'd have to do something like this just to physically prevent a loop.
But we can fully loop it, take advantage of redundancy.
However, here's the problem. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
However, here's the problem.
The original Spanning Tree was not designed with a high level of efficiency and
a high
level of speed in mind.
So, we've got a few issues here.
For example, the fact that we said that we've got to wait 30 seconds to bring
something
online, fine for a new network switch, that doesn't happen very often.
Not so good for people plugging their laptops in because they're going to
assume that the
network is down and unplugged before those 30 seconds are up, especially with
modern
expectations.
But here's the other big problem is with efficiency. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
But here's the other big problem is with efficiency.
Take a look at this.
So, let's say that we've got our switches and we've got the root switch here.
And we've decided that in between these two other switches that this switch
here is going
to place that port into a blocking state.
So we know that we've got our designated ports here.
We've got our root ports here.
And then we've got another designated port over here as well as a non-design
ated port
there that is blocking.
So those are our roles. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So those are our roles.
Those are our states as well.
We've got one in blocking.
The rest are in forwarding.
Life is good.
And as we've sketched out a few times, we do see that we have built out our
logical loop
free topology.
So where is traffic not flowing right here?
That's a good thing.
We have prevented a loop.
There are no loops in this topology.
It's also a bad thing.
We have created an idle link.
And link bandwidth is a limited resource on networks. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And link bandwidth is a limited resource on networks.
And so let's say this is a situation where all of these links are 10 gigabit
per second
links and we're even maybe using single mode fiber between the switches.
Well, at that point, 10 gig fiber optics and cables, these are expensive to
deploy.
And yet we've just said that with spanning tree, these are we are creating an
idle link,
meaning that we paid a bunch of money and it's just sitting there not being WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
meaning that we paid a bunch of money and it's just sitting there not being
used.
Now the reality is that back when 802.1d spanning tree came out, we weren't
really dealing
with 10 gigabit per second links, but we were dealing with an era where 100 meg
abits per
second was actually pretty expensive.
And so we had these 100 meg connections and maybe even gig fiber and at that
point, we
saw the same issue.
They were spending a bunch of money on whether the time were very high
bandwidth links and WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
bandwidth links and
nobody was happy with the fact that they were sitting there idle.
And so just like with some of the other protocols we've talked about, Cisco
decided that they
didn't want to wait for an industry solution, which is good because it took the
industry
a very long time to come up with a solution.
Cisco came up with their own solution.
And this is where we introduced the concept of Cisco's per VLAN spanning tree.
So per VLAN spanning tree often gets abbreviated as PVST. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So per VLAN spanning tree often gets abbreviated as PVST.
Now eventually they came out with PVST plus and this is the version that we use
today.
In fact, eventually eventually Cisco developed rapid PVST plus.
And so this is the evolution it went from PVST to PVST plus to rapid PVST plus.
And what we're going to focus on here is traditional PVST plus and rapid PVST WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And what we're going to focus on here is traditional PVST plus and rapid PVST
plus.
Because these are the versions that are supported on modern Cisco hardware.
And yes, iOSXE does indeed support both of these.
In fact, somehow still to this day, PVST plus not the rapid version is the
version that
is the default.
So what exactly is per VLAN spanning tree protocol?
Well, it's right there in the name per VLAN.
The idea here is to equate a spanning tree topology within each individual VLAN WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
The idea here is to equate a spanning tree topology within each individual VLAN
.
Now keep in mind what a VLAN is.
As we defined before, it is a broadcast domain.
And what's a key facet of broadcast domains?
Well, the fact that broadcasts are contained within them.
So that's interesting.
That means that every single VLAN is its own broadcast domain.
And therefore, each one could have its own topology without impacting the other
VLANs. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
VLANs.
Now what's a topology?
Well, this is a topology.
And we see that we have exactly one topology here.
We have a bunch of designated ports and root ports and non-designated port
right there
in the middle is what we're blocking.
But that is a single topology that is established by spanning tree protocol.
And before Cisco came up with per VLAN spanning tree, this topology is what
resulted in creating
the idle link.
Well Cisco said, you know what we want to do is we want to actually create
multiple topologies. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
multiple topologies.
So we're going to create, let's say a topology here.
And let's just say that we have VLAN 10 and VLAN 20 configured in this
environment.
So VLAN 10 represented by pink is going to get its own topology.
It's going to get its own root.
It's going to set its own designated ports and blocking ports.
Let's say this port over here is blocking, which means it's going to have its
own set
of active connections. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
of active connections.
Meanwhile VLAN 20 is going to do the same thing.
It's going to establish this switch as the root.
It's going to ignore the fact that it's blocking on VLAN 10 because VLAN 10
doesn't
impact VLAN 20.
VLAN 20 will block one of these connections down here.
And therefore we now see that VLAN 20 sort of has this topology and VLAN 10 has
a topology
that looks like this.
So we see that we have two different overlapping topologies within the same WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So we see that we have two different overlapping topologies within the same
physical domain.
So it's not just one topology, it is many.
In fact, it's a one-to-one relationship with VLANs.
So if I have 50 VLANs, I have 50 spanning tree topologies.
Now some switch hardware will support fewer spanning tree topologies than VLANs
and that
can get dangerous because we don't want to create a VLAN without a spanning
tree topology.
But for the most part, it's just going to be this one-to-one relationship. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
But for the most part, it's just going to be this one-to-one relationship.
Now Cisco liked PVST so much that they created it as the only option on a Cisco
switch.
And so if you have a Cisco switch, you can only run PVST plus or like we said,
rapid
PVST plus or a industry standard that came later known as MST, which we'll talk
about
later.
But this version of spanning tree up here became known as common spanning tree WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
But this version of spanning tree up here became known as common spanning tree
or sometimes
abbreviated down to, whoops, CST.
So you had common spanning tree and per VLAN spanning tree.
Now there is compatibility between these, but generally speaking, we do try to
avoid
connecting them together because it can result in a lot of issues, at least in
the real world.
But again, Cisco does not support CST.
It's not an option on a Cisco switch.
And it's worth noting that some switches like Nexus switches don't even support
traditional WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
traditional
PAVST plus anymore, they require a rapid version, which is between rapid PVST
plus and the
industry MST, which runs rapid under the hood.
Now as a brief aside, why the plus?
Where did the plus come from?
Well the original PVST, this was actually only for Cisco devices, meaning that
there
was no compatibility whatsoever with CST.
So if I wanted to connect a Cisco PVST switch to a common spanning tree switch, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So if I wanted to connect a Cisco PVST switch to a common spanning tree switch,
this would
completely break.
It was not doable, whereas PVST plus, like we said, does allow for some amount
of compatibility
between them, even though we generally don't like to do it.
The other thing with PVST was it was ISL only.
So we were called during the trunking conversation that the industry landed on
802.1q.
And so there is no .1q support with the original PVST. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And so there is no .1q support with the original PVST.
So PVST plus fixed both of these, it introduced compatibility and it introduced
802.1q, just
in case you were wondering whatever happened to the original PVST.
So now as we wrap up this conversation, we come back to the concept of our
designs.
Because in the real world, we're going to absolutely take advantage of this.
And we're going to see that by creating topologies like this, there is no idle
link in the network.
Now there's an imbalance for sure, because this link in the middle is going to WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Now there's an imbalance for sure, because this link in the middle is going to
have the
most traffic, it supports traffic from both VLANs, whereas these links down
here each
only support a single VLAN.
And so there's maybe an imbalance, but at least there aren't any idle links,
which helps
us cost justify redundancy, especially if it's going to involve expensive links
like
10 gig or 40 gig, something along those lines.
And so we can achieve better efficiency, which is exactly why we wanted to take
advantage
of multiple topologies in a spanning tree environment. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
of multiple topologies in a spanning tree environment.