WEBVTT

1
00:00.000 --> 00:04.600
Next up, we need to learn about the port states. The port roles tell us a lot

2
00:04.600 --> 00:04.800
about

3
00:04.800 --> 00:09.860
where in the network a port is. Is it the best path to the route, for example?

4
00:09.860 --> 00:10.600
Is it

5
00:10.600 --> 00:14.440
not the best path? Is it a downstream port? But the port state is actually

6
00:14.440 --> 00:14.800
going to

7
00:14.800 --> 00:19.200
determine whether it's blocking or forwarding as well as a couple of other

8
00:19.200 --> 00:23.040
behaviors. And so there's five different states that we need to worry

9
00:23.040 --> 00:31.680
about. First of all, is listening abbreviated as LIS. We also have learning
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

9
00:23.040 --> 00:31.680
about. First of all, is listening abbreviated as LIS. We also have learning

10
00:31.680 --> 00:38.680
abbreviated as LRN. And this is something that we see by the way at Cisco CLI.

11
00:38.680 --> 00:38.800
So

12
00:38.800 --> 00:45.120
for an iOS XE, we're going to see these usually abbreviated. So then we've got

13
00:45.120 --> 00:52.600
forwarding like forwarding ports, FWD. We also have blocking. We've already

14
00:52.600 --> 00:52.880
used

15
00:52.880 --> 01:01.440
this shortcut BLK for blocking. And then lastly, we have disabled, which can be
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

15
00:52.880 --> 01:01.440
this shortcut BLK for blocking. And then lastly, we have disabled, which can be

16
01:01.440 --> 01:06.800
abbreviated as DIS. Now, just to get a couple of these out of the way, as we

17
01:06.800 --> 01:11.680
can imagine, blocking means that we have no traffic forwarding. This is going

18
01:11.680 --> 01:11.880
to be

19
01:11.880 --> 01:17.080
our loop prevention mechanism. The port in our topology that we had on the

20
01:17.080 --> 01:23.540
previous video, when we were blocking here, this was in a blocking state.

21
01:23.540 --> 01:23.800
Remember,

22
01:23.800 --> 01:32.160
that's the state. But the role was a non designated port or a blocking port. So
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

22
01:23.800 --> 01:32.160
that's the state. But the role was a non designated port or a blocking port. So

23
01:32.160 --> 01:35.520
we do need to make sure we understand the distinction between the role and the

24
01:35.520 --> 01:40.280
state. The other one to knock out here is disabled. Disabled means that it's

25
01:40.280 --> 01:45.640
administratively shut down. So if I've got a port on this switch and I log into

26
01:45.640 --> 01:49.560
it and I disable it, well, at that point, from a spanning tree perspective, it

27
01:49.560 --> 01:49.640
's

28
01:49.640 --> 01:54.480
considered to be disabled and not part of the spanning tree topology. So the

29
01:54.480 --> 01:54.920
more

30
01:54.920 --> 02:00.040
interesting states are these three up here, because what we'll find is that
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

30
01:54.920 --> 02:00.040
interesting states are these three up here, because what we'll find is that

31
02:00.040 --> 02:00.560
both

32
02:00.560 --> 02:06.320
designated ports and root ports are going to go through a process that starts

33
02:06.320 --> 02:06.520
with

34
02:06.520 --> 02:12.320
listening, goes to learning, and then goes to forwarding. In fact, we might

35
02:12.320 --> 02:17.840
actually find that a non designated port can do the same thing. It can start at

36
02:17.840 --> 02:24.080
listening, go to learning, and then go down to blocking. So let's zoom in here

37
02:24.080 --> 02:28.640
and take a look. Let's say that we just brought a connection online. And let's

38
02:28.640 --> 02:33.320
specifically look at this port right here. Now, when spanning tree is looking
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

38
02:28.640 --> 02:33.320
specifically look at this port right here. Now, when spanning tree is looking

39
02:33.320 --> 02:33.520
at a

40
02:33.520 --> 02:38.320
brand new port, it's going to want to know, hey, is there a loop here? Because

41
02:38.320 --> 02:42.460
maybe we already have a connection to the switch, or maybe we don't. Either way

42
02:42.460 --> 02:42.720
,

43
02:42.720 --> 02:48.160
our primary concern is loop prevention. We care greatly about loop prevention,

44
02:48.160 --> 02:54.120
speed, at least with the original spanning tree, not really a priority. We'd

45
02:54.120 --> 02:58.520
really rather take our time and make sure that there's not a loop before we

46
02:58.520 --> 03:02.560
turn this port into a forwarding port. And so what we're going to do is we're
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

46
02:58.520 --> 03:02.560
turn this port into a forwarding port. And so what we're going to do is we're

47
03:02.560 --> 03:06.760
going to start in the listening state. The listening state means that we're

48
03:06.760 --> 03:13.840
effectively blocking. But we're also doing absolutely no MAC address learning.

49
03:13.840 --> 03:18.520
So basically, we're doing nothing other than receiving traffic and potentially

50
03:18.520 --> 03:23.520
allowing the upstream device to recognize that this port is online. It's

51
03:23.520 --> 03:28.800
more or less a massive buffer. The learning state changes this. It is still

52
03:28.800 --> 03:33.240
blocking effectively, but we are going to start to learn. What do we mean by
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

52
03:28.800 --> 03:33.240
blocking effectively, but we are going to start to learn. What do we mean by

53
03:33.240 --> 03:37.920
learning? Well, that means that we're going to insert entries into our cam

54
03:37.920 --> 03:43.280
tables. What kind of traffic might I be getting on a port that hasn't sent any

55
03:43.280 --> 03:46.920
traffic? Well, maybe we're going to get broadcast traffic, or maybe we're going

56
03:46.920 --> 03:52.400
to get flooded traffic. But either way, if we do get traffic, then we can add

57
03:52.400 --> 03:56.560
MAC addresses into the cam table so that that will reduce flooding once we

58
03:56.560 --> 04:00.720
finally come online because we'll have more entries and fewer situations where
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

58
03:56.560 --> 04:00.720
finally come online because we'll have more entries and fewer situations where

59
04:00.720 --> 04:05.920
we need to flood. Now, if this process goes well, and I'm sending a superior

60
04:05.920 --> 04:11.400
BPDU out this port, that means that this is a downstream port and it must be

61
04:11.400 --> 04:17.360
designated. This means that I'm going to transition from learning to

62
04:17.360 --> 04:21.880
forwarding. If indeed, I'm in a designated port role, which is determined by

63
04:21.880 --> 04:21.960
the

64
04:21.960 --> 04:26.760
BPDU flow, we are determining the role somewhere in here. Usually during the

65
04:26.760 --> 04:32.800
listening state, we're already determining our role. But what happens if we
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

65
04:26.760 --> 04:32.800
listening state, we're already determining our role. But what happens if we

66
04:32.800 --> 04:38.600
determine that the situation is reversed? What if we're sending superior BPDU's

67
04:38.600 --> 04:43.000
this way, and I can't send those? Well, at that point, I still progress through

68
04:43.000 --> 04:47.680
listening and learning. And as I indicated up here, at that point, we're

69
04:47.680 --> 04:52.600
going to decide, hey, since I am a non designated port, then I'm going to move

70
04:52.600 --> 04:57.640
into the blocking state. So again, we determine the role pretty early as fast

71
04:57.640 --> 05:03.360
as we can. And once we have our role, then eventually we can transition over to
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

71
04:57.640 --> 05:03.360
as we can. And once we have our role, then eventually we can transition over to

72
05:03.360 --> 05:09.040
our particular state. Now, we're going to learn about timers, but our listening

73
05:09.040 --> 05:17.040
and our learning, by default, each take 15 seconds. Because they each take 15

74
05:17.040 --> 05:22.160
seconds, we have to do both of these, that means that it actually takes a total

75
05:22.480 --> 05:30.640
of 30 seconds to bring a port online. And yes, this, this actually applies even
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

75
05:22.480 --> 05:30.640
of 30 seconds to bring a port online. And yes, this, this actually applies even

76
05:30.640 --> 05:34.560
to somebody with a laptop. If I'm a college student, and I come home from a

77
05:34.560 --> 05:40.680
class, and I hard wire my laptop in to a switch, if we don't have anything else

78
05:40.680 --> 05:45.880
configured other than standard spanning tree operation, it will take 30 seconds

79
05:45.880 --> 05:50.720
for spanning tree to trust that this is a designated port. And yes, it is a

80
05:50.720 --> 05:54.960
designated port. It's going away from the route. It's going towards a device

81
05:54.960 --> 05:58.880
that's not even sending me BP to use. So it will decide to become a designated

82
05:58.880 --> 06:03.720
port, but it will still take 15 seconds for it to move to the forwarding state.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

82
05:58.880 --> 06:03.720
port, but it will still take 15 seconds for it to move to the forwarding state.

83
06:03.720 --> 06:09.120
So back to our topology up here, we know that this was in a non designated or

84
06:09.120 --> 06:14.760
blocking port role. And we already said it's in the blocking state. Everything

85
06:14.760 --> 06:19.280
else is going to be in the forwarding state when we're in steady state

86
06:19.280 --> 06:23.350
operation, meaning that we've already gone through, or we've already been

87
06:23.350 --> 06:23.840
online

88
06:23.840 --> 06:27.720
for a while. Therefore, we're all going to be, oops, I missed one, there we go.

89
06:27.720 --> 06:31.640
We're all going to be forwarding other than this port right here. However,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

89
06:27.720 --> 06:31.640
We're all going to be forwarding other than this port right here. However,

90
06:31.640 --> 06:35.120
if I do connect a new switch, well, at this point, that's a really weird

91
06:35.120 --> 06:38.040
connection. There we go. At this point, we're going to transition from

92
06:38.040 --> 06:38.720
listening

93
06:38.720 --> 06:43.040
to learning before we get to forwarding. And that's going to apply to both this

94
06:43.040 --> 06:46.880
port here and this port on the other side. It doesn't matter, even if this is

95
06:46.880 --> 06:46.960
the

96
06:46.960 --> 06:50.770
route bridge, we still have to go through this process. And so it is going to

97
06:50.770 --> 06:50.920
come

98
06:50.920 --> 06:55.040
back to taking 30 seconds for us to bring ports online using traditional

99
06:55.040 --> 06:56.320
spanning tree mechanisms.
