WEBVTT 0:00:02.840000 --> 0:00:07.580000 Hello and welcome to this video titled RSTP timers. 0:00:07.580000 --> 0:00:12.620000 In this video I'm going to talk about what the hello timer is and how 0:00:12.620000 --> 0:00:15.400000 you can modify it if you wish to. 0:00:15.400000 --> 0:00:18.460000 I'm going to define what the forwarding delay timer is and how you could 0:00:18.460000 --> 0:00:20.760000 change that if you need to. 0:00:20.760000 --> 0:00:23.880000 And then we're going to talk about two timers that aren't really used 0:00:23.880000 --> 0:00:28.100000 by rapid spanning tree but you might need to know just what they are or 0:00:28.100000 --> 0:00:31.420000 what they used to be used for which are called the message age and max 0:00:31.420000 --> 0:00:35.420000 age timers and we'll go over those as well. 0:00:35.420000 --> 0:00:40.080000 So let's talk about the hello and forwarding delay timer specifically 0:00:40.080000 --> 0:00:43.320000 with how they relate to rapid spanning tree. 0:00:43.320000 --> 0:00:49.400000 So the hello timer dictates how frequently a BPDU is created and then 0:00:49.400000 --> 0:00:52.520000 transmitted out on a designated port. 0:00:52.520000 --> 0:00:56.640000 Now remember in rapid spanning tree not only does the root bridge have 0:00:56.640000 --> 0:01:03.160000 the job of creating fresh new BPDUs every interface every switch that 0:01:03.160000 --> 0:01:08.220000 has at least one designated port also has to generate BPDUs. 0:01:08.220000 --> 0:01:13.300000 Now if I let's say I'm connected to you and my interface right here connected 0:01:13.300000 --> 0:01:15.280000 to you is a designated port. 0:01:15.280000 --> 0:01:20.860000 Now if I'm not the root bridge yes I still have to create BPDUs every 0:01:20.860000 --> 0:01:25.320000 two seconds that's the default that's a hello interval every two seconds 0:01:25.320000 --> 0:01:29.540000 I have to send them downstream to you that way that you know I'm alive. 0:01:29.540000 --> 0:01:34.480000 Now when I'm creating those BPDUs I'm not going to put my own name in 0:01:34.480000 --> 0:01:37.500000 the root bridge section if I recognize that hey I'm not the root bridge 0:01:37.500000 --> 0:01:44.100000 somebody back there I'll still advertise him to you but I'm going to create 0:01:44.100000 --> 0:01:47.100000 BPDUs whether or not I'm hearing from him. 0:01:47.100000 --> 0:01:50.580000 Now I should be hearing from the root bridge he's also creating BPDUs 0:01:50.580000 --> 0:01:55.120000 every two seconds and if that guy is doing his job I should be getting 0:01:55.120000 --> 0:01:59.020000 those BPDUs on my upstream interface but even if for a second or two or 0:01:59.020000 --> 0:02:05.300000 three his BPDUs stop I still have to send BPDUs to you because my port 0:02:05.300000 --> 0:02:10.260000 connecting to you is a designated port so I still have to generate those 0:02:10.260000 --> 0:02:12.960000 as keep alive so that's every two seconds. 0:02:12.960000 --> 0:02:17.180000 Now you can change that there's not a lot of reason to do that and Cisco 0:02:17.180000 --> 0:02:20.380000 and other vendors will typically say don't mess around with the hello 0:02:20.380000 --> 0:02:23.760000 interval but you can if you want to and you can see right here in Cisco 0:02:23.760000 --> 0:02:27.700000 switches here's the command so notice it's at the global configuration 0:02:27.700000 --> 0:02:33.400000 level and you do it on a per VLAN basis so you can reduce it to as low 0:02:33.400000 --> 0:02:36.700000 as one second or you can raise it up to every ten seconds or anything 0:02:36.700000 --> 0:02:41.020000 in between that so that's how you would change the hello interval and 0:02:41.020000 --> 0:02:46.600000 how you see this how you verify it is if you go on to a switch and just 0:02:46.600000 --> 0:02:51.580000 type show spanning dash tree selective VLAN that you're interested in 0:02:51.580000 --> 0:02:59.200000 like VLAN one and you can see here the hello time. 0:02:59.200000 --> 0:03:07.360000 Now notice that in spanning tree the root bridge is in charge of the timers 0:03:07.360000 --> 0:03:11.660000 he's in charge of the timers so in other words notice that this switch 0:03:11.660000 --> 0:03:15.400000 I'm on he's not the root okay if he was it would actually say this switch 0:03:15.400000 --> 0:03:21.260000 is the root so I can change the timers here spanning dash tree VLAN one 0:03:21.260000 --> 0:03:28.080000 hello interval maybe make it five it takes the command and now if I do 0:03:28.080000 --> 0:03:33.000000 that same show command you can see the root bridge is saying hey everybody 0:03:33.000000 --> 0:03:37.980000 here's the timers here's my switch and I've changed it to five seconds 0:03:37.980000 --> 0:03:47.040000 but notice this right now I would see that on his designated ports like 0:03:47.040000 --> 0:03:52.280000 that one right there Bp'd would still pop out every two seconds because 0:03:52.280000 --> 0:03:56.280000 the root bridge is in charge of the timers the only way this will take 0:03:56.280000 --> 0:04:01.180000 effect is if the root bridge dies and this switch right here switch number 0:04:01.180000 --> 0:04:06.120000 one becomes the root bridge then his timers will affect everybody in that 0:04:06.120000 --> 0:04:11.440000 particular VLAN so that's how you change that now there's another timer 0:04:11.440000 --> 0:04:19.960000 called the forwarding delay timer so in the world of rapid spanning tree 0:04:19.960000 --> 0:04:25.660000 where we're talking about inter switch connections one switch connecting 0:04:25.660000 --> 0:04:32.960000 to another switch 99.99% of the time that connection will be a full duplex 0:04:32.960000 --> 0:04:38.380000 connection very rarely will you come across half duplex anymore in today's 0:04:38.380000 --> 0:04:42.360000 world full duplex and when you've got full duplex between two switches 0:04:42.360000 --> 0:04:47.820000 they can use the proposal and agreement flags to make synchronization 0:04:47.820000 --> 0:04:52.760000 super super fast as a matter of fact when you have full duplex between 0:04:52.760000 --> 0:04:57.740000 switches they won't even use this timer the forwarding delay timer irrelevant 0:04:57.740000 --> 0:05:08.080000 it won't be used for anything so there's only two circumstances when the 0:05:08.080000 --> 0:05:12.060000 first some reason have a half duplex connection between them probably 0:05:12.060000 --> 0:05:17.580000 not gonna see that but if they do the proposal and agreement flags cannot 0:05:17.580000 --> 0:05:22.420000 be used on half duplex connections they can only be used on full duplex 0:05:22.420000 --> 0:05:26.700000 connections so if you got half duplex now the forwarding delay timer is 0:05:26.700000 --> 0:05:31.840000 used also look at that first bullet point there it's used for non-edge 0:05:31.840000 --> 0:05:38.040000 host ports to control transition delays what's that talking about so let's 0:05:38.040000 --> 0:05:46.540000 say we've got our switch right here switch X and we have a port that comes 0:05:46.540000 --> 0:05:51.680000 up so in other words the port just detected it's electrically connected 0:05:51.680000 --> 0:05:56.500000 to something now initially switch X is not going to know what that's connected 0:05:56.500000 --> 0:06:00.260000 to so the first thing switch X is going to have to ask himself is this 0:06:00.260000 --> 0:06:04.580000 port right here let's give him a port number port 0 slash 4 he's going 0:06:04.580000 --> 0:06:13.980000 to ask himself is that port an edge port or is it a non-edge port well 0:06:13.980000 --> 0:06:18.240000 how does he determine that he looks to see if port fast is configured 0:06:18.240000 --> 0:06:28.400000 the port fast feature now if port fast is configured on here if port fast 0:06:28.400000 --> 0:06:31.340000 is enabled then that's defined as an edge port and what does that mean 0:06:31.340000 --> 0:06:35.740000 that means as soon as that port comes up bam it goes into the forwarding 0:06:35.740000 --> 0:06:41.000000 state becomes a designated port so the forwarding delay timer not used 0:06:41.000000 --> 0:06:48.440000 ignored instantly goes forwarding but what if port fast is a feature is 0:06:48.440000 --> 0:06:53.260000 not configured on that interface well then that case that will be considered 0:06:53.260000 --> 0:06:59.400000 a non-edge port that'll be concerning not so let's just put a line through 0:06:59.400000 --> 0:07:06.180000 here so port fast is not there they'll be non-edge which means now he's 0:07:06.180000 --> 0:07:12.360000 going to look at the duplex if it's full duplex which it most likely will 0:07:12.360000 --> 0:07:20.060000 be then what's he going to do well if it's full duplex there is some of 0:07:20.060000 --> 0:07:30.360000 this here then that means he's going to start sending out BP to use he's 0:07:30.360000 --> 0:07:36.240000 going to have the proposal bit set and he's going to say I'm the root 0:07:36.240000 --> 0:07:44.380000 now we're assuming that he's all here by himself now if he's connected 0:07:44.380000 --> 0:07:48.120000 to another switch already and he knows the other switch is the root bridge 0:07:48.120000 --> 0:07:51.140000 then he's not gonna say I'm the root he's gonna say that guy's the root 0:07:51.140000 --> 0:07:54.740000 but either way he's gonna start sending out BP to use with the proposal 0:07:54.740000 --> 0:08:00.140000 bit set proposing what the topology should look like now we have to ask 0:08:00.140000 --> 0:08:05.560000 ourselves okay how long is it gonna take for zero slash four to be whatever 0:08:05.560000 --> 0:08:09.940000 it's going to be either a designated port a root port or a blocking port 0:08:09.940000 --> 0:08:21.360000 that all depends on what well then he's not going to get any BP to use 0:08:21.360000 --> 0:08:26.320000 back because BPCs and laptops don't do spanning tree so here's where the 0:08:26.320000 --> 0:08:32.160000 folding delay so this is a non-edge host port right we forgot to configure 0:08:32.160000 --> 0:08:37.040000 port fast it's going to a host but we forgot to configure port fast so 0:08:37.040000 --> 0:08:42.560000 it is a non-edge host port so that means he's going to start up the folding 0:08:42.560000 --> 0:08:57.360000 delay timer which by default is 15 seconds and he's going to go into the 0:08:57.360000 --> 0:09:04.080000 listening state he's listening you see if any BP's are going to come in 0:09:04.080000 --> 0:09:07.960000 no BP's are going to come in he's connected to a host now if he was connected 0:09:07.960000 --> 0:09:12.120000 to another switch within one or two seconds he would have gotten a BP 0:09:12.120000 --> 0:09:17.020000 to you back also with a proposal or maybe the agreement bit set and we'd 0:09:17.020000 --> 0:09:21.100000 be done so if the downstream device on port zero slash four with another 0:09:21.100000 --> 0:09:26.100000 switch running rapid spanning tree that link would transition to whatever 0:09:26.100000 --> 0:09:29.640000 it was going to be either a designated port a root port or a blocking 0:09:29.640000 --> 0:09:33.740000 port within about one or two seconds because we'd have an exchange of 0:09:33.740000 --> 0:09:39.680000 BP to use with a proposal and agreement bits set but if that's not a switch 0:09:39.680000 --> 0:09:44.580000 if it's a router or a laptop or a server or something like that we're 0:09:44.580000 --> 0:09:49.680000 not going to get a BP to you back so he's going to spend 15 seconds in 0:09:49.680000 --> 0:09:53.640000 the listening state and then the folding delay timer is going to start 0:09:53.640000 --> 0:09:57.620000 itself all over again and he's going to transition to the learning state 0:09:57.620000 --> 0:10:05.540000 and he's going to spend another 15 seconds so 15 seconds here 15 seconds 0:10:05.540000 --> 0:10:13.260000 here and then finally so after 30 seconds have expired now he can transition 0:10:13.260000 --> 0:10:18.400000 into a designated port he can say okay well whatever i'm connected to 0:10:18.400000 --> 0:10:22.420000 is clearly not doing spanning tree because i gave him plenty of opportunity 0:10:22.420000 --> 0:10:28.720000 to send me a BP to you he never did so i must be connected to a host if 0:10:28.720000 --> 0:10:31.860000 that was another switch i would have gotten a BP to you so i can become 0:10:31.860000 --> 0:10:36.900000 a designated port so you can see the folding delay timer in this situation 0:10:36.900000 --> 0:10:42.700000 dictated how long he had to move through these transitionary states of 0:10:42.700000 --> 0:10:46.300000 listening and learning before he could finally move into a designated 0:10:46.300000 --> 0:11:02.560000 port so that is what the folding delay timer is used for and it too can 0:11:02.560000 --> 0:11:06.960000 be configured with the spanning tree vlan forward dash time and then you 0:11:06.960000 --> 0:11:16.200000 can pick a number between four and 30 seconds to configure that okay let's 0:11:16.200000 --> 0:11:21.320000 talk about two timers that you will see inside of a BPD if you ever do 0:11:21.320000 --> 0:11:25.680000 a capture of a BPD but for rapid spanning tree aren't really used for 0:11:25.680000 --> 0:11:38.160000 a whole lot let's start with the max age 21 years ago 1998 when spanning 0:11:38.160000 --> 0:11:45.080000 tree first came out as an IEEE specification back then they said only 0:11:45.080000 --> 0:11:50.980000 the root bridge should create BP to use he should be doing it every hello 0:11:50.980000 --> 0:11:55.800000 interval every two seconds once the root bridge creates a BPD and lets 0:11:55.800000 --> 0:12:01.020000 it go the next switch will process it and forward it the switch after 0:12:01.020000 --> 0:12:05.940000 that will process it and forward it so in the original way the only switch 0:12:05.940000 --> 0:12:09.680000 that created a BPD was the root bridge everybody else just kept it going 0:12:09.680000 --> 0:12:15.100000 downstream and the original spain tree they said hey if something happens 0:12:15.100000 --> 0:12:20.760000 and you suddenly stop getting BPD use from the root bridge how long should 0:12:20.760000 --> 0:12:24.820000 you wait before you say you know what i've waited long enough the root 0:12:24.820000 --> 0:12:30.240000 bridge must be gone the max age timer dictated that so in the original 0:12:30.240000 --> 0:12:35.580000 version of spanning tree and also on a Cisco switch if you're not doing 0:12:35.580000 --> 0:12:46.040000 rapid spanning tree if you're just doing regular pbst mode so if you look 0:12:46.040000 --> 0:12:53.960000 at your spanning tree output and it just says IEEE or show spanning-tree 0:12:53.960000 --> 0:13:01.300000 summary if it says pbst either way you're doing the old way of doing spanning 0:13:01.300000 --> 0:13:06.140000 tree which means that you're using the max age timer so what is the max 0:13:06.140000 --> 0:13:09.440000 age timer that says look every time i get a BPD from the root bridge out 0:13:09.440000 --> 0:13:15.520000 there i start the max age timer which defaults to 20 seconds 20 seconds 0:13:15.520000 --> 0:13:19.340000 so i'll be very conservative here i'm expecting to get BPD use from the 0:13:19.340000 --> 0:13:23.540000 root bridge who's out there somewhere every two seconds but if i miss 0:13:23.540000 --> 0:13:31.120000 one or two or three or four that's okay up to 20 seconds if 20 seconds 0:13:31.120000 --> 0:13:36.340000 expires and i still haven't gotten a BPDU then it's time for me to take 0:13:36.340000 --> 0:13:40.140000 some action maybe i need to start advertising myself as the root bridge 0:13:40.140000 --> 0:13:43.900000 because it looks like the root bridge has died that was the old way of 0:13:43.900000 --> 0:13:48.680000 doing spanning tree when rapid spanning tree came along i said nope we're 0:13:48.680000 --> 0:13:51.980000 not going to do that yes the root bridge is still responsible for creating 0:13:51.980000 --> 0:13:56.280000 BPD use and advertising his presence he needs to do that but in addition 0:13:56.280000 --> 0:14:01.700000 to that any switch that has a designated port is also responsible for 0:14:01.700000 --> 0:14:06.680000 creating BPD use himself advertising the root bridge but he has he's not 0:14:06.680000 --> 0:14:09.980000 dependent upon the root bridge whether or not he gets the BPD from the 0:14:09.980000 --> 0:14:13.660000 root bridge is irrelevant any switch that has a designated port still 0:14:13.660000 --> 0:14:21.420000 has to create BPD use every two seconds furthermore if i'm a switch and 0:14:21.420000 --> 0:14:26.000000 there's a designated switch on top of me if i stop getting BPD use i'm 0:14:26.000000 --> 0:14:31.240000 not going to wait 20 seconds i'm going to wait six seconds if i lose three 0:14:31.240000 --> 0:14:35.400000 BPD use if the guy on top of me who's designated if i say okay two seconds 0:14:35.400000 --> 0:14:40.840000 hmm didn't get a BPDU four seconds okay i still didn't get a BPDU six 0:14:40.840000 --> 0:14:45.500000 seconds now game over that guy who's designated who supposedly was closer 0:14:45.500000 --> 0:14:50.180000 to the root bridge than me he should have been sending me BPDUs i've lost 0:14:50.180000 --> 0:14:56.220000 three of them he's out time for me to do something about that so in rapid 0:14:56.220000 --> 0:15:01.920000 spanning tree the max age timer not really used because now BPDUs are 0:15:01.920000 --> 0:15:06.200000 used as keep alive timers themselves so this is a carryover from the original 0:15:06.200000 --> 0:15:11.540000 802.1d like i said 20 seconds by default you can change it there's the 0:15:11.540000 --> 0:15:15.460000 timer there's the command right there now you might be wondering why would 0:15:15.460000 --> 0:15:18.760000 i ever need to change it well in rapid spanning tree you don't really 0:15:18.760000 --> 0:15:22.480000 need to stay away from it don't touch it you know memorize this for an 0:15:22.480000 --> 0:15:26.480000 exam or something like that but there's really no legitimate reason to 0:15:26.480000 --> 0:15:32.620000 touch the max age timer if you're running rapid spanning tree now this 0:15:32.620000 --> 0:15:38.680000 however is used with another field kind of a timer called the message 0:15:38.680000 --> 0:15:45.160000 age timer and this is used as a hop count for rapid spanning tree so how 0:15:45.160000 --> 0:15:52.240000 does this work well when the root bridge creates a fresh new BPDU inside 0:15:52.240000 --> 0:15:57.040000 that BPDU there's a message age field and he'll set that field to zero 0:15:57.040000 --> 0:16:04.340000 message age at layer two for for spanning tree BPDUs is kind of similar 0:16:04.340000 --> 0:16:10.080000 to TTL at layer three for the IP protocol but in reverse right if you 0:16:10.080000 --> 0:16:15.780000 think about TTL when a laptop creates a packet he sets the TTL to some 0:16:15.780000 --> 0:16:20.460000 large value like 255 and then what happens every time that packet goes 0:16:20.460000 --> 0:16:26.680000 through a router the router decrements the TTL he shaves it off by one 0:16:26.680000 --> 0:16:31.540000 well message age is like the inverse of that the root bridge starts the 0:16:31.540000 --> 0:16:35.900000 message age at zero because this is a fresh message it hasn't aged yet 0:16:35.900000 --> 0:16:40.480000 and as that BPDU goes from one switch to another switch to another switch 0:16:40.480000 --> 0:16:46.840000 each switch increments the message age by one so if we think about it 0:16:46.840000 --> 0:16:59.300000 here if this is the root and it's going through these switches here so 0:16:59.300000 --> 0:17:05.560000 what will the message age be by the time he gets to switch x well from 0:17:05.560000 --> 0:17:22.240000 here to here the message it'll have a message age of four in it was i 0:17:22.240000 --> 0:17:24.960000 have to do with the max age timer you said Keith the two are related in 0:17:24.960000 --> 0:17:31.860000 some way well here's the thing rapid spanning tree says if i ever receive 0:17:31.860000 --> 0:17:38.020000 a BPDU and remember the max age is also a field inside the BPDU just like 0:17:38.020000 --> 0:17:50.140000 the message age is sort of like it says if a BPDU is ever received where 0:17:50.140000 --> 0:17:56.180000 these two values are equal where message age is the same as max age that 0:17:56.180000 --> 0:18:00.880000 means that BPDU can go no further it cannot be propagated beyond that 0:18:00.880000 --> 0:18:08.880000 point it should be discarded so chances are you'll you'll never see that 0:18:08.880000 --> 0:18:15.760000 but where that could be an issue isn't a really large switch topology 0:18:15.760000 --> 0:18:24.880000 for example let's say the root bridge is out here okay so we know then 0:18:24.880000 --> 0:18:31.960000 when it leaves switch number one the message age will be equal to one 0:18:31.960000 --> 0:18:43.280000 and we know that by default the max age is equal to 20 so what that means 0:18:43.280000 --> 0:18:50.600000 is if i have tons of switches let's say we get down here to switch number 0:18:50.600000 --> 0:18:59.200000 20 and he's folding that BPDU to switch number 21 well now we're going 0:18:59.200000 --> 0:19:07.420000 to have a problem because when switch 20 received it max age was set to 0:19:07.420000 --> 0:19:13.820000 20 when he received it the message age was 19 because as it leaves him 0:19:13.820000 --> 0:19:19.640000 max age is still going to be set to 20 but now he's going to set the message 0:19:19.640000 --> 0:19:26.460000 age also to 20 so what are you going to see happen here well switch 21 0:19:26.460000 --> 0:19:31.840000 will get that and he'll say ah I can't really accept that BPDU so he'll 0:19:31.840000 --> 0:19:40.080000 actually send his own BPDU back with a proposal bit saying okay I think 0:19:40.080000 --> 0:19:45.560000 the topology basically stops right here switch 21 or switch 20 you and 0:19:45.560000 --> 0:19:49.420000 I need to form a new topology so everything to the left of this circle 0:19:49.420000 --> 0:19:54.380000 this needs to be a whole new tree because I can't switch 21 says I can't 0:19:54.380000 --> 0:19:59.300000 take the tree to the left of me and join it to the tree to the right of 0:19:59.300000 --> 0:20:03.080000 me it's too big and so now you're actually going to see a problem because 0:20:03.080000 --> 0:20:07.100000 if you debug that link you'll see proposals going back and forth back 0:20:07.100000 --> 0:20:13.060000 and forth back and forth forever so in this particular situation how would 0:20:13.060000 --> 0:20:17.660000 you fix that well there's one thing you could do is you could go to the 0:20:17.660000 --> 0:20:23.040000 root bridge and increase his max age okay if you know that the farthest 0:20:23.040000 --> 0:20:27.140000 switch out is going to be like switch number 25 or something then you 0:20:27.140000 --> 0:20:32.280000 could set the max age to 25 or 26 that would solve the problem or you 0:20:32.280000 --> 0:20:34.860000 could say you know what I'm just going to make this link right here a 0:20:34.860000 --> 0:20:38.500000 routed link so that's where my subnet is going to end and I'll have a 0:20:38.500000 --> 0:20:44.140000 whole new tree to the left here that gets a little bit complicated but 0:20:44.140000 --> 0:20:51.540000 the moral of this story is that I just want you to know that if a BPU 0:20:51.540000 --> 0:20:56.320000 is received where the max age and the message age are the same that's 0:20:56.320000 --> 0:20:59.820000 going to cause problems and that BPU is going to be discarded but in most 0:20:59.820000 --> 0:21:02.700000 spanning tree topologies you probably won't see that because it won't 0:21:02.700000 --> 0:21:09.980000 be nearly that large from end to end so that concludes this video on rapid