1
00:00:08,140 --> 00:00:14,800
 In the previous video I mentioned that
 in auto RP you have to have at

2
00:00:14,800 --> 00:00:18,640
 least two routers playing two special
 roles, one called an RP candidate

3
00:00:18,640 --> 00:00:22,060
 and one called an mapping agent.

4
00:00:22,060 --> 00:00:26,740
 And I said that one router could play
 both roles, theoretically, but it's

5
00:00:26,740 --> 00:00:29,300
 better to split them apart on a different
 router so you have a little

6
00:00:29,300 --> 00:00:33,520
 bit more resiliency, a little bit more
 redundancy in case the router fails.

7
00:00:33,520 --> 00:00:39,080
 So let's start by looking at more
 details of the RP candidates.

8
00:00:39,080 --> 00:00:46,240
 So I mentioned how RP candidates send
 out messages called RP announcements.

9
00:00:46,240 --> 00:00:49,400
 And it's within these RP announcements
 that they say, hey, I would like

10
00:00:49,400 --> 00:00:53,700
 to be an RP for this
 particular group.

11
00:00:53,700 --> 00:01:00,120
 So those RP announcements are
 actually encapsulated in UDP.

12
00:01:00,120 --> 00:01:03,760
 And they use UDP port number 496.

13
00:01:03,760 --> 00:01:06,960
 I know you might come across some certification
 someday that asks you

14
00:01:06,960 --> 00:01:09,840
 a nitty gritty detail like that.

15
00:01:09,840 --> 00:01:15,820
 And even after it's initially sent,
 it's reset every 60 seconds, right,

16
00:01:15,820 --> 00:01:20,580
 because maybe this RP was not the one
 that was elected, but he still wants

17
00:01:20,580 --> 00:01:24,580
 to make himself known in case
 the elected RP goes away.

18
00:01:24,580 --> 00:01:26,820
 So it's reset every 60 seconds.

19
00:01:26,820 --> 00:01:35,640
 And it's sent to a special
 address of 224.0.1.39.

20
00:01:35,640 --> 00:01:39,160
 We saw this in the previous section,
 this is a reserved address.

21
00:01:39,160 --> 00:01:44,420
 Now, if I now only mapping agents pay
 attention to this, what do I mean

22
00:01:44,420 --> 00:01:46,380
 by pay attention to it?

23
00:01:46,380 --> 00:01:56,520
 Well, if a router, for example, let's
 say that this router, let's get

24
00:01:56,520 --> 00:02:03,260
 rid of that. Let's say that this
 router here was the RP candidate.

25
00:02:03,260 --> 00:02:10,120
 And so we're assuming here that all these
 interfaces are in the same way.

26
00:02:10,120 --> 00:02:19,220
 So he sends out via dense mode, he
 floods his RP announce messages.

27
00:02:19,220 --> 00:02:20,980
 And that's going to 239.

28
00:02:20,980 --> 00:02:26,260
 No, not 239.224.0.1.39.

29
00:02:26,260 --> 00:02:36,180
 Now, let's say that our mapping
 agent was over here.

30
00:02:36,180 --> 00:02:41,140
 Router two. So what's router eight
 going to do with this message?

31
00:02:41,140 --> 00:02:44,440
 Because after all, he can't really
 look at it to see if this guy's an

32
00:02:44,440 --> 00:02:49,280
 RP. And you might say, well, he'll
 just silently pass it on, right?

33
00:02:49,280 --> 00:02:51,620
 He'll just transparently pass it.

34
00:02:51,620 --> 00:02:56,900
 Well, but the problem with that is the
 rules of PIM state that you cannot

35
00:02:56,900 --> 00:03:00,960
 forward a multicast message without
 creating multicast state.

36
00:03:00,960 --> 00:03:03,540
 You can't just forward it.

37
00:03:03,540 --> 00:03:07,560
 Even in dense mode, you still have
 to create some sort of state in the

38
00:03:07,560 --> 00:03:10,040
 multicast routing table.

39
00:03:10,040 --> 00:03:14,280
 So when router eight receives this
 message, he's actually going to do

40
00:03:14,280 --> 00:03:18,500
 two things. He's going to create an
 s, entry because he does know the

41
00:03:18,500 --> 00:03:21,100
 source. The source is coming
 from router three.

42
00:03:21,100 --> 00:03:24,220
 He knows the group 2201.39.

43
00:03:24,220 --> 00:03:26,580
 So he will create an s, entry.

44
00:03:26,580 --> 00:03:31,540
 He'll also create a star, entry because
 that's required when you've got

45
00:03:31,540 --> 00:03:38,540
 an s, entry. And the outgoing interface
 list, remember when you've got

46
00:03:38,540 --> 00:03:43,620
 both a star, and an s, entry, the s,
 entry is typically the one that's

47
00:03:43,620 --> 00:03:44,920
 actually used for forwarding.

48
00:03:44,920 --> 00:03:49,420
 So whatever is in the outgoing interface
 list of the s, that's what we

49
00:03:49,420 --> 00:03:50,940
 use to forward packets.

50
00:03:50,940 --> 00:03:57,440
 So in this particular case, in router
 eight, when he creates his s, he's

51
00:03:57,440 --> 00:04:00,560
 going to say, all right, well, all of
 my interfaces are in sparse dense

52
00:04:00,560 --> 00:04:05,240
 mode, except for the one where I receive
 this packet is what I'm going

53
00:04:05,240 --> 00:04:07,760
 to put into my outgoing
 interface list.

54
00:04:07,760 --> 00:04:25,380
 So in his s, entry, you'll see that
 zero one and zero zero dot you know,

55
00:04:25,380 --> 00:04:28,420
 flood this RP announced message.

56
00:04:28,420 --> 00:04:32,100
 But if you at this point in time, if
 you actually look in him, you say,

57
00:04:32,100 --> 00:04:33,360
 okay, who's your RP?

58
00:04:33,360 --> 00:04:35,720
 Who's your RP? He'll
 say, I don't know.

59
00:04:35,720 --> 00:04:38,600
 He doesn't know because he can't actually
 look at this message to decide

60
00:04:38,600 --> 00:04:41,820
 who his RP should be.

61
00:04:41,820 --> 00:04:44,180
 That message has to get
 to the mapping agent.

62
00:04:44,180 --> 00:04:47,980
 And then the mapping agent will
 send an RP discover message.

63
00:04:47,980 --> 00:04:52,000
 And that's what router eight can use
 to figure out what RP he's going

64
00:04:52,000 --> 00:05:01,080
 to select. So within this RP announcement,
 and I'm actually going to do

65
00:05:01,080 --> 00:05:04,980
 a sniffer trace of this in just a second
 so you can see it, it contains

66
00:05:04,980 --> 00:05:10,160
 the address of the RP, you know, his
 unicast IP address, what groups he's

67
00:05:10,160 --> 00:05:14,120
 saying that he's capable of being the RP
 for, which by default is everything.

68
00:05:14,120 --> 00:05:17,480
 Everything beginning with one
 one one zero and binary.

69
00:05:17,480 --> 00:05:19,480
 And his whole time.

70
00:05:19,480 --> 00:05:27,060
 So how do I make a router an RP
 candidate with this command?

71
00:05:27,060 --> 00:05:30,420
 IP PIMS send dash
 RP dash announced.

72
00:05:30,420 --> 00:05:32,600
 And then interface.

73
00:05:32,600 --> 00:05:36,480
 And the interface you select here like
 fast ethernet zero zero, serial

74
00:05:36,480 --> 00:05:38,380
 one one, whatever.

75
00:05:38,380 --> 00:05:42,200
 This interface command here is going to
 actually control the source address

76
00:05:42,200 --> 00:05:49,600
 that he selects for those RP announced
 messages, the source address.

77
00:05:49,600 --> 00:05:56,120
 Why do we care? Well, the reason why
 we care is because this is what the

78
00:05:56,120 --> 00:05:59,900
 mapping agent uses to figure
 out who the best router is.

79
00:05:59,900 --> 00:06:04,660
 So if a mapping agent receives two
 or more RP announced messages from

80
00:06:04,660 --> 00:06:08,340
 two routers and they're advertising
 their capability to be the RP for

81
00:06:08,340 --> 00:06:13,160
 the exact same groups, the mapping agent
 will simply say, okay, whichever

82
00:06:13,160 --> 00:06:16,360
 one of you has the highest IP
 address, you're the winner.

83
00:06:16,360 --> 00:06:18,620
 You're the one I'm going
 to tell everybody about.

84
00:06:18,620 --> 00:06:23,100
 So this is how you can influence that
 by on the actual RP itself specifying

85
00:06:23,100 --> 00:06:27,480
 the interface, they'll be higher or
 lower than other routers that you're

86
00:06:27,480 --> 00:06:29,160
 configuring this for.

87
00:06:29,160 --> 00:06:34,160
 Scope, this basically
 controls the TTL.

88
00:06:34,160 --> 00:06:37,320
 So how far this RP announced
 message can go.

89
00:06:37,320 --> 00:06:39,000
 And it's not optional.

90
00:06:39,000 --> 00:06:42,040
 You have to set it, non
 optional keyword.

91
00:06:42,040 --> 00:06:44,640
 What is optional is
 the group list.

92
00:06:44,640 --> 00:06:49,120
 So this gives you the ability to say,
 okay, instead of being the RP for

93
00:06:49,120 --> 00:06:54,240
 everything, I only want you to
 be the RP for certain groups.

94
00:06:54,240 --> 00:06:56,960
 Now there's something actually
 kind of interesting about this.

95
00:06:56,960 --> 00:06:59,080
 And I'm going to show it to you rather
 than tell you I'm just going to

96
00:06:59,080 --> 00:07:03,920
 do it. So in order to replicate this
 and just do a quick snipper trace

97
00:07:03,920 --> 00:07:08,520
 of it, step number one is I have to
 go to all my interfaces right here

98
00:07:08,520 --> 00:07:13,100
 and configure them for
 sparse dense mode.

99
00:07:13,100 --> 00:07:25,420
 So let's just do that and then
 we'll go to the other side.

100
00:07:25,420 --> 00:07:31,600
 Okay, so that's all
 we need on him.

101
00:07:31,600 --> 00:07:45,040
 Go to router eight.

102
00:07:45,040 --> 00:07:46,960
 Okay, he's done.

103
00:07:46,960 --> 00:07:49,920
 Let's go on router three.

104
00:07:49,920 --> 00:08:20,880
 Oh, and while I'm here, let
 me delete my static here.

105
00:08:20,880 --> 00:08:34,280
 Okay, almost done here.

106
00:08:34,280 --> 00:08:35,780
 Okay, so we're all set up.

107
00:08:35,780 --> 00:08:37,760
 Everything's in sparse
 dense mode now.

108
00:08:37,760 --> 00:08:40,480
 Okay, so let's see here.

109
00:08:40,480 --> 00:08:46,240
 Let's go ahead and just continue with
 having router three be the RP.

110
00:08:46,240 --> 00:08:50,640
 So now we're going to configure him
 to send those RP announced messages.

111
00:08:50,640 --> 00:09:04,130
 Now before I do that, let's just go
 ahead and capture this in a little

112
00:09:04,130 --> 00:09:10,680
 bit. And according to my physical topology,
 R3, 01 is port 0 slash six

113
00:09:10,680 --> 00:09:23,860
 on the switch. All right,
 so ready to go.

114
00:09:23,860 --> 00:09:28,080
 So let's go back to R3.

115
00:09:28,080 --> 00:09:33,080
 And what I'm going to do is I'm actually
 going to configure R3 instead

116
00:09:33,080 --> 00:09:35,740
 of announcing his capability
 for everything.

117
00:09:35,740 --> 00:09:39,040
 I'm going to say, I only want you to
 announce yourself as a potential

118
00:09:39,040 --> 00:09:47,340
 RP for anything in the 238 range and
 specifically say you're not the RP

119
00:09:47,340 --> 00:09:49,680
 for the 239 range.

120
00:09:49,680 --> 00:09:50,620
 And there's a reason
 I'm doing this.

121
00:09:50,620 --> 00:10:03,080
 I'll show you. So let's do this.

122
00:10:03,080 --> 00:10:10,060
 Okay, access dash
 list one deny 239.

123
00:10:10,060 --> 00:10:17,340
 And you don't have to worry about the
 implicit deny at the end of the

124
00:10:17,340 --> 00:10:21,320
 access list. That does not affect
 this particular feature.

125
00:10:21,320 --> 00:10:25,020
 So this feature only looks at what you
 specifically configured as permits

126
00:10:25,020 --> 00:10:32,980
 or denies. And now I say IPPIM
 send dash RP announce.

127
00:10:32,980 --> 00:10:36,160
 Okay. And now I say, okay, what do
 I want your source interface to be?

128
00:10:36,160 --> 00:10:39,420
 Well, we'll just have it be fast
 ethernet zero slash zero.

129
00:10:39,420 --> 00:10:45,640
 Scope. I will just put
 it as like 100 hops.

130
00:10:45,640 --> 00:10:50,280
 And now I'm going to say group list
 in reference to access list one.

131
00:10:50,280 --> 00:10:53,200
 Now before I hit the enter key, let's
 do a snipper trace to see what his

132
00:10:53,200 --> 00:11:02,540
 message looks like.

133
00:11:02,540 --> 00:11:04,980
 Okay, so there's the RP announce.

134
00:11:04,980 --> 00:11:09,340
 Okay, so there it is.

135
00:11:09,340 --> 00:11:12,840
 Not sure why he sent two of them.

136
00:11:12,840 --> 00:11:18,040
 Oh, wait a second.

137
00:11:18,040 --> 00:11:18,820
 I think I know why.

138
00:11:18,820 --> 00:11:21,920
 Let's see here. Let's just check
 the source MAC address.

139
00:11:21,920 --> 00:11:26,220
 So this one has a source MAC
 address of five AC nine.

140
00:11:26,220 --> 00:11:33,700
 Seven C C zero. Yeah, so this
 is actually seven C C zero.

141
00:11:33,700 --> 00:11:44,040
 And I think if I go
 to router eight.

142
00:11:44,040 --> 00:11:51,080
 Let's see here. zero zero dot 83.

143
00:11:51,080 --> 00:12:07,120
 Seven C C zero. That what we
 saw in the router three.

144
00:12:07,120 --> 00:12:08,340
 Yes, seven C C zero.

145
00:12:08,340 --> 00:12:15,160
 So what we're actually seeing here,
 this is kind of interesting that in

146
00:12:15,160 --> 00:12:20,800
 the whiteboard when router
 three sent his RP announce.

147
00:12:20,800 --> 00:12:32,540
 Actually, what router eight did
 is he not selected it back.

148
00:12:32,540 --> 00:12:34,620
 I'm not sure why they do that.

149
00:12:34,620 --> 00:12:36,860
 But so we actually
 saw it coming back.

150
00:12:36,860 --> 00:12:39,880
 That's why it looks like it's
 it's the exact same message.

151
00:12:39,880 --> 00:12:42,780
 But one has a source
 MAC of router three.

152
00:12:42,780 --> 00:12:45,540
 One has a source MAC
 of router eight.

153
00:12:45,540 --> 00:12:48,300
 That's why it's showing up twice
 in the snipper trace here.

154
00:12:48,300 --> 00:12:51,060
 But the main thing I wanted to show
 you was the body of the message.

155
00:12:51,060 --> 00:12:56,820
 So notice it's encapsulated
 in UDP port 496.

156
00:12:56,820 --> 00:13:00,900
 And then we have the Cisco
 auto RP behind that.

157
00:13:00,900 --> 00:13:03,160
 And here's what I
 want to show you.

158
00:13:03,160 --> 00:13:09,720
 He says here's my IP address
 three four three three.

159
00:13:09,720 --> 00:13:13,320
 And I'm specifically telling
 you about two groups.

160
00:13:13,320 --> 00:13:17,600
 He says number one, the 238 group.

161
00:13:17,600 --> 00:13:20,900
 This is a positive group prefix.

162
00:13:20,900 --> 00:13:23,500
 This is his way of saying,
 Hey, mapping agent.

163
00:13:23,500 --> 00:13:27,480
 I would like to be the RP for
 everything beginning with 238.

164
00:13:27,480 --> 00:13:30,420
 So hopefully you'll elect me.

165
00:13:30,420 --> 00:13:36,620
 But down down here, 239, we have
 a negative group prefix.

166
00:13:36,620 --> 00:13:41,080
 Now you might just think, well, why
 is he even had that in there at all?

167
00:13:41,080 --> 00:13:44,760
 I mean, if he doesn't want to be the
 RP for 239, why not just exclude

168
00:13:44,760 --> 00:13:47,680
 that and just included 238?

169
00:13:47,680 --> 00:13:50,880
 And anything that he doesn't include,
 he'll just be implicitly assumed

170
00:13:50,880 --> 00:13:54,320
 that he doesn't want to be the
 RP for the rest of that stuff.

171
00:13:54,320 --> 00:13:57,120
 Well, that's kind of the
 way that's working.

172
00:13:57,120 --> 00:14:01,980
 For example, in this particular case,
 the no routers in my domain will

173
00:14:01,980 --> 00:14:07,640
 ever use this guy for
 237, 236, 224, 225.

174
00:14:07,640 --> 00:14:11,100
 They will only learn that he wants to
 be the RP for everything beginning

175
00:14:11,100 --> 00:14:15,760
 with 238. So why is he including
 this negative group prefix?

176
00:14:15,760 --> 00:14:19,000
 This is actually kind of interesting
 what happens here.

177
00:14:19,000 --> 00:14:24,980
 What this is saying is he saying, Hey,
 everybody, everywhere, all PIM

178
00:14:24,980 --> 00:14:30,920
 routers, the 239 prefix must
 be used in dense mode.

179
00:14:30,920 --> 00:14:35,420
 We will not have any RP for 239.

180
00:14:35,420 --> 00:14:41,980
 So if you ever get an actual multicast
 dream going to 239 dot something,

181
00:14:41,980 --> 00:14:46,900
 flood it via dense mode, don't look for
 an RP because there's no RP that's

182
00:14:46,900 --> 00:14:50,820
 servicing it. Now, you might be thinking
 yourself, well, okay, but what

183
00:14:50,820 --> 00:14:53,740
 if I configure this command
 on another router?

184
00:14:53,740 --> 00:14:58,500
 And on that router, I say, you can
 be the RP for the 239 group.

185
00:14:58,500 --> 00:15:00,000
 Will that override this?

186
00:15:00,000 --> 00:15:02,260
 No, it will not.

187
00:15:02,260 --> 00:15:04,860
 This overrides that.

188
00:15:04,860 --> 00:15:15,500
 So if a router sends out a network, it
 basically forces the entire domain

189
00:15:15,500 --> 00:15:20,040
 to use dense mode for
 this particular group.

190
00:15:20,040 --> 00:15:21,800
 Now, why you'd want to do that?

191
00:15:21,800 --> 00:15:27,740
 I don't know, but I just want to
 point out that's how that works.

192
00:15:27,740 --> 00:15:31,920
 So be very careful if you're using access
 lists along with your RP announced

193
00:15:31,920 --> 00:15:35,600
 command, like I did right here.

194
00:15:35,600 --> 00:15:40,560
 Be very careful if you've got any deny
 statements in that access list,

195
00:15:40,560 --> 00:15:43,260
 because that's what's
 going to happen.

196
00:15:43,260 --> 00:15:46,380
 That particular group will now be forced
 to use dense mode and you might

197
00:15:46,380 --> 00:15:50,500
 end up with flooding that
 you did not intend.

198
00:15:50,500 --> 00:15:55,940
 Now, John points out that 239, according
 to the Internet Assigned Numbers

199
00:15:55,940 --> 00:15:58,840
 Authority, was the range for
 source specific multicast.

200
00:15:58,840 --> 00:16:03,420
 That's true. But remember, these
 are all recommendations, right?

201
00:16:03,420 --> 00:16:07,440
 A router will not say, oh, 239, I'm
 only going to accept that if that

202
00:16:07,440 --> 00:16:09,280
 source specific multicast.

203
00:16:09,280 --> 00:16:12,480
 That's just a recommendation by the
 Internet Assigned Numbers Authority.

204
00:16:12,480 --> 00:16:16,900
 Nothing preventing you from using IGMP
 version 2, not doing source specific

205
00:16:16,900 --> 00:16:22,200
 multicast and still using 239.something
 as your multicast streams.

206
00:16:22,200 --> 00:16:23,240
 That's all just recommendations.
