WEBVTT

1
00:00.000 --> 00:01.100 align:middle line:84%


2
00:01.100 --> 00:02.250 align:middle line:84%
Welcome to the video.

3
00:02.250 --> 00:03.380 align:middle line:84%
My name is Keith Barker.

4
00:03.380 --> 00:05.000 align:middle line:90%
And I have a dear
friend named Kevin

5
00:05.000 --> 00:07.830 align:middle line:90%
who has a podcast
with a fantastic name.

6
00:07.830 --> 00:10.610 align:middle line:84%
The name is The Broadcast Storm.

7
00:10.610 --> 00:13.280 align:middle line:90%
I love it, because if we have
a Layer 2 environment that

8
00:13.280 --> 00:15.140 align:middle line:90%
has loops, and
Spanning Tree hasn't

9
00:15.140 --> 00:17.840 align:middle line:90%
done its job in identifying
the loops and preventing it,

10
00:17.840 --> 00:20.360 align:middle line:90%
a broadcast can just loop
and loop and loop and loop

11
00:20.360 --> 00:22.220 align:middle line:90%
forever at very,
very high speed.

12
00:22.220 --> 00:24.920 align:middle line:90%
So in this video, I'd like to
share with you some protections

13
00:24.920 --> 00:27.860 align:middle line:90%
that we can use against
that, called storm control,

14
00:27.860 --> 00:29.550 align:middle line:90%
in a Catalyst
switched environment.

15
00:29.550 --> 00:31.910 align:middle line:90%
So let's imagine we have
switch 1 and switch 2 here.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

15
00:29.550 --> 00:31.910 align:middle line:90%
So let's imagine we have
switch 1 and switch 2 here.

16
00:31.910 --> 00:33.410 align:middle line:90%
It looks like there's
a trunk there.

17
00:33.410 --> 00:34.710 align:middle line:84%
Let's put another trunk in.

18
00:34.710 --> 00:36.110 align:middle line:84%
I'll put a trunk right there.

19
00:36.110 --> 00:36.610 align:middle line:84%
Great.

20
00:36.610 --> 00:37.640 align:middle line:84%
So we have two trunks.

21
00:37.640 --> 00:40.990 align:middle line:90%
And let's say, for
a VLAN, number 10,

22
00:40.990 --> 00:42.553 align:middle line:90%
that we have disabled
Spanning Tree.

23
00:42.553 --> 00:43.970 align:middle line:90%
And we just told
the switch, don't

24
00:43.970 --> 00:45.553 align:middle line:90%
worry about Spanning
Tree for VLAN 10.

25
00:45.553 --> 00:48.650 align:middle line:90%
It's going to be OK through
some misconfiguration.

26
00:48.650 --> 00:53.720 align:middle line:90%
Well, a user, in VLAN 10,
if they send an ARP request

27
00:53.720 --> 00:56.120 align:middle line:90%
or do anything else that
involves a broadcast

28
00:56.120 --> 00:58.220 align:middle line:90%
layer to broadcast,
that broadcast

29
00:58.220 --> 00:59.750 align:middle line:90%
will go in the
switch, and then it's

30
00:59.750 --> 01:01.610 align:middle line:90%
going to be forwarded,
because in VLAN 10,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

30
00:59.750 --> 01:01.610 align:middle line:90%
going to be forwarded,
because in VLAN 10,

31
01:01.610 --> 01:03.402 align:middle line:90%
the trunks that are
associated with VLAN 10

32
01:03.402 --> 01:05.060 align:middle line:90%
is going to be sent
out the trunks, who

33
01:05.060 --> 01:07.190 align:middle line:90%
are going to forward it back
down to the other trunks.

34
01:07.190 --> 01:08.990 align:middle line:90%
And that's going to
loop in both directions

35
01:08.990 --> 01:10.047 align:middle line:84%
for a long, long time.

36
01:10.047 --> 01:11.880 align:middle line:90%
Now, there's good news
and bad news of this.

37
01:11.880 --> 01:13.550 align:middle line:90%
The good news is that
you have these fairly

38
01:13.550 --> 01:16.010 align:middle line:90%
high-powered switches that do
allow switching in hardware,

39
01:16.010 --> 01:19.650 align:middle line:90%
and they can forward like
millions of frames per second.

40
01:19.650 --> 01:22.340 align:middle line:90%
However, our users are going to
have a really bad experience,

41
01:22.340 --> 01:25.010 align:middle line:90%
because we could consume almost
all the bandwidth and resources

42
01:25.010 --> 01:28.027 align:middle line:90%
on these switches just by having
the loops that are in place.

43
01:28.027 --> 01:30.110 align:middle line:90%
So we might ask ourselves,
well, what can be done?
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

43
01:28.027 --> 01:30.110 align:middle line:90%
So we might ask ourselves,
well, what can be done?

44
01:30.110 --> 01:33.620 align:middle line:90%
Well, number one is
turn on Spanning Tree,

45
01:33.620 --> 01:34.820 align:middle line:84%
so this won't happen.

46
01:34.820 --> 01:37.370 align:middle line:90%
And then secondly to
protect our networks

47
01:37.370 --> 01:39.662 align:middle line:90%
against this situation, where
we might have a broadcast

48
01:39.662 --> 01:41.870 align:middle line:90%
storm that's just looping,
looping, then going around

49
01:41.870 --> 01:43.430 align:middle line:90%
and around, what
we could do is use

50
01:43.430 --> 01:46.370 align:middle line:90%
the feature called storm
control in a Catalyst Cisco

51
01:46.370 --> 01:47.250 align:middle line:84%
environment.

52
01:47.250 --> 01:50.180 align:middle line:90%
So I took the liberty of labbing
up three physical switches.

53
01:50.180 --> 01:53.120 align:middle line:90%
And they're connected on
these ports respectively.

54
01:53.120 --> 01:56.270 align:middle line:90%
And currently, I have VLAN
1 and VLAN 10 and VLAN 20.

55
01:56.270 --> 01:58.250 align:middle line:90%
And what I propose we
do in this little lab

56
01:58.250 --> 02:00.860 align:middle line:90%
environment, this little
closed loop, is let's go ahead
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

56
01:58.250 --> 02:00.860 align:middle line:90%
environment, this little
closed loop, is let's go ahead

57
02:00.860 --> 02:04.120 align:middle line:90%
and disable Spanning
Tree for VLAN 1,

58
02:04.120 --> 02:06.530 align:middle line:90%
and then send a broadcast
like to an ARP request,

59
02:06.530 --> 02:08.570 align:middle line:90%
and then just see the
lights just go crazy

60
02:08.570 --> 02:10.550 align:middle line:90%
and utilization go
crazy, because there's

61
02:10.550 --> 02:13.680 align:middle line:90%
nothing to prevent the
Layer 2 loop from happening.

62
02:13.680 --> 02:15.262 align:middle line:84%
So we'll introduce the problem.

63
02:15.262 --> 02:17.720 align:middle line:90%
And then the great news is that
we'll look at storm control

64
02:17.720 --> 02:20.672 align:middle line:90%
as a method of helping
to survive that broadcast

65
02:20.672 --> 02:22.880 align:middle line:90%
storm while it happens and
not have the whole network

66
02:22.880 --> 02:23.930 align:middle line:84%
go belly up.

67
02:23.930 --> 02:26.130 align:middle line:90%
All right, so I'm
using SecureCRT.

68
02:26.130 --> 02:27.320 align:middle line:84%
I have three sessions open.

69
02:27.320 --> 02:28.910 align:middle line:90%
I have the command
window that sends

70
02:28.910 --> 02:30.440 align:middle line:84%
one command to all windows.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

70
02:28.910 --> 02:30.440 align:middle line:84%
one command to all windows.

71
02:30.440 --> 02:32.460 align:middle line:90%
So let's verify our
connections to begin with.

72
02:32.460 --> 02:35.160 align:middle line:84%
Do a show cdp neighbor.

73
02:35.160 --> 02:37.550 align:middle line:90%
So from switch 1's perspective,
we are connected down

74
02:37.550 --> 02:40.180 align:middle line:90%
to switch 2 off of
Fast Ethernet 0/3,

75
02:40.180 --> 02:44.070 align:middle line:90%
and we're connected to switch
3 on Fast Ethernet 0/4.

76
02:44.070 --> 02:46.110 align:middle line:90%
Let's verify that
against our topology.

77
02:46.110 --> 02:51.197 align:middle line:90%
Sure enough, 0/3 and 0/4
to 2 and 3 respectively.

78
02:51.197 --> 02:53.030 align:middle line:90%
And then let's also go
down to switch 2 just

79
02:53.030 --> 02:56.450 align:middle line:90%
make sure that that port
0/5 goes over to switch 3.

80
02:56.450 --> 02:59.480 align:middle line:90%
So if we go to switch 2,
and it says that switch 3

81
02:59.480 --> 03:01.970 align:middle line:90%
is connected off of
its Fast Ethernet 0/5.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

81
02:59.480 --> 03:01.970 align:middle line:90%
is connected off of
its Fast Ethernet 0/5.

82
03:01.970 --> 03:03.240 align:middle line:84%
That looks fantastic.

83
03:03.240 --> 03:05.120 align:middle line:90%
Let's also verify
Spanning Tree is running.

84
03:05.120 --> 03:08.420 align:middle line:84%
Show Spanning Tree for VLAN 1.

85
03:08.420 --> 03:11.280 align:middle line:90%
And switch 3 has a root
port and a block port.

86
03:11.280 --> 03:12.770 align:middle line:84%
Switch 1 is the root.

87
03:12.770 --> 03:14.750 align:middle line:90%
Both of its ports
are designated.

88
03:14.750 --> 03:17.900 align:middle line:90%
And switch 3 has a root port
and a designated port going over

89
03:17.900 --> 03:18.448 align:middle line:84%
to switch 2.

90
03:18.448 --> 03:20.990 align:middle line:90%
So currently, we're not going
to have a whole bunch of loops,

91
03:20.990 --> 03:22.490 align:middle line:90%
because we have
Spanning Tree that's

92
03:22.490 --> 03:24.050 align:middle line:84%
protecting against loops.

93
03:24.050 --> 03:25.110 align:middle line:84%
But let's do this.

94
03:25.110 --> 03:27.740 align:middle line:90%
Let's go ahead and do a
config t, and no Spanning

95
03:27.740 --> 03:30.500 align:middle line:84%
Tree for VLAN 1.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

95
03:27.740 --> 03:30.500 align:middle line:84%
Tree for VLAN 1.

96
03:30.500 --> 03:33.020 align:middle line:90%
And let's go to a
device, like switch 1,

97
03:33.020 --> 03:38.980 align:middle line:90%
and do a config t, interface
VLAN 1, IP address.

98
03:38.980 --> 03:42.290 align:middle line:90%
And let's do a ping
out to 1.1.1.88.

99
03:42.290 --> 03:45.330 align:middle line:90%
It doesn't exist, but all
we're after is the actual ARP

100
03:45.330 --> 03:45.875 align:middle line:84%
request.

101
03:45.875 --> 03:47.250 align:middle line:90%
And I'm looking
over my shoulder.

102
03:47.250 --> 03:48.833 align:middle line:90%
Let me see if I can
get this in frame.

103
03:48.833 --> 03:50.340 align:middle line:84%
Let me walk over here.

104
03:50.340 --> 03:53.810 align:middle line:90%
So these LEDs right here
are just all lit up.

105
03:53.810 --> 03:56.150 align:middle line:90%
So we have a Layer 2 loop
that's currently happening.

106
03:56.150 --> 03:57.900 align:middle line:90%
So if we do show
interface, let's go ahead

107
03:57.900 --> 04:00.380 align:middle line:84%
and pick on Fast Ethernet 0/3.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

107
03:57.900 --> 04:00.380 align:middle line:84%
and pick on Fast Ethernet 0/3.

108
04:00.380 --> 04:02.560 align:middle line:84%
So show interface FA 0/3.

109
04:02.560 --> 04:06.410 align:middle line:90%
Here, it says we've
had 47,233 broadcasts.

110
04:06.410 --> 04:09.230 align:middle line:90%
If we hit the up arrow
key again, and do a pipe,

111
04:09.230 --> 04:14.240 align:middle line:90%
and just say include Received,
press Enter, now it's

112
04:14.240 --> 04:15.470 align:middle line:84%
at 58,000.

113
04:15.470 --> 04:16.920 align:middle line:90%
Yeah, it's climbing
pretty quick.

114
04:16.920 --> 04:18.378 align:middle line:90%
So we have an
opportunity right now

115
04:18.378 --> 04:21.170 align:middle line:90%
to help protect the switch
against a broadcast storm.

116
04:21.170 --> 04:23.690 align:middle line:90%
Now, storm control isn't
just for broadcasts.

117
04:23.690 --> 04:26.820 align:middle line:90%
It's also used
unicast and multicast.

118
04:26.820 --> 04:28.670 align:middle line:90%
And let me walk you
through setting it up.

119
04:28.670 --> 04:30.378 align:middle line:90%
And I'll talk with
you about some options
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

119
04:28.670 --> 04:30.378 align:middle line:90%
And I'll talk with
you about some options

120
04:30.378 --> 04:33.270 align:middle line:90%
how it's set up and then what
they mean as we implement it.

121
04:33.270 --> 04:35.760 align:middle line:90%
So let's do a show
interface status.

122
04:35.760 --> 04:39.710 align:middle line:90%
So let's do both interfaces
3 and 4 here on switch 1,

123
04:39.710 --> 04:45.440 align:middle line:90%
interface range, Fast
Ethernet 0/3 through four.

124
04:45.440 --> 04:48.770 align:middle line:90%
And the syntax is storm-control,
and it'll do a question mark.

125
04:48.770 --> 04:50.210 align:middle line:90%
And we can specify
that we want it

126
04:50.210 --> 04:54.740 align:middle line:90%
for broadcast traffic or
multicast traffic or unicast

127
04:54.740 --> 04:55.610 align:middle line:84%
traffic.

128
04:55.610 --> 04:58.452 align:middle line:90%
And let's start
off with broadcast.

129
04:58.452 --> 05:00.160 align:middle line:90%
So we specified
broadcast, and then we're
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

129
04:58.452 --> 05:00.160 align:middle line:90%
So we specified
broadcast, and then we're

130
05:00.160 --> 05:01.440 align:middle line:84%
going to specify a level.

131
05:01.440 --> 05:03.720 align:middle line:90%
This is a level
which, if it's hit,

132
05:03.720 --> 05:06.420 align:middle line:90%
this switch will then start
going ahead and dropping

133
05:06.420 --> 05:09.480 align:middle line:90%
or suppressing any
broadcasts above that level.

134
05:09.480 --> 05:11.790 align:middle line:90%
Now, it doesn't actually
stop everything,

135
05:11.790 --> 05:15.810 align:middle line:90%
because if you have CDP messages
and Spanning Tree BPDUs,

136
05:15.810 --> 05:18.450 align:middle line:90%
those are still allowed through,
because that's our control

137
05:18.450 --> 05:19.140 align:middle line:84%
plane.

138
05:19.140 --> 05:21.930 align:middle line:90%
However, the general broadcast
traffic outside of that

139
05:21.930 --> 05:23.160 align:middle line:84%
would be limited.

140
05:23.160 --> 05:25.650 align:middle line:90%
So we use the keyword level
and then a question mark.

141
05:25.650 --> 05:27.400 align:middle line:90%
And here we can
specify the level.

142
05:27.400 --> 05:29.850 align:middle line:90%
So we can specify a
percentage of the bandwidth

143
05:29.850 --> 05:31.620 align:middle line:90%
on that interface,
or we can specify
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

143
05:29.850 --> 05:31.620 align:middle line:90%
on that interface,
or we can specify

144
05:31.620 --> 05:33.540 align:middle line:90%
a threshold based
on bits per second,

145
05:33.540 --> 05:35.610 align:middle line:90%
or a threshold based
on packets per second.

146
05:35.610 --> 05:37.200 align:middle line:84%
The choice is totally yours.

147
05:37.200 --> 05:39.780 align:middle line:90%
So I'm going to go
ahead and say 10%.

148
05:39.780 --> 05:42.750 align:middle line:90%
I don't want anything higher
than 10% regarding broadcast

149
05:42.750 --> 05:44.122 align:middle line:84%
before we start suppressing it.

150
05:44.122 --> 05:46.080 align:middle line:90%
And then if we want to,
to we just press Enter.

151
05:46.080 --> 05:48.440 align:middle line:90%
And then if it goes over
10, it'll start suppressing.

152
05:48.440 --> 05:50.725 align:middle line:90%
And if it goes under 10,
it'll stop suppressing.

153
05:50.725 --> 05:52.620 align:middle line:90%
So if we do a question
mark, we can also

154
05:52.620 --> 05:54.280 align:middle line:84%
specify a falling threshold.

155
05:54.280 --> 05:55.890 align:middle line:84%
So here we could say 5.

156
05:55.890 --> 05:58.650 align:middle line:90%
So what this means if we got to
10% of our available bandwidth

157
05:58.650 --> 06:01.350 align:middle line:90%
on that interface, we could
go ahead and start suppressing
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

157
05:58.650 --> 06:01.350 align:middle line:90%
on that interface, we could
go ahead and start suppressing

158
06:01.350 --> 06:03.570 align:middle line:90%
broadcasts, and we'd
continue to suppress

159
06:03.570 --> 06:06.825 align:middle line:90%
until we dropped down to 5,
at which time it would relax.

160
06:06.825 --> 06:07.950 align:middle line:84%
And then we'll press Enter.

161
06:07.950 --> 06:10.470 align:middle line:90%
And we can do the same thing
for other types of traffic,

162
06:10.470 --> 06:13.740 align:middle line:84%
too, including multicast.

163
06:13.740 --> 06:15.770 align:middle line:84%
Let's say bits per second.

164
06:15.770 --> 06:17.750 align:middle line:84%
And let's say 10K.

165
06:17.750 --> 06:21.883 align:middle line:90%
And then for the following
threshold, let's say 5K.

166
06:21.883 --> 06:23.550 align:middle line:90%
And let's do one more,
except this time,

167
06:23.550 --> 06:24.550 align:middle line:84%
we'll do it for unicast.

168
06:24.550 --> 06:28.390 align:middle line:84%


169
06:28.390 --> 06:31.040 align:middle line:90%
And this time, we want to make
sure our unicast traffic makes
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

169
06:28.390 --> 06:31.040 align:middle line:90%
And this time, we want to make
sure our unicast traffic makes

170
06:31.040 --> 06:31.540 align:middle line:84%
it.

171
06:31.540 --> 06:35.340 align:middle line:90%
So I'm going to
say 85%, and then

172
06:35.340 --> 06:38.430 align:middle line:90%
go ahead and stop suppressing
once it gets down to 80.

173
06:38.430 --> 06:41.440 align:middle line:90%
Then we also have the option
of setting up the violation.

174
06:41.440 --> 06:43.050 align:middle line:90%
Now, by default, the
violation is just

175
06:43.050 --> 06:45.780 align:middle line:90%
to restrict that
additional type of traffic.

176
06:45.780 --> 06:47.612 align:middle line:84%
However, we can specify action.

177
06:47.612 --> 06:48.820 align:middle line:84%
And then we have two options.

178
06:48.820 --> 06:50.760 align:middle line:90%
One is shutdown, which
is an error disable

179
06:50.760 --> 06:52.070 align:middle line:84%
state for that port.

180
06:52.070 --> 06:54.210 align:middle line:90%
And the other option is
sending an SNMP Trap.

181
06:54.210 --> 06:56.543 align:middle line:90%
So I'm going to leave the
default of just suppressing it

182
06:56.543 --> 06:57.900 align:middle line:84%
down to the levels we specified.

183
06:57.900 --> 07:00.150 align:middle line:90%
And then if we do a
show storm control,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

183
06:57.900 --> 07:00.150 align:middle line:90%
And then if we do a
show storm control,

184
07:00.150 --> 07:02.370 align:middle line:90%
press Enter, here, it's
showing that storm control's

185
07:02.370 --> 07:04.320 align:middle line:84%
enabled on both those ports.

186
07:04.320 --> 07:07.080 align:middle line:90%
I have an upper limit of
10, a lower limit of 5.

187
07:07.080 --> 07:08.820 align:middle line:90%
And there's our
current utilization

188
07:08.820 --> 07:10.320 align:middle line:90%
based on that one
ARP request that I

189
07:10.320 --> 07:12.187 align:middle line:90%
sent into the switch
a few minutes ago.

190
07:12.187 --> 07:13.770 align:middle line:90%
Another thing that's
important to know

191
07:13.770 --> 07:15.895 align:middle line:90%
is that if we want to see
the details for each one,

192
07:15.895 --> 07:18.360 align:middle line:90%
we could do a show storm
control for a specific interface

193
07:18.360 --> 07:22.300 align:middle line:90%
or just for broadcasts by
adding the broadcast option.

194
07:22.300 --> 07:23.800 align:middle line:90%
And that's what it
shows by default.

195
07:23.800 --> 07:27.060 align:middle line:90%
But if we got rid of the
broadcast and said, unicast,

196
07:27.060 --> 07:29.410 align:middle line:90%
it would show us
that information.

197
07:29.410 --> 07:33.652 align:middle line:90%
And if we said, multicast, it
would show us that information.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

197
07:29.410 --> 07:33.652 align:middle line:90%
And if we said, multicast, it
would show us that information.

198
07:33.652 --> 07:36.110 align:middle line:90%
So at the moment, not a whole
bunch of unicast or multicast

199
07:36.110 --> 07:38.480 align:middle line:90%
going on, but we do have
quite a bit of broadcast

200
07:38.480 --> 07:39.813 align:middle line:84%
based on the ARP request I sent.

201
07:39.813 --> 07:41.272 align:middle line:90%
So the appropriate
thing to do here

202
07:41.272 --> 07:42.830 align:middle line:90%
to get it back
under control would

203
07:42.830 --> 07:45.090 align:middle line:90%
be to go into
configuration mode and turn

204
07:45.090 --> 07:48.230 align:middle line:90%
on Spanning Tree for VLAN 1,
which would go ahead and stop

205
07:48.230 --> 07:49.100 align:middle line:84%
the madness.

206
07:49.100 --> 07:50.780 align:middle line:90%
Because as Spanning
Tree converges,

207
07:50.780 --> 07:53.070 align:middle line:90%
there will no longer
be a Layer 2 loop.

208
07:53.070 --> 07:56.480 align:middle line:90%
So thanks for joining me in this
video regarding storm control.

209
07:56.480 --> 07:58.880 align:middle line:90%
In the next video, we'll
take a look at root guard

210
07:58.880 --> 08:01.850 align:middle line:90%
to help protect our environment
against unwanted Spanning Tree
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

210
07:58.880 --> 08:01.850 align:middle line:90%
to help protect our environment
against unwanted Spanning Tree

211
08:01.850 --> 08:02.780 align:middle line:84%
topology changes.

212
08:02.780 --> 08:04.860 align:middle line:90%
So I'll see you there
in just a moment.

213
08:04.860 --> 08:07.340 align:middle line:90%
Meanwhile, I hope this has
been informative for you.

214
08:07.340 --> 08:10.690 align:middle line:90%
And I'd like to thank
you for viewing.
