1 00:00:00,000 --> 00:00:03,928 [AUDIO LOGO] 2 00:00:03,928 --> 00:00:07,860 3 00:00:07,860 --> 00:00:10,920 Our next choice for automatically discovering 4 00:00:10,920 --> 00:00:15,540 the RP address is the industry standard BSR, 5 00:00:15,540 --> 00:00:17,830 or Bootstrap Router. 6 00:00:17,830 --> 00:00:22,710 Now, this functions in a lot of ways similar to AutoRP. 7 00:00:22,710 --> 00:00:26,880 But it has its fundamental differences as well. 8 00:00:26,880 --> 00:00:31,980 Like AutoRP, this has two primary components. 9 00:00:31,980 --> 00:00:35,940 We have the routers that are the RP candidates that 10 00:00:35,940 --> 00:00:39,930 are willing to be RPs for either all of the groups 11 00:00:39,930 --> 00:00:42,840 or maybe just a subset of the groups. 12 00:00:42,840 --> 00:00:46,920 Then those announce their willingness to the-- 13 00:00:46,920 --> 00:00:51,210 well, the bootstrap router, not the mapping agent like we 14 00:00:51,210 --> 00:00:52,860 had in AutoRP. 15 00:00:52,860 --> 00:00:55,620 But, here, we call it the BSR. 16 00:00:55,620 --> 00:00:58,290 So the protocol itself is actually 17 00:00:58,290 --> 00:01:01,360 named after that particular router. 18 00:01:01,360 --> 00:01:04,290 Now, it has a very similar job. 19 00:01:04,290 --> 00:01:08,890 It collects all the information about the candidate RPs. 20 00:01:08,890 --> 00:01:11,260 But here's a fundamental difference 21 00:01:11,260 --> 00:01:17,110 where AutoRP chose one RP chosen by the mapping agent 22 00:01:17,110 --> 00:01:19,750 and announced to the rest of the network. 23 00:01:19,750 --> 00:01:24,640 In BSR, the entire list of candidate RPs 24 00:01:24,640 --> 00:01:27,250 is collected on the BSR. 25 00:01:27,250 --> 00:01:32,620 And then the whole list is sent out to all the other routers. 26 00:01:32,620 --> 00:01:37,960 And then each of those choose the RP off that list. 27 00:01:37,960 --> 00:01:40,940 Now, they're all going to choose in the same way. 28 00:01:40,940 --> 00:01:42,490 So, ultimately, we're still going 29 00:01:42,490 --> 00:01:46,420 to end up with everybody choosing the same RP. 30 00:01:46,420 --> 00:01:48,910 It's just done a little bit differently. 31 00:01:48,910 --> 00:01:51,940 As we go through, we'll see why. 32 00:01:51,940 --> 00:01:57,040 This is to allow a form of load sharing that we can do in BSR. 33 00:01:57,040 --> 00:01:59,980 Now, of course, another fundamental difference here 34 00:01:59,980 --> 00:02:03,460 is this is actually built into PIM itself. 35 00:02:03,460 --> 00:02:08,630 It actually uses PIM's multicast group for its communication. 36 00:02:08,630 --> 00:02:10,750 We don't have these additional groups, 37 00:02:10,750 --> 00:02:13,240 like we did with AutoRP, that have 38 00:02:13,240 --> 00:02:15,020 to be sent through the network. 39 00:02:15,020 --> 00:02:17,180 So that's a big advantage. 40 00:02:17,180 --> 00:02:22,000 But it also means it's only supported in PIM version 2. 41 00:02:22,000 --> 00:02:26,110 So, again, it has a lot of similarities, but also 42 00:02:26,110 --> 00:02:27,680 quite a few differences. 43 00:02:27,680 --> 00:02:29,740 So let's go ahead and jump in and talk 44 00:02:29,740 --> 00:02:32,270 about those differences and similarities. 45 00:02:32,270 --> 00:02:34,390 And then we'll jump into the command line 46 00:02:34,390 --> 00:02:39,560 and take a look at BSR in action. 47 00:02:39,560 --> 00:02:45,220 So as we mentioned, BSR is the industry standard version 48 00:02:45,220 --> 00:02:47,020 of AutoRP. 49 00:02:47,020 --> 00:02:51,610 This is defined in RFC 5059 if you 50 00:02:51,610 --> 00:02:54,620 want to look at this in a little bit more detail. 51 00:02:54,620 --> 00:02:59,590 We also mentioned that this is part of PIM version 2. 52 00:02:59,590 --> 00:03:02,050 This is not available in PIM version 53 00:03:02,050 --> 00:03:07,990 1, because PIM had to be updated in order to support BSR. 54 00:03:07,990 --> 00:03:12,770 Now, this actually uses the PIM group itself. 55 00:03:12,770 --> 00:03:18,340 So this is traveling right inside of 224.0.0.13. 56 00:03:18,340 --> 00:03:20,600 The big advantage to this, of course, 57 00:03:20,600 --> 00:03:25,330 is this is a link-local multicast 58 00:03:25,330 --> 00:03:29,900 group, which means it doesn't have to be routed itself. 59 00:03:29,900 --> 00:03:34,360 So this does not have that same problem that AutoRP did. 60 00:03:34,360 --> 00:03:38,120 This travels right inside the PIM protocol itself. 61 00:03:38,120 --> 00:03:41,090 So we don't have to have any additional multicast 62 00:03:41,090 --> 00:03:44,220 groups that are being flooded through the network. 63 00:03:44,220 --> 00:03:47,000 So, again, from an operational perspective, 64 00:03:47,000 --> 00:03:50,870 the BSR actually collects the information 65 00:03:50,870 --> 00:03:53,570 about those candidate RPs. 66 00:03:53,570 --> 00:03:55,910 Now, of course, the candidate RPs 67 00:03:55,910 --> 00:03:57,830 still have to announce their willingness 68 00:03:57,830 --> 00:04:00,710 to be an RP to the BSR. 69 00:04:00,710 --> 00:04:04,760 But you can see here how the BSR is essentially 70 00:04:04,760 --> 00:04:09,680 acting the same as the mapping agent did in AutoRP. 71 00:04:09,680 --> 00:04:12,200 Where it gets to be a little bit different 72 00:04:12,200 --> 00:04:18,649 is the BSR then disseminates all of the candidate RP information 73 00:04:18,649 --> 00:04:20,510 to the other routers. 74 00:04:20,510 --> 00:04:23,330 It doesn't just choose one winner. 75 00:04:23,330 --> 00:04:26,900 The BSR's job is not to select the RP. 76 00:04:26,900 --> 00:04:29,330 It simply collects the information 77 00:04:29,330 --> 00:04:32,930 and then sends it out to all of the other routers. 78 00:04:32,930 --> 00:04:36,080 Each of those other routers then makes 79 00:04:36,080 --> 00:04:38,870 its own independent decision. 80 00:04:38,870 --> 00:04:42,350 But it is based on the same rules. 81 00:04:42,350 --> 00:04:44,810 Since it's based on the same rules, 82 00:04:44,810 --> 00:04:50,300 they will all make the same although independent decision. 83 00:04:50,300 --> 00:04:52,190 This is important because we have 84 00:04:52,190 --> 00:04:54,410 to understand that we're still going to learn 85 00:04:54,410 --> 00:04:58,200 the same RP on each device. 86 00:04:58,200 --> 00:05:04,520 Now, these rules can be modified by the BSR itself. 87 00:05:04,520 --> 00:05:08,330 We'll see how to do that when we get into configuration. 88 00:05:08,330 --> 00:05:12,120 This uses something called a hash mask. 89 00:05:12,120 --> 00:05:18,420 And we can use this to implement some load sharing in BSR. 90 00:05:18,420 --> 00:05:20,820 Now, just so we're clear, we're not 91 00:05:20,820 --> 00:05:24,240 going to get very deep into that load sharing here 92 00:05:24,240 --> 00:05:25,630 in this skill. 93 00:05:25,630 --> 00:05:28,140 However, when we get to our skill 94 00:05:28,140 --> 00:05:30,750 on actually implementing multicast 95 00:05:30,750 --> 00:05:34,380 and we have a larger environment that we're working with, 96 00:05:34,380 --> 00:05:36,420 we'll take a look at this and see 97 00:05:36,420 --> 00:05:41,070 how BSR can choose different RPs for different groups 98 00:05:41,070 --> 00:05:43,750 based on this hash mask. 99 00:05:43,750 --> 00:05:46,080 So because of the way all of this works, 100 00:05:46,080 --> 00:05:50,010 this does give us a way to provide redundancy 101 00:05:50,010 --> 00:05:55,080 because, again, the BSR will announce multiple candidates, 102 00:05:55,080 --> 00:05:57,990 mobility because, again, any of those addresses 103 00:05:57,990 --> 00:05:59,970 can move or be added to the group 104 00:05:59,970 --> 00:06:01,560 or removed from the group. 105 00:06:01,560 --> 00:06:05,850 And it allows us to do that group-based load sharing we 106 00:06:05,850 --> 00:06:10,350 were just talking about based on the hash mask that's 107 00:06:10,350 --> 00:06:13,230 announced by the BSR. 108 00:06:13,230 --> 00:06:14,970 So now that we have some of these details 109 00:06:14,970 --> 00:06:17,520 down, let's jump into the command line 110 00:06:17,520 --> 00:06:20,170 and take a look how to actually configure 111 00:06:20,170 --> 00:06:27,720 BSR to be a candidate RP as well as configuring the BSR itself. 112 00:06:27,720 --> 00:06:31,160 So let's begin with a show ip pim rp map. 113 00:06:31,160 --> 00:06:35,750 We currently have no groups mapped to any RPs. 114 00:06:35,750 --> 00:06:38,540 However, if we do a show ip mroute, 115 00:06:38,540 --> 00:06:40,790 we will see that we, of course, are still 116 00:06:40,790 --> 00:06:43,190 listening to the AutoRP group. 117 00:06:43,190 --> 00:06:44,660 But the main thing we want to see 118 00:06:44,660 --> 00:06:46,160 is that we're not going to be adding 119 00:06:46,160 --> 00:06:49,430 to this when we start up BSR. 120 00:06:49,430 --> 00:06:54,750 Also, if we did a show ip igmp groups, we'll see once again, 121 00:06:54,750 --> 00:06:57,950 we're joined to that AutoRP Group 122 00:06:57,950 --> 00:07:00,090 on our loopback interface. 123 00:07:00,090 --> 00:07:02,720 However, we're not going to be adding 124 00:07:02,720 --> 00:07:05,510 to this as we start up BSR. 125 00:07:05,510 --> 00:07:07,160 That's the main thing we want to see 126 00:07:07,160 --> 00:07:10,730 is that this traffic is just going to be inside of PIM 127 00:07:10,730 --> 00:07:11,850 itself. 128 00:07:11,850 --> 00:07:14,400 So let's go into configuration mode. 129 00:07:14,400 --> 00:07:16,550 First thing we'll do is configure ourselves 130 00:07:16,550 --> 00:07:18,470 to be the RP candidate. 131 00:07:18,470 --> 00:07:20,820 The command for this is a little bit different. 132 00:07:20,820 --> 00:07:22,100 It's ip pim. 133 00:07:22,100 --> 00:07:25,190 And this time it's just rp-candidate. 134 00:07:25,190 --> 00:07:28,080 Once again, we have to specify the interface base. 135 00:07:28,080 --> 00:07:30,300 So we'll say loopback 0. 136 00:07:30,300 --> 00:07:34,320 Now, notice that there's nothing on here about scope. 137 00:07:34,320 --> 00:07:37,350 The reason scope is not here is because this is 138 00:07:37,350 --> 00:07:39,570 all link-local multicast now. 139 00:07:39,570 --> 00:07:43,650 It's not being routed, so there is no need for a TTL. 140 00:07:43,650 --> 00:07:46,200 The TTL is going to be 1. 141 00:07:46,200 --> 00:07:50,410 Also note that we can, again, configure the group list here, 142 00:07:50,410 --> 00:07:53,400 just like we did with static and AutoRP. 143 00:07:53,400 --> 00:07:55,780 We can also change the interval. 144 00:07:55,780 --> 00:08:00,000 And we can set the priority because, again, BSR 145 00:08:00,000 --> 00:08:05,700 is going to follow rules as far as which candidate to select. 146 00:08:05,700 --> 00:08:09,340 Again, we're not going to change any of these for this example. 147 00:08:09,340 --> 00:08:11,980 So we'll just go ahead and hit Enter. 148 00:08:11,980 --> 00:08:16,000 Now, if we do a show ip pim rp map, 149 00:08:16,000 --> 00:08:19,630 notice that, again, we still haven't learned anything yet, 150 00:08:19,630 --> 00:08:22,090 because we don't have a BSR. 151 00:08:22,090 --> 00:08:25,750 However, we are being a candidate RP. 152 00:08:25,750 --> 00:08:28,930 Also note it's indicating that this is only for PIM 153 00:08:28,930 --> 00:08:33,140 version 2 because that's what BSR needs. 154 00:08:33,140 --> 00:08:37,000 So now let's configure this router to also be the BSR. 155 00:08:37,000 --> 00:08:42,390 So now we say ip pim bsr-candidate. 156 00:08:42,390 --> 00:08:45,930 Quick note here, the reason why this is a candidate, 157 00:08:45,930 --> 00:08:49,260 we can also have redundant BSRs. 158 00:08:49,260 --> 00:08:54,120 And it will elect one BSR out of the group to actually function 159 00:08:54,120 --> 00:08:55,950 as the active BSR. 160 00:08:55,950 --> 00:08:58,780 This is going to be done by priority as well. 161 00:08:58,780 --> 00:09:02,160 And we'll see that here as we go through this command. 162 00:09:02,160 --> 00:09:04,200 If we take a look at our options, 163 00:09:04,200 --> 00:09:06,220 it's again just for the interface. 164 00:09:06,220 --> 00:09:08,160 So we'll say loopback 0. 165 00:09:08,160 --> 00:09:12,690 And here's where we can set that hash mask length. 166 00:09:12,690 --> 00:09:15,870 Now, the default for this is going to be 0. 167 00:09:15,870 --> 00:09:18,540 And we'll leave it like that for now. 168 00:09:18,540 --> 00:09:22,080 Notice I could also hit Enter and go with the defaults. 169 00:09:22,080 --> 00:09:26,610 The only reason I'm going to put in the actual 0 and continue 170 00:09:26,610 --> 00:09:30,780 is this is where we could set the priority as far 171 00:09:30,780 --> 00:09:33,960 as whether we're allowed to become the active bootstrap 172 00:09:33,960 --> 00:09:34,810 router. 173 00:09:34,810 --> 00:09:37,630 So we could configure the priority as well. 174 00:09:37,630 --> 00:09:40,020 Now, again, we're not going to configure these. 175 00:09:40,020 --> 00:09:42,580 However, I just wanted to point out 176 00:09:42,580 --> 00:09:47,410 that notice you have to put the hash mask length before you can 177 00:09:47,410 --> 00:09:51,790 specify the priority, or you can specify none of them 178 00:09:51,790 --> 00:09:53,830 and just get the defaults. 179 00:09:53,830 --> 00:09:56,050 Notice that our tunnels have already 180 00:09:56,050 --> 00:10:01,690 come up, indicating that this is probably working just fine now. 181 00:10:01,690 --> 00:10:04,060 We'll exit configuration. 182 00:10:04,060 --> 00:10:07,420 And we'll do a show ip pim rp map. 183 00:10:07,420 --> 00:10:09,130 So what do we see? 184 00:10:09,130 --> 00:10:12,820 First, we see that this router is the bootstrap router. 185 00:10:12,820 --> 00:10:16,300 It's, again, responsible for all the multicast groups. 186 00:10:16,300 --> 00:10:19,630 The RP is, of course, 10.1.1.1. 187 00:10:19,630 --> 00:10:23,470 Notice that this, again, is only for version 2. 188 00:10:23,470 --> 00:10:28,300 Our info source is the bootstrap router 10.1.1.1. 189 00:10:28,300 --> 00:10:31,360 We've, of course, learned this via bootstrap. 190 00:10:31,360 --> 00:10:35,740 We see the default priority is 0 because we didn't change it. 191 00:10:35,740 --> 00:10:38,920 And the current hold time is 150. 192 00:10:38,920 --> 00:10:42,280 It's been up for 18 seconds, and it expires 193 00:10:42,280 --> 00:10:46,390 in 2 minutes and 7 seconds. 194 00:10:46,390 --> 00:10:51,400 If we do a show ip pim bsr, we can get some more detail on BSR 195 00:10:51,400 --> 00:10:52,240 itself. 196 00:10:52,240 --> 00:10:55,540 Again, we see that this is only PIM version 2. 197 00:10:55,540 --> 00:10:58,000 This system is the BSR. 198 00:10:58,000 --> 00:11:01,450 The BSR's address is the 10.1.1.1. 199 00:11:01,450 --> 00:11:03,700 We can see, of course, our uptime, 200 00:11:03,700 --> 00:11:09,580 the default priority of 0, the default hash mask length of 0. 201 00:11:09,580 --> 00:11:12,580 And we also see that it's learned the candidate 202 00:11:12,580 --> 00:11:15,250 RP of 10.1.1.1. 203 00:11:15,250 --> 00:11:18,910 It's being advertised every 60 seconds. 204 00:11:18,910 --> 00:11:22,600 And the whole time is, again, that 150 seconds 205 00:11:22,600 --> 00:11:24,560 that we saw previously. 206 00:11:24,560 --> 00:11:28,840 And just to wrap up, if we do our show ip mroute again, 207 00:11:28,840 --> 00:11:32,150 we've added no additional groups here. 208 00:11:32,150 --> 00:11:34,750 And if we look at our igmp groups again, 209 00:11:34,750 --> 00:11:37,750 we've added no additional groups here either 210 00:11:37,750 --> 00:11:42,880 because, again, BSR does not require any additional groups 211 00:11:42,880 --> 00:11:45,900 in order for it to function. 212 00:11:45,900 --> 00:11:50,070 In this video, we took a look at BSR, 213 00:11:50,070 --> 00:11:52,920 which is, again, the industry standard 214 00:11:52,920 --> 00:11:55,920 version of Cisco's AutoRP. 215 00:11:55,920 --> 00:11:59,500 I only call it that because Cisco AutoRP, of course, 216 00:11:59,500 --> 00:12:02,280 came out first in PIM version 1. 217 00:12:02,280 --> 00:12:04,890 And then the industry came out with BSR 218 00:12:04,890 --> 00:12:07,290 starting with version 2. 219 00:12:07,290 --> 00:12:09,690 We can also see that they function 220 00:12:09,690 --> 00:12:13,740 a bit the same in that there's the candidate RPs, 221 00:12:13,740 --> 00:12:15,750 and then there's the device. 222 00:12:15,750 --> 00:12:18,030 AutoRP calls it the mapping agent. 223 00:12:18,030 --> 00:12:23,370 And BSR calls it, well, the BSR that collects this information 224 00:12:23,370 --> 00:12:26,530 and sends it out to the other routers. 225 00:12:26,530 --> 00:12:28,380 Now, that's, of course, where things 226 00:12:28,380 --> 00:12:31,680 start to get a little different, where all of the other routers 227 00:12:31,680 --> 00:12:33,780 would learn all of the candidate RPs. 228 00:12:33,780 --> 00:12:35,760 And they each make their own decisions 229 00:12:35,760 --> 00:12:38,100 where in AutoRP the mapping agent 230 00:12:38,100 --> 00:12:40,410 made that decision for us. 231 00:12:40,410 --> 00:12:43,080 Again, we will review this in a little bit more 232 00:12:43,080 --> 00:12:45,940 detail when we have a larger environment 233 00:12:45,940 --> 00:12:49,420 during our multicast implementation skills. 234 00:12:49,420 --> 00:12:53,470 For now, we need to take a look at this thing called 235 00:12:53,470 --> 00:12:55,540 Anycast RP. 236 00:12:55,540 --> 00:12:58,060 And that's exactly what we're going to jump in and take 237 00:12:58,060 --> 00:12:59,600 a look at next. 238 00:12:59,600 --> 00:13:03,040 Until then, I hope this has been informative for you. 239 00:13:03,040 --> 00:13:06,090 And I'd like to thank you for viewing. 240 00:13:06,090 --> 00:13:10,000