WEBVTT

1
00:00.000 --> 00:05.280
All right, we still have one more situation where everything we've talked about

2
00:05.280 --> 00:05.620
up till

3
00:05.620 --> 00:08.400
now is not quite good enough.

4
00:08.400 --> 00:11.560
And we are still going to need one more mechanism to help us out.

5
00:11.560 --> 00:16.280
So we have said that if we're getting two different BPDUs into the switch, let

6
00:16.280 --> 00:16.720
's call

7
00:16.720 --> 00:19.840
this switch before, why not?

8
00:19.840 --> 00:27.160
And we're advertising a cost of four or eight or 132 doesn't matter.

9
00:27.160 --> 00:29.320
So long as these numbers are the same.

10
00:29.320 --> 00:30.440
These are equal costs.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

10
00:29.320 --> 00:30.440
These are equal costs.

11
00:30.440 --> 00:32.640
And so we're going to compare the bridge ID.

12
00:32.640 --> 00:35.280
And we're going to look at the bridge ID.

13
00:35.280 --> 00:41.720
But what happens if both of the bridge IDs have a priority field of 16 K?

14
00:41.720 --> 00:44.240
Well we know at that point I look at the MAC address.

15
00:44.240 --> 00:47.540
Well what if the MAC address on the left is zero dot zero dot A and the MAC

16
00:47.540 --> 00:48.240
address on

17
00:48.240 --> 00:51.760
the right is zero dot zero dot A.

18
00:51.760 --> 00:53.880
Well wait a second here.

19
00:53.880 --> 00:55.840
We said that MAC addresses are always unique.

20
00:55.840 --> 00:57.560
So how did this even happen?

21
00:57.560 --> 01:00.960
And we've got the tiebreaker as a result in a tie.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

21
00:57.560 --> 01:00.960
And we've got the tiebreaker as a result in a tie.

22
01:00.960 --> 01:02.160
That's no good.

23
01:02.160 --> 01:03.560
So how can this happen?

24
01:03.560 --> 01:04.920
Well it's pretty simple.

25
01:04.920 --> 01:11.440
It happens when the upstream device is the same on both links.

26
01:11.440 --> 01:13.760
This we call switch three.

27
01:13.760 --> 01:17.880
So now we have two connections between these two switches.

28
01:17.880 --> 01:20.560
And we maybe connected them for redundancy.

29
01:20.560 --> 01:24.460
Now not to skip ahead, spoiler alert, we'd really like to just ether channel

30
01:24.460 --> 01:24.920
this and

31
01:24.920 --> 01:26.000
not worry about it.

32
01:26.000 --> 01:27.200
That's great.

33
01:27.200 --> 01:30.320
And that is exactly what we do in a real world scenario.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

33
01:27.200 --> 01:30.320
And that is exactly what we do in a real world scenario.

34
01:30.320 --> 01:35.520
But spanning tree was invented in an era where ether channels maybe weren't as

35
01:35.520 --> 01:36.600
prolific.

36
01:36.600 --> 01:39.520
And the reality is that ether channels aren't required.

37
01:39.520 --> 01:42.840
I can't point to this and say you have to configure an ether channel.

38
01:42.840 --> 01:45.400
Spanning tree has to figure this out.

39
01:45.400 --> 01:50.080
And the information that we've had until now, the path cost doesn't help.

40
01:50.080 --> 01:51.200
It's a tie.

41
01:51.200 --> 01:54.440
The bridge ID also doesn't help.

42
01:54.440 --> 01:55.440
It's a tie.

43
01:55.440 --> 01:57.480
We need a new mechanism.

44
01:57.480 --> 02:03.720
And that new mechanism is known as the port ID.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

44
01:57.480 --> 02:03.720
And that new mechanism is known as the port ID.

45
02:03.720 --> 02:06.400
This is going to be another arbitrary tiebreaker.

46
02:06.400 --> 02:09.840
If truly the cost is the same coming in.

47
02:09.840 --> 02:13.320
And yeah, that assumes that these are both the same bandwidth.

48
02:13.320 --> 02:16.660
If one was a gig link, the other is a 10 gig link, we would want to choose the

49
02:16.660 --> 02:18.480
10 gig link.

50
02:18.480 --> 02:22.320
But if everything else is the same, we just need to pick one of these to block.

51
02:22.320 --> 02:23.960
Either block this one or block this one.

52
02:23.960 --> 02:26.680
If that doesn't matter, just pick one and block.

53
02:26.680 --> 02:30.960
And so we're going to need another arbitrary way of breaking that tie.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

53
02:26.680 --> 02:30.960
And so we're going to need another arbitrary way of breaking that tie.

54
02:30.960 --> 02:33.160
And that would be the port ID.

55
02:33.160 --> 02:37.150
The port ID, just like the bridge ID is going to consist of two different

56
02:37.150 --> 02:38.240
values, it's going

57
02:38.240 --> 02:47.560
to have a priority value, which is concatenated with a port number.

58
02:47.560 --> 02:50.440
This port number is an internal value.

59
02:50.440 --> 02:55.160
And unfortunately, we don't always know what exactly the port number is going

60
02:55.160 --> 02:55.760
to be.

61
02:55.760 --> 02:59.440
It's internally assigned by the switch.

62
02:59.440 --> 03:04.970
So usually, fortunately, I can look at like gig zero slash one and compare that
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

62
02:59.440 --> 03:04.970
So usually, fortunately, I can look at like gig zero slash one and compare that

63
03:04.970 --> 03:05.480
to gig

64
03:05.480 --> 03:07.040
zero slash two.

65
03:07.040 --> 03:12.450
And I know that gig zero slash one is less than zero slash two that just numer

66
03:12.450 --> 03:14.400
ically speaking.

67
03:14.400 --> 03:18.800
And so I can compare those two ports and I understand which one is lower.

68
03:18.800 --> 03:22.320
But what if there's a gig zero in our face?

69
03:22.320 --> 03:25.000
How do I compare that to a gig zero one?

70
03:25.000 --> 03:30.240
Or how do I compare a gig one slash zero with gig zero slash two?
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

70
03:25.000 --> 03:30.240
Or how do I compare a gig one slash zero with gig zero slash two?

71
03:30.240 --> 03:32.640
So we see that there can be problems in here.

72
03:32.640 --> 03:37.940
And if the operating system and the hardware manufacturer in our case Cisco is

73
03:37.940 --> 03:39.000
using logic,

74
03:39.000 --> 03:41.880
then hopefully we'll be able to figure out that maybe one zero is still higher

75
03:41.880 --> 03:42.480
than zero

76
03:42.480 --> 03:48.040
tube, treat these numbers as if they matter more, so on and so forth.

77
03:48.040 --> 03:54.080
But the port number that gets mapped, it still can't be G zero slash one.

78
03:54.080 --> 03:55.800
It has to be a numerical value.

79
03:55.800 --> 03:57.640
It has to be something like 11.

80
03:57.640 --> 04:02.260
And so as long as they have been internally assigned appropriately, we should
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

80
03:57.640 --> 04:02.260
And so as long as they have been internally assigned appropriately, we should

81
04:02.260 --> 04:02.960
have a port

82
04:02.960 --> 04:04.400
number here.

83
04:04.400 --> 04:08.660
The priority value is going to be just like some of the other priority values

84
04:08.660 --> 04:09.560
we've talked

85
04:09.560 --> 04:15.640
about where we can assign this, but it's going to have a default value.

86
04:15.640 --> 04:20.100
The default value is 128, which is a little bit off compared to the other

87
04:20.100 --> 04:21.240
priority values,

88
04:21.240 --> 04:24.480
which all have a default value of 32,768.

89
04:24.480 --> 04:32.760
Well, it's 128 because the full range for our priority value is zero to 255
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

89
04:24.480 --> 04:32.760
Well, it's 128 because the full range for our priority value is zero to 255

90
04:32.760 --> 04:33.440
because it's

91
04:33.440 --> 04:35.440
an eight bit ID.

92
04:35.440 --> 04:43.000
So we're not using the full range of IDs like we have with our priority values

93
04:43.000 --> 04:43.520
over

94
04:43.520 --> 04:44.520
here.

95
04:44.520 --> 04:49.720
Instead, we are looking at an eight bit value rather than the 16 bit value.

96
04:49.720 --> 04:56.000
So when we have eight bits, zero to 255, however, Cisco has once again said,

97
04:56.000 --> 04:57.600
you know, we require

98
04:57.600 --> 05:03.240
this to go on increments over here of 40, 96 for our switch priorities, we're
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

98
04:57.600 --> 05:03.240
this to go on increments over here of 40, 96 for our switch priorities, we're

99
05:03.240 --> 05:03.640
going to

100
05:03.640 --> 05:06.840
require increments of 16 here.

101
05:06.840 --> 05:14.400
So I could assign a value of, let's say zero, I could do 16, I could do 128.

102
05:14.400 --> 05:19.600
I could do 240, but 240 is going to be the highest number I can go to because I

103
05:19.600 --> 05:20.040
can't

104
05:20.040 --> 05:21.040
go to 256.

105
05:21.040 --> 05:26.300
That's 255 itself is not a multiple of 16, but these are the priority values

106
05:26.300 --> 05:26.960
that I can

107
05:26.960 --> 05:27.960
map.

108
05:27.960 --> 05:36.800
And just like with everything, the lower value is better.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

108
05:27.960 --> 05:36.800
And just like with everything, the lower value is better.

109
05:36.800 --> 05:40.800
Now here is the very important part of port IDs.

110
05:40.800 --> 05:49.760
The port ID that I'm going to look at is the egress or the advertised port ID.

111
05:49.760 --> 05:57.160
What this means is the upstream switch is pushing down the port ID.

112
05:57.160 --> 06:03.480
In other words, the port ID here and the port ID here don't matter whatsoever.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

112
05:57.160 --> 06:03.480
In other words, the port ID here and the port ID here don't matter whatsoever.

113
06:03.480 --> 06:08.110
It's going to be the port ID up here and the port ID ID here that matters

114
06:08.110 --> 06:09.120
because this

115
06:09.120 --> 06:11.480
is where I'm pushing the BPD use from.

116
06:11.480 --> 06:16.280
I'm going to advertise the port IDs.

117
06:16.280 --> 06:21.200
And this is really easy for us to forget when we're doing our configurations.

118
06:21.200 --> 06:25.520
If we have a lab task, spoiler alert, we probably will, where I have to control

119
06:25.520 --> 06:25.920
which

120
06:25.920 --> 06:31.430
one of these I want to block, well, I'm going to have to come up here to switch
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

120
06:25.920 --> 06:31.430
one of these I want to block, well, I'm going to have to come up here to switch

121
06:31.430 --> 06:32.240
three and

122
06:32.240 --> 06:34.640
do the configuration up here.

123
06:34.640 --> 06:39.090
If I want to control which of these ports get blocked between the two switches,

124
06:39.090 --> 06:39.560
I can't

125
06:39.560 --> 06:42.560
just get down here and change the port ID.

126
06:42.560 --> 06:47.200
So on egress, the port ID gets advertised.

127
06:47.200 --> 06:54.720
And as a result, it's the upstream port ID that ends up mattering.

128
06:54.720 --> 06:56.040
So here's the question.

129
06:56.040 --> 06:59.280
Let's kind of get into a almost a CCIE mindset.

130
06:59.280 --> 07:05.860
If we had a lab task that said get on to switch four and control which port
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

130
06:59.280 --> 07:05.860
If we had a lab task that said get on to switch four and control which port

131
07:05.860 --> 07:07.460
gets blocked on

132
07:07.460 --> 07:09.080
ingress.

133
07:09.080 --> 07:11.280
Is this possible?

134
07:11.280 --> 07:13.160
It's not going to be possible with port IDs.

135
07:13.160 --> 07:15.040
Port IDs are an egress concept.

136
07:15.040 --> 07:20.440
I can't change the port ID here or here to change which port gets blocked.

137
07:20.440 --> 07:24.720
But it is possible to change the inbound cost.

138
07:24.720 --> 07:25.720
So always keep that in mind.

139
07:25.720 --> 07:29.360
Remember, I said this was a one gig link and a one gig link.

140
07:29.360 --> 07:34.560
And so by default, it's going to have a cost of four and a cost of four.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

140
07:29.360 --> 07:34.560
And so by default, it's going to have a cost of four and a cost of four.

141
07:34.560 --> 07:39.160
Well, let's say switch three has some kind of cost of eight upstream.

142
07:39.160 --> 07:41.680
And so it's advertising the port IDs.

143
07:41.680 --> 07:44.960
It also advertises a cost of eight.

144
07:44.960 --> 07:47.600
So this switch sees two options.

145
07:47.600 --> 07:54.160
Its two options are to go this way and it costs 12 or I can go this way and it

146
07:54.160 --> 07:55.040
also costs

147
07:55.040 --> 07:56.040
12.

148
07:56.040 --> 07:57.040
Why 12?

149
07:57.040 --> 07:59.960
Well, because switch three has a cost of eight and I'm adding four on this side

150
07:59.960 --> 08:01.000
to get 12.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

150
07:59.960 --> 08:01.000
to get 12.

151
08:01.000 --> 08:03.360
I'm adding four on this side to get 12.

152
08:03.360 --> 08:07.360
So if I want to control this, let's say I really want to block the port on the

153
08:07.360 --> 08:08.080
left.

154
08:08.080 --> 08:12.880
But with the configuration on switch three, the current currently I'm blocking

155
08:12.880 --> 08:13.440
the port

156
08:13.440 --> 08:14.440
on the right.

157
08:14.440 --> 08:17.480
How do I force this link on the left to get blocked?

158
08:17.480 --> 08:23.840
Well, all I have to do is make it so this has a much higher cost.

159
08:23.840 --> 08:28.800
So I can say that the cost is increased or decreased depending on what I want

160
08:28.800 --> 08:29.400
to do.

161
08:29.400 --> 08:32.520
I can use those manual cost adjustments.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

161
08:29.400 --> 08:32.520
I can use those manual cost adjustments.

162
08:32.520 --> 08:38.060
So let's say that I override this now and I say, hey, this no longer has a cost

163
08:38.060 --> 08:38.840
of four.

164
08:38.840 --> 08:43.640
Instead it has a cost of 400, something like that.

165
08:43.640 --> 08:47.760
Well now my cost to get out this link, we would say it's advertising eight.

166
08:47.760 --> 08:52.640
So I add 400 to it has 408 compared to 12.

167
08:52.640 --> 08:56.890
Now the port priority doesn't matter anymore and I can take the faster

168
08:56.890 --> 08:58.160
perceived path, which

169
08:58.160 --> 09:01.760
is the path on the right because that still has a cost of 12.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

169
08:58.160 --> 09:01.760
is the path on the right because that still has a cost of 12.

170
09:01.760 --> 09:02.880
So keep that in mind.

171
09:02.880 --> 09:06.320
I have the ability to control this on egress via port ID.

172
09:06.320 --> 09:08.040
I can change the priority value.

173
09:08.040 --> 09:11.880
I can't change the port ID just like I can't change a port number here.

174
09:11.880 --> 09:16.440
I can't change that in the same way I can't change a system MAC address.

175
09:16.440 --> 09:19.280
But I do have configuration control over the priority.

176
09:19.280 --> 09:21.240
That's how I would do it with egress.

177
09:21.240 --> 09:25.240
If I had to configure switch forward to do this, I can configure on egress.

178
09:25.240 --> 09:27.120
It won't involve port IDs.

179
09:27.120 --> 09:28.800
It will involve cost.

180
09:28.800 --> 09:31.930
If I could break the tie at the cost level, I don't even need to worry about
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

180
09:28.800 --> 09:31.930
If I could break the tie at the cost level, I don't even need to worry about

181
09:31.930 --> 09:32.960
the tiebreaker

182
09:32.960 --> 09:34.080
at the port ID level.
