WEBVTT

1
00:00.000 --> 00:04.440
Well, if you studied spanning tree before, you're probably aware that there are

2
00:04.440 --> 00:04.880
some

3
00:04.880 --> 00:08.440
famous or maybe infamous tiebreakers that are out there.

4
00:08.440 --> 00:11.720
Because it's great when we say, "Hey, I've got a fast path to the root and I've

5
00:11.720 --> 00:11.880
got

6
00:11.880 --> 00:16.460
a maybe a less fast path to the root," then I would just take the faster of the

7
00:16.460 --> 00:17.000
two.

8
00:17.000 --> 00:20.540
But as we can imagine, especially in a network with lots of equal cost links,

9
00:20.540 --> 00:21.280
there's going

10
00:21.280 --> 00:24.950
to be a lot of equal cost opportunities, meaning that I'm going to have to

11
00:24.950 --> 00:26.280
decide between

12
00:26.280 --> 00:30.600
this path being a total cost of, let's say, 8.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

12
00:26.280 --> 00:30.600
this path being a total cost of, let's say, 8.

13
00:30.600 --> 00:36.000
And this cost also being a total cost of 8.

14
00:36.000 --> 00:39.200
So if it's 8 this way and 8 this way, what am I going to do?

15
00:39.200 --> 00:43.760
And yes, that is going to lead us into a conversation around tiebreakers.

16
00:43.760 --> 00:47.060
So let's take a look at one specific type of example, and then we're going to

17
00:47.060 --> 00:47.520
look at

18
00:47.520 --> 00:50.880
a different type of example that uses the same principles.

19
00:50.880 --> 00:54.680
So in this network, let's say that these are 1 gig links.

20
00:54.680 --> 00:59.510
1 gig links have a path cost of 4 by default, so that would be our short path

21
00:59.510 --> 01:00.120
cost.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

21
00:59.510 --> 01:00.120
cost.

22
01:00.120 --> 01:05.160
Let's say we're using that here, and we've got a root up here at the top, and

23
01:05.160 --> 01:05.720
then we've

24
01:05.720 --> 01:08.400
got another 1 gig link down here.

25
01:08.400 --> 01:13.440
So what ends up happening is we send our BPDU down to these two switches,

26
01:13.440 --> 01:14.920
advertising our

27
01:14.920 --> 01:20.000
root ID, which might be necessary if this network just came online.

28
01:20.000 --> 01:24.400
And I need to prove that I am the root, maybe I've got a priority value of 4000

29
01:24.400 --> 01:26.640
here, 4096.

30
01:26.640 --> 01:31.520
And so I advertise the root ID, and then I advertise my cost of zero.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

30
01:26.640 --> 01:31.520
And so I advertise the root ID, and then I advertise my cost of zero.

31
01:31.520 --> 01:35.460
So both of these switches are going to receive this cost of zero, and they're

32
01:35.460 --> 01:36.160
going to add

33
01:36.160 --> 01:39.240
the four and say, hey, I've got a cost of four.

34
01:39.240 --> 01:41.600
Both of them are thinking the same thing here.

35
01:41.600 --> 01:45.630
And so they determine that this is going to be the root port here for at least

36
01:45.630 --> 01:46.040
right

37
01:46.040 --> 01:48.720
now, unless I hear of a better path.

38
01:48.720 --> 01:55.080
And either way, then I am very quick to advertise out that I have a path cost

39
01:55.080 --> 01:56.120
of four.

40
01:56.120 --> 02:00.430
So I say, hey, I've got a cost of four, and this switch also says, hey, I've
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

40
01:56.120 --> 02:00.430
So I say, hey, I've got a cost of four, and this switch also says, hey, I've

41
02:00.430 --> 02:01.160
got a cost

42
02:01.160 --> 02:04.480
of four, and now we have a little bit of a problem.

43
02:04.480 --> 02:07.680
Which of these switches is going to block their link?

44
02:07.680 --> 02:09.880
Is it going to be a block on the right here?

45
02:09.880 --> 02:11.520
Is it going to be a block on the left?

46
02:11.520 --> 02:15.160
We're not going to both block because, again, think about spanning tree back in

47
02:15.160 --> 02:15.760
the day.

48
02:15.760 --> 02:16.760
There could be a hub in here.

49
02:16.760 --> 02:18.320
We could have hosts.

50
02:18.320 --> 02:21.160
Those hosts would have no way off the network if they both block.

51
02:21.160 --> 02:25.510
So somebody has to block this even in modern networks where we just have a

52
02:25.510 --> 02:26.480
point to point

53
02:26.480 --> 02:27.480
link.

54
02:27.480 --> 02:33.020
So the question here is going to come down to a question we ask a lot with
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

54
02:27.480 --> 02:33.020
So the question here is going to come down to a question we ask a lot with

55
02:33.020 --> 02:33.480
spanning tree

56
02:33.480 --> 02:39.240
protocol, which is which one of these is the superior BPDU.

57
02:39.240 --> 02:43.880
We know what a superior BPDU looks like when we're talking about root IDs.

58
02:43.880 --> 02:48.740
We recall that we're going to compare this is a concatenated set of values,

59
02:48.740 --> 02:49.400
which is

60
02:49.400 --> 02:52.040
a fancy way of saying we smash two values together.

61
02:52.040 --> 02:55.940
And so we've got a priority value and we've got a MAC address and we know that

62
02:55.940 --> 02:56.560
the lower

63
02:56.560 --> 02:58.400
of these values wins.

64
02:58.400 --> 03:01.720
Spanning tree protocols all about the lower value winning.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

64
02:58.400 --> 03:01.720
Spanning tree protocols all about the lower value winning.

65
03:01.720 --> 03:06.950
And so this tells me that I've got the superior BPDU compared to you two

66
03:06.950 --> 03:08.480
switches because

67
03:08.480 --> 03:12.040
my priority MAC combo is better than yours.

68
03:12.040 --> 03:14.240
And so remember BPDU is flow one way.

69
03:14.240 --> 03:19.910
And so I stopped trying to send BPDU upstream because I know that your BPDU is

70
03:19.910 --> 03:20.680
superior

71
03:20.680 --> 03:22.200
to mine.

72
03:22.200 --> 03:26.160
But down here, which of these is going to be the superior and which one's going

73
03:26.160 --> 03:26.480
to be

74
03:26.480 --> 03:28.040
the inferior.

75
03:28.040 --> 03:33.560
So this is where we need to consider a tiebreaker because we have a tie.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

75
03:28.040 --> 03:33.560
So this is where we need to consider a tiebreaker because we have a tie.

76
03:33.560 --> 03:38.650
And frankly, at this point, the only thing we care about the speed by which we

77
03:38.650 --> 03:39.240
can get

78
03:39.240 --> 03:41.840
to the root, that's equal.

79
03:41.840 --> 03:45.240
And so this tiebreaker can be completely arbitrary.

80
03:45.240 --> 03:49.520
We are really just trying to break the tie so that somebody blocks the port.

81
03:49.520 --> 03:50.600
That's what we care about at this point.

82
03:50.600 --> 03:54.890
I just need one of you to block it because the user experience is going to be

83
03:54.890 --> 03:55.560
the exact

84
03:55.560 --> 03:59.400
same if I go this way as if I go this way.

85
03:59.400 --> 04:02.880
Doesn't matter to users who might be here in the middle on a hub.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

85
03:59.400 --> 04:02.880
Doesn't matter to users who might be here in the middle on a hub.

86
04:02.880 --> 04:06.680
And that is the primary thing we care about user experience.

87
04:06.680 --> 04:08.280
We're going to take the shortest path.

88
04:08.280 --> 04:11.800
If the paths are the same, now it can be arbitrary.

89
04:11.800 --> 04:13.680
So what are we going to base it on?

90
04:13.680 --> 04:18.520
Well, we're going to base it on the bridge ID.

91
04:18.520 --> 04:24.520
Now we just said that the root is sending out its bridge ID and that bridge ID

92
04:24.520 --> 04:25.360
actually

93
04:25.360 --> 04:30.220
becomes the root ID for the whole network because I take my priority value and
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

93
04:25.360 --> 04:30.220
becomes the root ID for the whole network because I take my priority value and

94
04:30.220 --> 04:30.600
I add

95
04:30.600 --> 04:36.540
my MAC address to it and I have become the root because my bridge ID is the

96
04:36.540 --> 04:37.320
best in the

97
04:37.320 --> 04:38.320
network.

98
04:38.320 --> 04:42.200
Well, now we're going to use the bridge ID in a slightly different way here.

99
04:42.200 --> 04:48.380
So remember, when we send a BPDU, both of these switches sending a BPDU to one

100
04:48.380 --> 04:49.320
another,

101
04:49.320 --> 04:56.240
they're going to include things like the root ID and the path cost to the root.

102
04:56.240 --> 05:00.160
But I'm also going to include my own bridge ID.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

102
04:56.240 --> 05:00.160
But I'm also going to include my own bridge ID.

103
05:00.160 --> 05:02.120
Now I'm not trying to become the root at this point.

104
05:02.120 --> 05:05.120
I'm just telling you this is who it's coming from.

105
05:05.120 --> 05:09.950
My bridge ID, just like the root ID, is my local priority value concatenated

106
05:09.950 --> 05:10.280
with my

107
05:10.280 --> 05:12.520
system MAC address.

108
05:12.520 --> 05:20.760
So I might find that I set this switch to B4K, this switch to B8K, 8192, and

109
05:20.760 --> 05:21.160
this switch

110
05:21.160 --> 05:23.280
to B16K.

111
05:23.280 --> 05:26.840
So in this case, when I exchange the two, even though the path cost is the same

112
05:26.840 --> 05:27.240
, the

113
05:27.240 --> 05:31.580
root ID is the same, the path cost is the same, now I'm going to have to get
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

113
05:27.240 --> 05:31.580
root ID is the same, the path cost is the same, now I'm going to have to get

114
05:31.580 --> 05:32.120
down and

115
05:32.120 --> 05:34.240
compare the bridge ID.

116
05:34.240 --> 05:36.600
So who has the better bridge ID?

117
05:36.600 --> 05:39.720
Well, it's the person with the lower priority.

118
05:39.720 --> 05:43.790
So this is going to be considered the superior BPDU and this would be

119
05:43.790 --> 05:45.440
considered the inferior

120
05:45.440 --> 05:47.000
BPDU.

121
05:47.000 --> 05:51.270
Because I received a superior BPDU on my interface, I'm going to stop sending

122
05:51.270 --> 05:53.240
my inferior BPDU

123
05:53.240 --> 05:56.480
and I'm going to block that port.

124
05:56.480 --> 05:58.760
So that is how we resolve this issue.

125
05:58.760 --> 06:04.220
It's how we decide which port on the link is going to block in the case that by
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

125
05:58.760 --> 06:04.220
It's how we decide which port on the link is going to block in the case that by

126
06:04.220 --> 06:04.220
the

127
06:04.220 --> 06:08.920
both of these switches have the exact same path cost to the root.

128
06:08.920 --> 06:13.320
Now keep in mind that this conversation isn't quite done because what happens

129
06:13.320 --> 06:14.520
if we both

130
06:14.520 --> 06:16.580
have the same priority value.

131
06:16.580 --> 06:22.220
Maybe I just left this as the default, 32K here and 32K here.

132
06:22.220 --> 06:26.600
At that point, who's going to win the battle of superior BPDUs?

133
06:26.600 --> 06:30.890
Well, when I look at the bridge ID, if the priority is the same, I have to
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

133
06:26.600 --> 06:30.890
Well, when I look at the bridge ID, if the priority is the same, I have to

134
06:30.890 --> 06:31.680
compare the

135
06:31.680 --> 06:32.680
MAC.

136
06:32.680 --> 06:39.540
And the system MAC is always going to be unique per the rules of Ethernet.

137
06:39.540 --> 06:42.900
And so one of these will have the lower MAC address.

138
06:42.900 --> 06:48.420
And so the bridge ID is first and foremost going to take a look at the priority

139
06:48.420 --> 06:48.460
.

140
06:48.460 --> 06:52.680
But if the priority is the same, then it's going to look at the system MAC

141
06:52.680 --> 06:53.500
address.

142
06:53.500 --> 06:58.120
So in our case, let's say that we have system MAC address, we'll just keep this

143
06:58.120 --> 06:58.660
easy.

144
06:58.660 --> 07:06.780
We'll say this is 0.0.5 and over here on the right, this system MAC is 0.0.B.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

144
06:58.660 --> 07:06.780
We'll say this is 0.0.5 and over here on the right, this system MAC is 0.0.B.

145
07:06.780 --> 07:11.780
So remember their hexadecimal values, B stands for 11, A would be 10, B would

146
07:11.780 --> 07:13.060
be 11, C would

147
07:13.060 --> 07:14.220
be 12.

148
07:14.220 --> 07:17.420
And so 12 is a higher number than 5.

149
07:17.420 --> 07:21.820
Therefore this switch still wins and we still block the same port.

150
07:21.820 --> 07:26.450
But if this side had been 0.0.4, well then it would have won and the other side

151
07:26.450 --> 07:26.860
would

152
07:26.860 --> 07:27.860
have been blocked.

153
07:27.860 --> 07:32.900
Again, this is all very arbitrary because it doesn't matter which side blocks.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

153
07:27.860 --> 07:32.900
Again, this is all very arbitrary because it doesn't matter which side blocks.

154
07:32.900 --> 07:36.100
Again, we just need somebody to block.

155
07:36.100 --> 07:40.680
Now this triangle example is a good way of seeing how we might have two

156
07:40.680 --> 07:41.740
switches that

157
07:41.740 --> 07:44.580
are sending BP to use to one another.

158
07:44.580 --> 07:48.580
And we're kind of fighting over which one actually has the superior BP to use.

159
07:48.580 --> 07:56.540
But we might have another situation where we've got four switches here.

160
07:56.540 --> 07:58.020
And all of these are one gig links.

161
07:58.020 --> 08:02.100
So path cost of four, path cost of four, four and four.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

161
07:58.020 --> 08:02.100
So path cost of four, path cost of four, four and four.

162
08:02.100 --> 08:07.870
And so I advertise down to this switch that hey I've got a cost of four to the

163
08:07.870 --> 08:08.260
root.

164
08:08.260 --> 08:09.980
And this switch on the right says the same thing.

165
08:09.980 --> 08:12.820
I've got a path cost of four to the root.

166
08:12.820 --> 08:18.700
So now we have to decide hey, now this isn't a matter of me saying I have a

167
08:18.700 --> 08:19.780
superior BP

168
08:19.780 --> 08:20.780
to you.

169
08:20.780 --> 08:22.940
I don't even have a good way to the root at this point.

170
08:22.940 --> 08:25.300
I'm trying to decide my path to the root.

171
08:25.300 --> 08:28.260
So I see that you're telling me it's a four.

172
08:28.260 --> 08:29.260
I add my four.

173
08:29.260 --> 08:31.860
And so I know this is eight to go this way.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

173
08:29.260 --> 08:31.860
And so I know this is eight to go this way.

174
08:31.860 --> 08:33.620
Well, I do the same thing over here.

175
08:33.620 --> 08:37.500
And I see that I've got a path cost of eight going this way.

176
08:37.500 --> 08:39.460
So how do I decide which way to go?

177
08:39.460 --> 08:44.670
Well, it's going to be the exact same concept except now I'm not comparing the

178
08:44.670 --> 08:45.260
bridge ID

179
08:45.260 --> 08:46.660
to my bridge ID.

180
08:46.660 --> 08:51.140
I'm comparing this bridge ID to this bridge ID.

181
08:51.140 --> 08:55.250
So the BP to you that's coming in from both sides that includes the path cost

182
08:55.250 --> 08:56.340
to the root

183
08:56.340 --> 08:59.060
out and I will have two different bridge IDs.

184
08:59.060 --> 09:05.610
So now let's say I have zero dot zero dot D here and I've got zero dot zero dot
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

184
08:59.060 --> 09:05.610
So now let's say I have zero dot zero dot D here and I've got zero dot zero dot

185
09:05.610 --> 09:05.820
five.

186
09:05.820 --> 09:11.620
Well D which would be thirteen here from a decimal perspective is going to be

187
09:11.620 --> 09:12.380
greater

188
09:12.380 --> 09:13.540
than five.

189
09:13.540 --> 09:20.360
So I'm going to view this BP to you as superior because it has a lower bridge

190
09:20.360 --> 09:21.020
ID.

191
09:21.020 --> 09:26.740
Now label this one as inferior meaning that I'm going to block this port.

192
09:26.740 --> 09:30.340
Now when I say it's inferior I don't mean to my own BP to you because what's
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

192
09:26.740 --> 09:30.340
Now when I say it's inferior I don't mean to my own BP to you because what's

193
09:30.340 --> 09:30.700
going

194
09:30.700 --> 09:35.240
to happen here is I'm going to assign this as my root port and technically I'm

195
09:35.240 --> 09:35.820
going to

196
09:35.820 --> 09:39.340
try I being the switch we'll call the switch four.

197
09:39.340 --> 09:43.630
Switch four is going to try to claim that it has a path to the root because it

198
09:43.630 --> 09:44.140
does.

199
09:44.140 --> 09:46.260
It has a path cost of eight.

200
09:46.260 --> 09:51.850
So now if we zoom in on these two switches let's make it a little more clear

201
09:51.850 --> 09:52.540
down here.

202
09:52.540 --> 09:58.740
So now I have a root path root port here root port here and those both go to

203
09:58.740 --> 09:59.700
the root so

204
09:59.700 --> 10:00.900
we understand that.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

204
09:59.700 --> 10:00.900
we understand that.

205
10:00.900 --> 10:04.740
So now we have to decide between this link here and that's exactly the same

206
10:04.740 --> 10:05.340
scenario

207
10:05.340 --> 10:06.660
we just had.

208
10:06.660 --> 10:12.430
The difference is that I'm advertising that I have a path cost of four and I'm

209
10:12.430 --> 10:13.460
advertising

210
10:13.460 --> 10:19.400
down here our switch four here is advertising a cost of eight because I know

211
10:19.400 --> 10:19.980
that my path

212
10:19.980 --> 10:24.020
cost as we said is going to be eight going that direction.

213
10:24.020 --> 10:28.430
Well I don't even have to compare bridge IDs because the better path is going

214
10:28.430 --> 10:28.860
to win.

215
10:28.860 --> 10:32.850
Again imagine there's a hub here imagine there's hosts and imagine which way
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

215
10:28.860 --> 10:32.850
Again imagine there's a hub here imagine there's hosts and imagine which way

216
10:32.850 --> 10:33.620
they'd want to

217
10:33.620 --> 10:38.690
go with everything being equal we know that this would be more hops and

218
10:38.690 --> 10:39.940
therefore we'd

219
10:39.940 --> 10:42.300
really rather just go this way.

220
10:42.300 --> 10:47.220
But it's not about how account it's about the path cost.

221
10:47.220 --> 10:51.020
And so I look at the fact that you're telling me it's a cost of four I know I

222
10:51.020 --> 10:51.740
have a cost

223
10:51.740 --> 10:56.800
of eight so my BPD is inferior and so I am going to block here otherwise the

224
10:56.800 --> 10:57.540
other side

225
10:57.540 --> 11:02.020
would have to block but in my case I know I'm going to have to block this side.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

225
10:57.540 --> 11:02.020
would have to block but in my case I know I'm going to have to block this side.

226
11:02.020 --> 11:06.490
So these are the two different sort of topologies where we can start to see

227
11:06.490 --> 11:07.700
this shake out.

228
11:07.700 --> 11:10.900
One is when we have two switches directly competing on the same link another

229
11:10.900 --> 11:11.260
one is

230
11:11.260 --> 11:14.980
when we have a switch comparing multiple uplinks it might be two it might be

231
11:14.980 --> 11:16.140
three or four

232
11:16.140 --> 11:20.590
but either way if the path costs being advertised are the same I'm going to

233
11:20.590 --> 11:21.660
look at the bridge

234
11:21.660 --> 11:22.820
ID to break the tie.
