WEBVTT

1
00:00.000 --> 00:04.080
Alright, so we're going to jump into the lab and configure rapid spanning tree

2
00:04.080 --> 00:04.540
and the

3
00:04.540 --> 00:09.080
topology is what we've already used several times in this course up till now.

4
00:09.080 --> 00:12.450
We have switches three, four and five in a triangle and switch three is the

5
00:12.450 --> 00:12.880
root.

6
00:12.880 --> 00:18.440
So let's go ahead and log into the lab here and we're on switch three.

7
00:18.440 --> 00:22.890
If I do a show spanning tree, I always remember that the mode by default on a

8
00:22.890 --> 00:23.640
Cisco iOSXE

9
00:23.640 --> 00:27.540
switch is that we're running traditional spanning tree and protocol IEEE is

10
00:27.540 --> 00:29.320
what tells us that.

11
00:29.320 --> 00:32.700
It doesn't appear to directly tell us that, but this is going to change when we
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

11
00:29.320 --> 00:32.700
It doesn't appear to directly tell us that, but this is going to change when we

12
00:32.700 --> 00:33.240
configure

13
00:33.240 --> 00:34.240
rapid.

14
00:34.240 --> 00:35.240
Let's go and do that.

15
00:35.240 --> 00:39.480
I'm going to do a config T and the command is simply spanning tree mode and

16
00:39.480 --> 00:40.240
then we'll

17
00:40.240 --> 00:41.480
see our three options here.

18
00:41.480 --> 00:45.830
We have our PVST, which is the default MST, which we're going to cover later

19
00:45.830 --> 00:46.440
and then

20
00:46.440 --> 00:52.680
rapid PVST and the plus is implied in that, but it's rapid PVST plus.

21
00:52.680 --> 00:58.360
But by enabling this, I now have done a major change to my spanning tree top

22
00:58.360 --> 00:59.200
ology.

23
00:59.200 --> 01:03.890
So if I do a show spanning tree again, we do see that the protocols now are STP
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

23
00:59.200 --> 01:03.890
So if I do a show spanning tree again, we do see that the protocols now are STP

24
01:03.890 --> 01:04.560
for rapid

25
01:04.560 --> 01:05.800
spanning tree.

26
01:05.800 --> 01:09.200
So I'm going to go to the other switches in my topology here, including switch

27
01:09.200 --> 01:09.680
four and

28
01:09.680 --> 01:16.720
do the same command spanning tree mode rapid and switch five as well.

29
01:16.720 --> 01:21.760
Use the abbreviation here, spanning mode rapid.

30
01:21.760 --> 01:26.320
So when I do my show spanning tree, we'll probably see that the ports are

31
01:26.320 --> 01:27.080
already in

32
01:27.080 --> 01:28.080
forwarding.

33
01:28.080 --> 01:31.660
So we have majorly disruptive change in theory and yet because of rapid's
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

33
01:28.080 --> 01:31.660
So we have majorly disruptive change in theory and yet because of rapid's

34
01:31.660 --> 01:32.320
nature and the

35
01:32.320 --> 01:36.100
ability to on point to point links, we see that listed right here on point to

36
01:36.100 --> 01:36.880
point links,

37
01:36.880 --> 01:40.980
we can use negotiation to immediately figure out, okay, you're my root switch

38
01:40.980 --> 01:41.480
or switch

39
01:41.480 --> 01:42.480
port.

40
01:42.480 --> 01:46.960
And so now switch three knows to have that into forwarding.

41
01:46.960 --> 01:54.600
And so where it looks like we're actually, where are we blocking show spanning

42
01:54.600 --> 01:54.880
tree.

43
01:54.880 --> 01:59.360
We're blocking here switch four is blocking on three slash one.

44
01:59.360 --> 02:04.820
So if we go back to our topology, the reason for that is because while I
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

44
01:59.360 --> 02:04.820
So if we go back to our topology, the reason for that is because while I

45
02:04.820 --> 02:06.400
configured switch

46
02:06.400 --> 02:11.250
three with a priority of four thousand, making it the root, I did not configure

47
02:11.250 --> 02:11.920
anything

48
02:11.920 --> 02:13.320
on switch four.

49
02:13.320 --> 02:17.040
So switch four and switch five have a MAC address battle here, switch four

50
02:17.040 --> 02:17.720
apparently

51
02:17.720 --> 02:21.640
lost that because it's blocking this port right here.

52
02:21.640 --> 02:24.200
And so that is our current topology.

53
02:24.200 --> 02:26.880
So rapid figured that out really, really quickly.

54
02:26.880 --> 02:32.640
Now we'll also notice that even though Cisco is well, they're using BLK for
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

54
02:26.880 --> 02:32.640
Now we'll also notice that even though Cisco is well, they're using BLK for

55
02:32.640 --> 02:33.680
blocking, they

56
02:33.680 --> 02:37.760
probably should be using DIS for discarding, but they didn't update the status

57
02:37.760 --> 02:38.320
in iOS X

58
02:38.320 --> 02:41.280
E. It still shows BLK for blocking.

59
02:41.280 --> 02:45.100
And that's one of the reasons why you probably noticed throughout this skill, I

60
02:45.100 --> 02:45.680
still refer

61
02:45.680 --> 02:46.760
to it as blocking.

62
02:46.760 --> 02:51.270
Many people refer to it as blocking, even though technically it's in a disc

63
02:51.270 --> 02:52.360
arding state.

64
02:52.360 --> 02:55.520
We do however, see under role, this alternate port.

65
02:55.520 --> 02:57.640
Now this was there before rapid.

66
02:57.640 --> 03:01.560
If we disabled rapid and looked at, you know, traditional spanning tree, this
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

66
02:57.640 --> 03:01.560
If we disabled rapid and looked at, you know, traditional spanning tree, this

67
03:01.560 --> 03:02.280
would still

68
03:02.280 --> 03:03.720
say alternate.

69
03:03.720 --> 03:07.330
And that's simply because they're not going to distinguish between those when

70
03:07.330 --> 03:07.800
we're not

71
03:07.800 --> 03:09.480
running rapid spanning tree.

72
03:09.480 --> 03:12.680
But now that we are running rapid spanning tree, we do see that I've got

73
03:12.680 --> 03:13.480
another uplink

74
03:13.480 --> 03:14.920
option here.

75
03:14.920 --> 03:16.200
It is blocking.

76
03:16.200 --> 03:20.660
But if I were to take down my root port, let's do a config T and gig zero or

77
03:20.660 --> 03:21.440
one zero.

78
03:21.440 --> 03:26.600
And I shut this down and then very quickly do a show spanning tree.

79
03:26.600 --> 03:32.210
We'll see that that gig three slash one, which was right here, was my alternate
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

79
03:26.600 --> 03:32.210
We'll see that that gig three slash one, which was right here, was my alternate

80
03:32.210 --> 03:32.600
port

81
03:32.600 --> 03:37.470
and blocking is already the root port in an affording state is able to do that

82
03:37.470 --> 03:38.160
because

83
03:38.160 --> 03:42.720
of rapid and because of the fact that it was designated as an alternate port.

84
03:42.720 --> 03:45.760
So we're going to do a no shut on that.

85
03:45.760 --> 03:49.760
And again, it is a beautiful thing to be working with rapid after working with

86
03:49.760 --> 03:50.300
traditional

87
03:50.300 --> 03:54.110
spanning tree for so long because pretty much as soon as I do a no shut and the

88
03:54.110 --> 03:54.520
port is

89
03:54.520 --> 03:58.670
online, we're back to our original spanning tree topology, which is where we

90
03:58.670 --> 03:59.160
want to

91
03:59.160 --> 04:00.160
be.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

91
03:59.160 --> 04:00.160
be.

92
04:00.160 --> 04:01.260
So let's go ahead here.

93
04:01.260 --> 04:03.740
We're on switch four.

94
04:03.740 --> 04:05.480
Let's just go ahead and do a debug.

95
04:05.480 --> 04:09.080
This is a great command debug spanning tree events.

96
04:09.080 --> 04:12.630
We've used this command before, but this is going to allow me to see things

97
04:12.630 --> 04:13.200
like BPD

98
04:13.200 --> 04:14.920
is being sent and such.

99
04:14.920 --> 04:20.990
But in this case, I'm going to get onto my interface gig one zero, which is my

100
04:20.990 --> 04:21.460
root

101
04:21.460 --> 04:22.740
port, by the way.

102
04:22.740 --> 04:24.620
And so I'm going to shut this down support.

103
04:24.620 --> 04:25.620
I just shut down.

104
04:25.620 --> 04:28.980
Actually, we just want to look at things from a debug perspective.

105
04:28.980 --> 04:33.660
So when I do a shutdown on this, we're going to notice some things here.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

105
04:28.980 --> 04:33.660
So when I do a shutdown on this, we're going to notice some things here.

106
04:33.660 --> 04:34.940
All right.

107
04:34.940 --> 04:40.740
So let's go ahead and undi bug all so we don't keep getting debug messages.

108
04:40.740 --> 04:42.100
Notice these debug messages.

109
04:42.100 --> 04:43.700
Well, what happened here?

110
04:43.700 --> 04:46.520
Well, rapid spanning tree is saying, hey, we're updating the roles.

111
04:46.520 --> 04:49.200
Our root port is now down.

112
04:49.200 --> 04:51.760
And now gig three slash one is now the root port.

113
04:51.760 --> 04:54.960
And then we generate a topology change trap.

114
04:54.960 --> 04:56.760
So it happens very, very quickly.

115
04:56.760 --> 05:00.610
And if we turn on the timestamp on the debug messages, we'd see that that all
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

115
04:56.760 --> 05:00.610
And if we turn on the timestamp on the debug messages, we'd see that that all

116
05:00.610 --> 05:01.240
happened

117
05:01.240 --> 05:02.800
back to back to back.

118
05:02.800 --> 05:05.870
So it's pretty fun to be able to see some of these messages fly around using

119
05:05.870 --> 05:08.840
our debug.

120
05:08.840 --> 05:11.520
Now I'm just going to get onto another interface.

121
05:11.520 --> 05:14.240
This interface is not connecting to another switch.

122
05:14.240 --> 05:18.290
So I'm just going to do a no shut on this interface and then do a show spanning

123
05:18.290 --> 05:18.880
tree.

124
05:18.880 --> 05:20.280
What happens on a port?

125
05:20.280 --> 05:22.160
Whoops, let's wait until it's actually online.

126
05:22.160 --> 05:23.160
Oh, it was online.

127
05:23.160 --> 05:24.160
There it is.

128
05:24.160 --> 05:26.700
So we see that it's in a blocking state.

129
05:26.700 --> 05:29.520
State role is designated.

130
05:29.520 --> 05:32.280
But notice it doesn't say listening here.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

130
05:29.520 --> 05:32.280
But notice it doesn't say listening here.

131
05:32.280 --> 05:35.480
So if I do it again, we should see that it's in the learning state now.

132
05:35.480 --> 05:38.440
But yeah, we're not in again, Cisco doesn't say discarding.

133
05:38.440 --> 05:39.920
It says blocking.

134
05:39.920 --> 05:44.310
But it did not actually list out listening, even though it did it for 15

135
05:44.310 --> 05:45.040
seconds.

136
05:45.040 --> 05:46.880
So then transition to learning.

137
05:46.880 --> 05:50.430
And by now it's probably, well, still in learning, but it's going to very

138
05:50.430 --> 05:51.400
quickly transition

139
05:51.400 --> 05:52.920
over to forwarding at this point.

140
05:52.920 --> 05:53.920
There we go.

141
05:53.920 --> 05:55.440
So why did that take 30 full seconds?

142
05:55.440 --> 06:00.460
Well, because again, even though the port is in an upstate there up status,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

142
05:55.440 --> 06:00.460
Well, because again, even though the port is in an upstate there up status,

143
06:00.460 --> 06:01.080
there is

144
06:01.080 --> 06:02.840
no switch on the other side.

145
06:02.840 --> 06:05.440
If there's no switch on the other side, there's no BP to use.

146
06:05.440 --> 06:07.360
I can't negotiate with anybody.

147
06:07.360 --> 06:11.380
And so if this was a laptop, this would still take 30 seconds, which is why we

148
06:11.380 --> 06:11.760
want to make

149
06:11.760 --> 06:16.510
sure that we are indeed configuring that as an edge port, even in the rapid

150
06:16.510 --> 06:17.200
world.

151
06:17.200 --> 06:21.720
In fact, in the rapid spanning tree world, as we said, that's even more

152
06:21.720 --> 06:22.840
important.

153
06:22.840 --> 06:24.040
So how do we do that?

154
06:24.040 --> 06:28.800
Well, for on this interface, we might do a switch mode access to make it an

155
06:28.800 --> 06:29.960
access mode.

156
06:29.960 --> 06:31.520
I could configure it globally.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

156
06:29.960 --> 06:31.520
I could configure it globally.

157
06:31.520 --> 06:33.080
I could configure it here.

158
06:33.080 --> 06:34.240
So spanning tree.

159
06:34.240 --> 06:38.440
Now again, I can do port fast.

160
06:38.440 --> 06:42.870
Usually that would be the command, but on iOS, this virtual iOS, we do have to

161
06:42.870 --> 06:43.520
include

162
06:43.520 --> 06:45.160
the phrase edge here.

163
06:45.160 --> 06:48.730
But now it's going to not send topology changes and it would come up very, very

164
06:48.730 --> 06:49.400
quickly.

165
06:49.400 --> 06:53.440
I could do a shutdown on this port, do my no shut.

166
06:53.440 --> 06:59.270
And rather than sitting here and waiting for 30 seconds, we should see that it

167
06:59.270 --> 06:59.880
's immediately

168
06:59.880 --> 07:02.000
in the forwarding state and it is.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

168
06:59.880 --> 07:02.000
in the forwarding state and it is.

169
07:02.000 --> 07:05.880
And we see over here on the right that it indicates its point to point edge.

170
07:05.880 --> 07:06.960
So very good.

171
07:06.960 --> 07:11.930
That is how we configure our port type edge, which is still using Cisco's port

172
07:11.930 --> 07:13.320
fast command.

173
07:13.320 --> 07:16.960
Now lastly, I would never recommend doing this in public, but just to solidify

174
07:16.960 --> 07:17.240
some

175
07:17.240 --> 07:20.920
of these concepts, I say in public, but in production, I meant to say, yeah,

176
07:20.920 --> 07:21.320
don't do

177
07:21.320 --> 07:22.320
it in public.

178
07:22.320 --> 07:23.800
Don't want anybody judging you.

179
07:23.800 --> 07:29.560
If I get on to interface gig three slash one here, I do have this command.

180
07:29.560 --> 07:32.080
Clicking tree link type.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

180
07:29.560 --> 07:32.080
Clicking tree link type.

181
07:32.080 --> 07:35.840
And then we see I can configure this to be a shared link.

182
07:35.840 --> 07:40.470
If I look at my topology, we see gig three slash one here is the blocking port

183
07:40.470 --> 07:41.080
towards

184
07:41.080 --> 07:47.040
switch five, which means that it can't actually run in a rapid spanning tree if

185
07:47.040 --> 07:48.040
I configure

186
07:48.040 --> 07:49.880
it to be shared.

187
07:49.880 --> 07:51.520
So let's do it.

188
07:51.520 --> 07:52.520
Configure it as shared.

189
07:52.520 --> 07:58.670
I'm going to shut this link down and I'll get on to switch five on the other

190
07:58.670 --> 07:59.520
side.

191
07:59.520 --> 08:03.200
Also interface gig three slash one, shut it down.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

191
07:59.520 --> 08:03.200
Also interface gig three slash one, shut it down.

192
08:03.200 --> 08:05.240
And let's do a no shut and watch this process.

193
08:05.240 --> 08:09.240
So no shot on this side, no shot on this side.

194
08:09.240 --> 08:18.060
And if I say show spanning tree on the downstream switch, notice, oh, this is

195
08:18.060 --> 08:19.520
switch four still

196
08:19.520 --> 08:23.800
let's get to switch five, do show spanning tree.

197
08:23.800 --> 08:27.830
So we notice that it's in a blocking state right now, because it's going

198
08:27.830 --> 08:29.040
through listening

199
08:29.040 --> 08:30.860
and learning.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

199
08:29.040 --> 08:30.860
and learning.

200
08:30.860 --> 08:34.080
And so in a moment here, it'll transition to learning and there we go.

201
08:34.080 --> 08:38.320
So it knows that switch four or switch four rather is not running rapid

202
08:38.320 --> 08:39.520
spanning tree because

203
08:39.520 --> 08:40.520
it's a shared port.

204
08:40.520 --> 08:43.480
It can't assume that there's a switch on the other side and therefore it's not

205
08:43.480 --> 08:43.880
even going

206
08:43.880 --> 08:45.840
to try to negotiate switch five.

207
08:45.840 --> 08:49.560
Meanwhile says, well, I couldn't negotiate, but nobody's negotiating with me.

208
08:49.560 --> 08:53.710
And so this is why we keep saying that rapid is entirely relying on those

209
08:53.710 --> 08:54.720
negotiations.

210
08:54.720 --> 08:58.000
And so long as we're able to negotiate, we're good to go.

211
08:58.000 --> 09:00.640
But if we can't negotiate, then we're just going to go right back to our old
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

211
08:58.000 --> 09:00.640
But if we can't negotiate, then we're just going to go right back to our old

212
09:00.640 --> 09:01.240
way of doing

213
09:01.240 --> 09:04.700
things by transitioning through listening and learning, just keeping in mind

214
09:04.700 --> 09:05.440
that listening

215
09:05.440 --> 09:08.880
is now discarding, which Cisco shows as blocking.

216
09:08.880 --> 09:12.040
But either way, listening will no longer show up in rapid spanning tree.
