I thought I'd start off this lab demo by taking a look at what happens when we
enable
too many VLANs on a traditional catalyst switch.
So this is a catalyst 9K, not even like an ancient switch.
This is a modern Cisco catalyst 9K switch, and we're going to find it only
supports 128
STP instances.
So if I do a show spanning tree, I can see here, we're only running a single V
LAN at
the moment, so we're running rapid PVST plus if I do a show VLAN, we see we're WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
the moment, so we're running rapid PVST plus if I do a show VLAN, we see we're
only running
one VLAN, I can do a show interface trunk, and see that we have all of the VLAN
s enabled
but we're only one configured, so far no problem.
I could configure VLAN 10, VLAN 20, I could configure 100 VLANs.
But if I were to do a config T here and create more than 128 VLANs, let's say I
configure
150 VLANs, exit out, sometimes we'll get an error message here, and sometimes
we won't WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
we won't
look like we're not going to get one this time, but here's the problem.
If I do a show spanning tree, so I'm going to see that I've got an instance for
VLAN
1 and an instance for VLAN 2 when an instance for VLAN 3 and so on and so forth
.
So if I look at VLAN 128, we're good, we've got an instance for 128.
If I look at 129, it doesn't exist, that is a big concern.
So if I do a show interface trunk, we're going to find that we do have all VLAN WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So if I do a show interface trunk, we're going to find that we do have all VLAN
s on 1 through
150 allowed.
So we're allowing the VLANs and yet we are not running spanning tree protocol
across that
link for those VLANs.
So this is a potential disaster waiting to happen.
We have to be absolutely certain that we are running as many spanning tree
instances as
we have VLANs in a rapid PVST plus environment.
So if this was our production network and we had 150 VLANs, we would absolutely WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So if this was our production network and we had 150 VLANs, we would absolutely
have
no choice but to switch over to MST.
So let's flip over to our lab environment.
This is the lab environment that you're going to have access to.
It involves virtual switches and these virtual switches don't run out of
spanning tree topologies,
which is kind of nice but we couldn't actually demonstrate it on these, which
is why I demonstrated
it on real hardware.
So we're going to go about this looking at MST configuration.
Let's pull up the topology here.
What we're going to do is we're going to do a three step plan.
First of all, we're going to activate MST. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
First of all, we're going to activate MST.
Second of all, we are going to do our MST configuration and we're actually
going to focus
on the first two, we're going to get our name for our region as well as our
revision number.
And then the third step here is simply getting our VLAN to instance mapping set
.
And as we've said, we need to match this on all of these switches in our top WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And as we've said, we need to match this on all of these switches in our top
ology.
Otherwise we're going to create a fragmented MST domain by creating multiple
regions.
Now after all of this, we're going to go ahead and do a fourth set of
configurations just
to look at the optional parameters such as priority costs, timers.
We'll take a look at that because we'll need to know how to tune that.
But at the same time, our focus for configuring MST will simply be these three
steps.
So let's switch over to the lab and we'll start on switch three. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So let's switch over to the lab and we'll start on switch three.
So again, according to our plan, we're going to activate MST.
The way we do that is get into global configuration and simply say spanning
tree mode, which is
the same command we use to activate rapid pvst and we say MST here and head
enter.
At this point, if I do a show spanning tree, we're going to see that spanning
tree is enabled
for MSTP.
So yeah, most of Cisco syntax involves MST.
Every now and again, we will see MSTP with the P added there at the end.
But notice over here where we'd normally see a VLAN ID, we see this MST zero. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
But notice over here where we'd normally see a VLAN ID, we see this MST zero.
Well, as we've mentioned, zero is the default instance and this is
representative of that
instance now.
This command looks pretty similar to our pvst plus command.
In fact, a lot of commands are going to feel very similar.
We're simply swapping out the VLAN ID for an instance.
We'll see that when our show commands as well as our configuration commands.
So in this case, instant zero shows that we have a couple of interfaces here.
They were in blocking when I looked at it. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
They were in blocking when I looked at it.
Let's just run this one more time.
And now we see that we're in affording state.
Now if we see this boundary, this is what we're we talked about earlier is
having a
boundary out this interface.
And in parentheses, it mentions STP.
That's because we're interfacing with a switch running pvst plus.
And so it's letting us know that there's not an MST switch on the other side.
So no worries, we'll sync all of this up.
But let's just go ahead and continue through our strategy here.
Oh, and by the way, if we do a show VLAN on this, we're going to find only VLAN WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Oh, and by the way, if we do a show VLAN on this, we're going to find only VLAN
one is
configured.
So let's go ahead and configure some VLANs.
I'm going to add the lens two through 10 to the configuration.
And now we'll get on with our plan here that we wanted to then move into MST
configuration.
Well, the way we do that is by entering into a configuration mode.
So I do spanning tree MST configuration and hit enter.
And we'll notice now we're in a special MST config set.
So this is where we're going to perform the rest of our configuration. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So this is where we're going to perform the rest of our configuration.
I'm going to start by giving it a name.
This is that region name.
I'll just call this CBTN for right now.
And then when I run a question, Mark will see the other options.
So for example, revision, I can set the revision ID here and our configuration
revision number
rather.
And we see that that can be between zero and 65, 535.
I'll just set this as a revision one.
And these again have to match every across all the switches.
If we want it to be a continuous region.
So from here, now we need to create our instances along with our VLAN mappings. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So from here, now we need to create our instances along with our VLAN mappings.
Remember, instant zero is going to be the default as well as the catch point
for all
of the VLANs.
So right now all of the VLANs are part of instance zero.
Let's say I want to split them up.
I want to put the odds in instance one and the evens and instance two.
Let's do that.
And so I'm going to move all of those VLANs one through 10 into one of the
other two instances.
But keep in mind, if I add a VLAN later, it's going to still land an instance
zero even
though I'm not actually using it, which is actually a good way to do it in WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
though I'm not actually using it, which is actually a good way to do it in
production.
It means I don't accidentally add VLANs into topologies.
I have to be intentional with it.
The command for this is going to be instance.
So I'm going to say instance and then my ID.
So in this case one and then VLAN and I specify the VLANs.
So I said I wanted the odds in here.
That should be one three five seven nine.
And then I'll hit enter and do instance two with VLANs two four six eight and
ten.
And there we go.
I've created my VLAN to instance mapping. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
I've created my VLAN to instance mapping.
And so that's it.
That's all we have to do to get MST up and running other than the fact that we
have to
do this on the other switches.
So let's go ahead and log in and do that real quick to switch four and switch
five.
Let's just review this real quick.
Spanning tree mode MST that gets us running.
And then we enter into the spanning tree MST configuration sub configuration
prompt.
And now I can do the other commands such as name CBTN revision one. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And now I can do the other commands such as name CBTN revision one.
And now I have to do those instances.
So I could actually just copy those.
Let's go grab that.
So I'll grab instance one instance to configuration.
This will make sure that I don't do the wrong configuration and that we're all
synced up.
Now let's do it one more time on switch five.
Just shows though how quick this actually is.
Spanning tree mode MST spanning tree MST configuration name CBTN revision one. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Spanning tree mode MST spanning tree MST configuration name CBTN revision one.
And then I paste in my instance of VLAN mapping and MST sometimes could feel
like it's more
complex.
It's more complex.
There's more to do just objectively.
I have to enter these commands.
But look at what I just did one, two, three, four, five, six lines to configure
two instances
in a bunch of VLANs.
That's not that bad.
MST can feel intimidating at times.
But really it just boils down to these commands and then naturally moving
forward any of the
other commands I would be entering for rapid PVST plus I just swap out MST for WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
other commands I would be entering for rapid PVST plus I just swap out MST for
VLAN.
So let's take a look at a few examples here.
So first and foremost, let's make sure that we're up and running.
If I do a show spanning tree, I should see I'm running in MST mode.
I no longer see anything about boundaries out here.
Granted I'm on a different switch, but we'll go confirm that in the other
switches as well.
Now we have more information running here.
So we've got MST zero and MST one.
Now where's MST two?
Well, where would it be?
What did we do?
We put all of these VLANs into MST two. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
We put all of these VLANs into MST two.
And remember I in the first switch I actually had to configure all the VLANs.
Yeah, I haven't actually done that yet.
So only VLAN one is running on the switch, which means by default only instance
one is
running on the switch.
So let's go ahead and configure some VLANs, VLAN two through ten.
And then show spanning tree again.
And now we should see zero.
We'll always be there.
And then one and two.
But that's it.
I don't have ten different VLANs or ten different topologies listed here. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
I don't have ten different VLANs or ten different topologies listed here.
I have one topology for instance one.
I have one topology for instance two.
And then I do have instance zero always still running, even though we don't
actually have
any VLANs associated with it.
So let's go ahead and go to switch four.
Did not configure the VLANs here either.
So we'll get that up and running.
And then let's go back to switch three and do our show spanning tree to confirm
that
it doesn't see any boundary ports anymore. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
it doesn't see any boundary ports anymore.
And indeed it does not.
So we've got all of our instances running over here as well.
Now there is another really good command that we should run at this point,
which is show
spanning tree MST configuration.
If we run this command, we're going to see the instance to VLAN mapping.
This is very important that we can confirm that the VLANs are appropriately
mapped to
our instances.
And again, if I were to get on here and add VLAN 11, it would land an instance
zero by
default.
We can always land in zero unless we have pre-configured it essentially to land WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
We can always land in zero unless we have pre-configured it essentially to land
in a
different instance.
So our plan is done.
We've done our three steps, but let's go ahead and do some optional
configurations,
so to speak.
Optional in the lab really required for production.
So if I do a config T here, we'll find that I can go ahead and well, let's
actually let's
make switch three the root.
So if I was doing this with per VLAN spanning tree, I'd say spanning tree, VLAN
one, and
then we'd configure priority.
But I can't actually do that with MST because VLAN one doesn't have its own top WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
But I can't actually do that with MST because VLAN one doesn't have its own top
ology.
So instead, I'm going to say spanning tree MST.
And so at this point, I could say MST one question mark, and then I also get
priority
ability.
And by the way, we'll notice that we can use those root macro.
So it's nice to have both of those.
But if I want to set switch three to be the root, I can say priority zero or
priority
4096, maybe for switch three for MST one, and then maybe for MST two, I want to
run this WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
run this
as the backup route.
So 81, I did that wrong.
81 92 for MST two, and then go to switch four and do the same thing in reverse.
So switch four would be spanning tree MST one priority 81 92.
And then MST two priority 4096.
So now if I look at things from switch five's perspective, show spanning tree
zero again,
we're not really using.
So we'll skip past that. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So we'll skip past that.
For one, we said that switch three was the root.
So the link to switch three is an affording state.
The link to switch four is in a blocking state and switch or MST two should be
flipped
of that.
And we can see it's still here on the screen.
So yes, block first onto one and then forwarding on three slash one.
So that's like that.
We configured our two priorities and everything feels very similar to rapid per
VLAN spanning
tree at this point.
So what else could we do?
Well we could configure some timers.
So I go back to switch three here. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So I go back to switch three here.
And when we ran that question mark command spanning tree MST one question mark,
notice
it doesn't have all of these timers.
When I ran this for VLAN with the VLAN in the command, it had all the timer
options.
That's because Cisco allows us to change timers on a per topology basis,
basically per
VLAN.
Well in MST we mentioned we can't configure timers as part of an individual
instance.
Instead this must be done globally for all instances. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Instead this must be done globally for all instances.
And so we see the timers set here.
I would do spanning tree MST and then my three different timer options.
And then lastly from like a cost perspective, if I wanted to get onto an
interface, let's
say interface gig one slash zero here, I can do a spanning tree cost.
And maybe I would just do spanning tree cost a thousand.
But then I can also say spanning tree MST one and then set a different cost.
So this cost, just like with our PVST plus configuration is going to apply to M WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So this cost, just like with our PVST plus configuration is going to apply to M
ST one,
whereas this is going to apply to all of the other instances.
So if I do a show spanning tree, we're going to find that MST zero now has the
thousand,
but MST one has a hundred.
And then MST two is back to a thousand, which exactly matches the configuration
.
So there's a lot of things to think about with MST I suppose, but it really WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So there's a lot of things to think about with MST I suppose, but it really
just comes
back to making sure those initial configurations are in the right place.
We want to make sure that we've got those three configurations, especially the
region
name, the revision ID, revision number, as well as the instance to VLAN mapping
.
If all of those are good, then we're in good shape.
If I were to, for example, get on here and say spanning tree MST config and I
do revision
two.
Well, now I've changed just that one little parameter on one of the switches. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Well, now I've changed just that one little parameter on one of the switches.
And if I do a show spanning tree, they're now going to think that they're all
part of
different instances.
So we're going to have to wait for a few moments for this to sync.
So let's do that.
But here we go.
It has started to synchronize and we do see now that there's a boundary here.
We are running rapid on the other side.
Again, MST runs rapid under the hood, but now we believe that we have a
boundary link
to a different domain, a different spanning tree region because I changed just WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
to a different domain, a different spanning tree region because I changed just
that one
little parameter.
So that's why it's so important.
We have all three parameters synchronized on all of the switches in our
environment,
and that will create one uniform domain.
And at that point, it's going to feel a whole lot like rapid pervieland
spanning tree.