1
00:00:08,440 --> 00:00:11,620
 Alright, so up to this point, if you've
 been watching the videos from

2
00:00:11,620 --> 00:00:15,920
 the beginning up till now, I've sort
 of broken it up into sections in

3
00:00:15,920 --> 00:00:19,320
 order to highlight each section, really
 give the details of what's happening

4
00:00:19,320 --> 00:00:24,100
 in each process or as each trigger
 happens in the PIM process.

5
00:00:24,100 --> 00:00:29,960
 We had a section on, you know, the shared
 tree being built and the triggers

6
00:00:29,960 --> 00:00:33,640
 and the messages that happen with that,
 then we had another video about

7
00:00:33,640 --> 00:00:38,180
 the registration process as the source
 starts up what that looks like.

8
00:00:38,180 --> 00:00:42,240
 Then we had another section on
 joining the shortest path tree.

9
00:00:42,240 --> 00:00:44,300
 So, I'm going to bring
 it all into focus.

10
00:00:44,300 --> 00:00:47,360
 Now, I'm just going to do a quick review
 on the whiteboard of all that

11
00:00:47,360 --> 00:00:49,060
 stuff as it happens.

12
00:00:49,060 --> 00:00:51,140
 Not going to do any more
 sniffer traces or labs.

13
00:00:51,140 --> 00:00:54,480
 We've already done that in the previous
 trait in the previous sections.

14
00:00:54,480 --> 00:00:58,600
 I'll just show you on the whiteboard
 end to end the whole process as it

15
00:00:58,600 --> 00:01:01,540
 happens. So, hopefully that will bring
 it into focus if you were sort

16
00:01:01,540 --> 00:01:05,640
 of stuck right now seeing the forest
 through the trees as the saying goes.

17
00:01:05,640 --> 00:01:09,440
 So, let's go back to
 our whiteboard here.

18
00:01:09,440 --> 00:01:19,960
 Okay, so now with multicast, one
 of two things could happen first.

19
00:01:19,960 --> 00:01:24,840
 Either the receivers could start joining
 the multicast before the multicast

20
00:01:24,840 --> 00:01:27,640
 has even started, and that
 could certainly happen.

21
00:01:27,640 --> 00:01:30,580
 You know, for example, if you find out
 that your CEO is going to be having

22
00:01:30,580 --> 00:01:35,560
 a video at three o'clock today of some
 big new bonus structure in your

23
00:01:35,560 --> 00:01:39,560
 company. Well, before that even video
 starts going out at three o'clock,

24
00:01:39,560 --> 00:01:42,820
 people in their cubes will probably
 start joining it, you know, five or

25
00:01:42,820 --> 00:01:44,840
 ten minutes before the
 video even starts.

26
00:01:44,840 --> 00:01:50,240
 So, that could happen where, you know,
 maybe you've got a video stream

27
00:01:50,240 --> 00:01:55,260
 that starts up that's running 24 by seven,
 like, you know, the CNN newsfeed

28
00:01:55,260 --> 00:01:59,520
 or the BBN, you know, newsfeed, something
 that's going all the time, and

29
00:01:59,520 --> 00:02:01,540
 it might not even be
 anybody watching it.

30
00:02:01,540 --> 00:02:04,840
 So, the registration process could happen
 first, and then the receivers

31
00:02:04,840 --> 00:02:06,300
 could join later.

32
00:02:06,300 --> 00:02:10,800
 So, just to simplify things, I'm going
 to start with the first scenario

33
00:02:10,800 --> 00:02:16,220
 where the receiver joins first, and
 then the video starts up after that.

34
00:02:16,220 --> 00:02:20,780
 So, just as a review, step number one
 in this process is if the receiver

35
00:02:20,780 --> 00:02:24,480
 is joining, we know that receiver,
 we're just going to assume IPv4 for

36
00:02:24,480 --> 00:02:26,020
 now just to keep it simple.

37
00:02:26,020 --> 00:02:29,620
 We know that receiver, which is my laptop
 here on the left, is going to

38
00:02:29,620 --> 00:02:31,740
 send what? Review question.

39
00:02:31,740 --> 00:02:36,120
 What kind of IgMP message will that
 receiver send his default gateway

40
00:02:36,120 --> 00:02:39,420
 saying, I wish to be
 part of this stream?

41
00:02:39,420 --> 00:02:42,200
 Who can answer that?

42
00:02:42,200 --> 00:02:51,360
 Well, hopefully the answer you came up
 with was an IgMP membership report.

43
00:02:51,360 --> 00:02:54,200
 Sometimes they call
 that an IgMP join.

44
00:02:54,200 --> 00:02:58,520
 That's the sort of slang term for that,
 but the technical term is an IgMP

45
00:02:58,520 --> 00:03:00,720
 membership report.

46
00:03:00,720 --> 00:03:04,360
 And we know that the destination address
 of that report will be whatever

47
00:03:04,360 --> 00:03:08,700
 the stream is that the guy wishes to
 watch, and also in the body of the

48
00:03:08,700 --> 00:03:12,740
 report, the GDA field, the group destination
 address field, will also

49
00:03:12,740 --> 00:03:15,120
 be this exact same thing.

50
00:03:15,120 --> 00:03:22,520
 Okay, now if this router here is not
 enabled for PIM, on that interface,

51
00:03:22,520 --> 00:03:26,840
 he's going to ignore that because routers
 don't listen to IgMP by default.

52
00:03:26,840 --> 00:03:29,700
 They ignore it. So, that's one of the
 reasons why we have to enable PIM

53
00:03:29,700 --> 00:03:34,680
 in some form, either dense mode or sparse
 mode, on this interface, because

54
00:03:34,680 --> 00:03:39,920
 that also enables IgMP processing
 as a byproduct of that.

55
00:03:39,920 --> 00:03:43,320
 So, let's just assume for the sake of
 argument that every single interface

56
00:03:43,320 --> 00:03:48,040
 that we see here in this drawing already
 has PIM sparse mode enabled.

57
00:03:48,040 --> 00:03:49,560
 Okay, so let's just assume that.

58
00:03:49,560 --> 00:03:53,040
 Also, let's assume for the sake of argument
 that we've already predetermined

59
00:03:53,040 --> 00:03:58,300
 that the PIM rendezvous point is going
 to be router three right here.

60
00:03:58,300 --> 00:04:03,880
 And all of the routers, including router
 three, are pointing at the IP

61
00:04:03,880 --> 00:04:07,600
 address on router three's fast, Ethernet
 zero zero, which is three dot

62
00:04:07,600 --> 00:04:12,260
 four dot three dot three
 as the PIM RP address.

63
00:04:12,260 --> 00:04:17,920
 And in case you forgot, the command
 for that at the global level was IP

64
00:04:17,920 --> 00:04:25,480
 PIM RP dash address, and
 then you put the address.

65
00:04:25,480 --> 00:04:29,480
 And we did that on every single
 router, including the RP itself.

66
00:04:29,480 --> 00:04:32,640
 Okay, so that was the command
 to statically configure an RP.

67
00:04:32,640 --> 00:04:37,020
 Okay, so PIM is enabled.

68
00:04:37,020 --> 00:04:38,840
 Everybody knows who the RP is.

69
00:04:38,840 --> 00:04:41,640
 And of course, everybody has
 to be able to reach the RP.

70
00:04:41,640 --> 00:04:44,920
 So, we're going to assume there's some
 sort of routing protocol like EIGRP

71
00:04:44,920 --> 00:04:48,340
 or RIP or something, running
 in the background.

72
00:04:48,340 --> 00:04:51,360
 So everybody knows how
 to get to everything.

73
00:04:51,360 --> 00:04:55,980
 Okay, so all of that background prerequisite
 stuff is already done.

74
00:04:55,980 --> 00:05:00,680
 All right, so now the IGMP membership
 report comes in on router two.

75
00:05:00,680 --> 00:05:06,680
 Now, if I did at that moment, right
 after router two received that IGMP

76
00:05:06,680 --> 00:05:12,100
 membership report, if I issued the
 command show IP em route in router

77
00:05:12,100 --> 00:05:18,520
 two, here's a review question, what
 kind of em route entry would I see?

78
00:05:18,520 --> 00:05:24,600
 Exactly. Thank you, Peter.

79
00:05:24,600 --> 00:05:27,380
 And for those of you watching, hopefully
 you said you would see a star

80
00:05:27,380 --> 00:05:29,460
 comma G entry. Exactly.

81
00:05:29,460 --> 00:05:31,780
 That's why I would
 see a star comma G.

82
00:05:31,780 --> 00:05:35,540
 So in this particular case, if I write
 that, I'll just keep this here

83
00:05:35,540 --> 00:05:37,700
 in red to denote PIM stuff.

84
00:05:37,700 --> 00:05:45,660
 So in router two, I would see a star
 comma 239.999 entry, which is what

85
00:05:45,660 --> 00:05:47,320
 we call star comma G.

86
00:05:47,320 --> 00:05:51,220
 Now next to that would be
 the RP's address of 3433.

87
00:05:51,220 --> 00:05:54,640
 That indicates that we actually
 know who the RP is.

88
00:05:54,640 --> 00:05:56,500
 Okay, another review question.

89
00:05:56,500 --> 00:06:02,440
 Using this particular drawing is our
 guideline and assuming that the fast

90
00:06:02,440 --> 00:06:07,020
 Ethernet links are a much better routing
 metric than the serial link,

91
00:06:07,020 --> 00:06:12,360
 that the serial is really the last
 preferred route to get anywhere.

92
00:06:12,360 --> 00:06:14,540
 And I'm mentioning
 that for a reason.

93
00:06:14,540 --> 00:06:19,060
 In the star comma G entry, we'd have something
 called an incoming interface.

94
00:06:19,060 --> 00:06:21,540
 I'm just going to shorten
 that to IIF.

95
00:06:21,540 --> 00:06:34,200
 On router two, what interface would
 we see as the incoming interface?

96
00:06:34,200 --> 00:06:37,740
 That's right. It would be fast
 Ethernet zero slash one.

97
00:06:37,740 --> 00:06:40,400
 And if you forgot, if you said, well,
 how did you come up with that?

98
00:06:40,400 --> 00:06:45,100
 Remember with the star comma G entry,
 that's all based around the rendezvous

99
00:06:45,100 --> 00:06:47,800
 point. Who is the
 rendezvous point?

100
00:06:47,800 --> 00:06:49,980
 How do we get to the
 rendezvous point?

101
00:06:49,980 --> 00:06:54,220
 And in this particular case, in this
 diagram, it's a pretty safe bet that

102
00:06:54,220 --> 00:06:57,640
 for router two to get to the rendezvous
 point, his best path is via fast

103
00:06:57,640 --> 00:06:59,840
 Ethernet zero slash one.

104
00:06:59,840 --> 00:07:03,500
 So let's say that, fast
 Ethernet zero slash one.

105
00:07:03,500 --> 00:07:04,980
 Okay, next question.

106
00:07:04,980 --> 00:07:08,580
 There would also be right there something
 called an RPF neighbor.

107
00:07:08,580 --> 00:07:13,500
 What IP address will be listed there
 in the RPF neighbor field?

108
00:07:13,500 --> 00:07:26,480
 Yeah, it would be the IP address of
 his upstream neighbor, which in this

109
00:07:26,480 --> 00:07:27,980
 case is router eight.

110
00:07:27,980 --> 00:07:32,960
 Now remember the upstream neighbor in relation
 to how I get to the rendezvous

111
00:07:32,960 --> 00:07:38,080
 point. So that would be eight dot four
 dot eight dot eight, which is not

112
00:07:38,080 --> 00:07:41,320
 eight dot four, eight dot
 two dot eight dot eight.

113
00:07:41,320 --> 00:07:46,180
 So that is router two is upstream neighbor
 router eight to get to the

114
00:07:46,180 --> 00:07:47,740
 rendezvous point.

115
00:07:47,740 --> 00:07:53,260
 Last thing, there would also be something
 in here called an outgoing interface

116
00:07:53,260 --> 00:07:58,700
 list. What interface, if any, would
 be in the outgoing interface list

117
00:07:58,700 --> 00:08:10,020
 right now? Yeah, so hopefully said,
 well, that would be the interface

118
00:08:10,020 --> 00:08:12,940
 that received the
 membership report.

119
00:08:12,940 --> 00:08:17,080
 The interface where if we actually received
 the the multicast where we're

120
00:08:17,080 --> 00:08:17,640
 going to send it.

121
00:08:17,640 --> 00:08:22,240
 In this particular case, this whole
 star, G entry was created because

122
00:08:22,240 --> 00:08:24,580
 we received a request.

123
00:08:24,580 --> 00:08:29,380
 We received an IGMP membership report
 on fast Ethernet zero zero.

124
00:08:29,380 --> 00:08:33,740
 So that's what's going to be in our outgoing
 interface list, because that's

125
00:08:33,740 --> 00:08:35,220
 where receiver has joined.

126
00:08:35,220 --> 00:08:39,380
 Okay, so that all happens in a split
 second as soon as that membership

127
00:08:39,380 --> 00:08:40,920
 report comes in.

128
00:08:40,920 --> 00:08:48,600
 Then that triggers R2 to generate and transmit
 a special kind of PIM message.

129
00:08:48,600 --> 00:08:52,180
 What do we call that
 kind of PIM message?

130
00:08:52,180 --> 00:09:02,680
 Well, hopefully you answered
 that is called a PIM join.

131
00:09:02,680 --> 00:09:05,060
 So that's the sort
 of generic term.

132
00:09:05,060 --> 00:09:08,720
 But we also talked about there were
 actually two different kinds of PIM

133
00:09:08,720 --> 00:09:12,980
 joins. They take the same packet format,
 but due to the the presence or

134
00:09:12,980 --> 00:09:16,820
 lack of certain flags, there was
 two different kinds of joins.

135
00:09:16,820 --> 00:09:20,500
 What kind of join is
 R2 going to generate?

136
00:09:20,500 --> 00:09:31,380
 So hopefully you said Keith, that's
 going to be a star, G join, a PIM

137
00:09:31,380 --> 00:09:36,360
 star, G join exactly, because
 R2 doesn't know the source.

138
00:09:36,360 --> 00:09:39,080
 So in that join, there's going to be
 a little flag called the wild card

139
00:09:39,080 --> 00:09:43,700
 flag, which means I don't
 know what the source is.

140
00:09:43,700 --> 00:09:48,760
 And of all the interfaces that R2 has,
 which interface will be used to

141
00:09:48,760 --> 00:09:51,900
 actually transmit
 that star, G join?

142
00:09:51,900 --> 00:10:01,540
 Where will it go?

143
00:10:01,540 --> 00:10:06,460
 That's right. So that the intention
 of that star, G join is to send it

144
00:10:06,460 --> 00:10:09,560
 eventually to make it to
 the rendezvous point.

145
00:10:09,560 --> 00:10:12,320
 We want to let the rendezvous point
 know, hey, we've got somebody who

146
00:10:12,320 --> 00:10:13,500
 is interested here.

147
00:10:13,500 --> 00:10:15,700
 And yes, you guys in the live stream,
 you're answering correctly.

148
00:10:15,700 --> 00:10:19,780
 It's all based on basically two things,
 the incoming interface, which

149
00:10:19,780 --> 00:10:23,740
 is the interface I used to get to the
 rendezvous point and to the RPF

150
00:10:23,740 --> 00:10:26,560
 neighbor. So in this particular case,
 it's going to actually be transmitted

151
00:10:26,560 --> 00:10:29,780
 out on fast Ethan
 at zero slash one.

152
00:10:29,780 --> 00:10:34,520
 And then because we know our RPF neighbors
 8.2.8.8, we'll look in our

153
00:10:34,520 --> 00:10:38,300
 ARP table, we'll figure out what the
 the MAC addresses of that guy.

154
00:10:38,300 --> 00:10:44,160
 And that's how next question, actually,
 this is a review question.

155
00:10:44,160 --> 00:10:48,440
 What will be the destination MAC address
 of this ethernet frame that's

156
00:10:48,440 --> 00:11:08,500
 carrying this PIM star, G join?

157
00:11:08,500 --> 00:11:10,700
 Well, this one was
 a little tricky.

158
00:11:10,700 --> 00:11:16,060
 This is a little tricky because the
 star, G join at layer three of the

159
00:11:16,060 --> 00:11:20,960
 networking layer goes to the exact
 same destination IP address as PIM

160
00:11:20,960 --> 00:11:25,760
 hellows. 224 00 13.

161
00:11:25,760 --> 00:11:29,180
 So now that we know that the layer three
 destination is a multicast address,

162
00:11:29,180 --> 00:11:32,580
 that should cue you in that, ah, okay,
 if the layer three destination

163
00:11:32,580 --> 00:11:38,280
 address is a multicast address, then we
 can derive the layer two destination

164
00:11:38,280 --> 00:11:42,700
 MAC address from that
 multicast address.

165
00:11:42,700 --> 00:11:46,540
 So in the very beginning of the videos
 yesterday, I said that all IPB4

166
00:11:46,540 --> 00:11:51,720
 multicasts go to the
 address of 0100 5E.

167
00:11:51,720 --> 00:11:56,540
 And then I said, basically, you map
 the last 23 bits down into the MAC

168
00:11:56,540 --> 00:12:02,700
 address here. Well, 13 in hex
 is what 10, 11, 12, 13, ABCD.

169
00:12:02,700 --> 00:12:13,340
 So that's D. So I'll
 be 0100 5E, 0000 D.

170
00:12:13,340 --> 00:12:22,560
 If I got that right there, 0100 5E,
 and then D is, yep, D is 13, ABCD,

171
00:12:22,560 --> 00:12:27,320
 10, 11, 12, 13. So that will actually
 be the destination MAC address of

172
00:12:27,320 --> 00:12:31,420
 that star, G join, because
 it's going to a multicast.

173
00:12:31,420 --> 00:12:38,480
 In the actual IP header, what's going
 to be the time to live in that IP

174
00:12:38,480 --> 00:12:47,060
 header for that join?

175
00:12:47,060 --> 00:12:49,720
 That's right. It's
 going to be one.

176
00:12:49,720 --> 00:12:54,020
 Remember, we talked about how multicast
 addresses have different scopes.

177
00:12:54,020 --> 00:12:57,040
 And we said, according to the Internet
 Assigned Numbers Authority, any

178
00:12:57,040 --> 00:13:02,800
 multicast address that begins with 22400
 is called the link local scope,

179
00:13:02,800 --> 00:13:06,200
 which means it should have
 just a time to live of one.

180
00:13:06,200 --> 00:13:09,900
 It's only meant for your
 next hop neighbor.

181
00:13:09,900 --> 00:13:11,020
 So let me ask you this.

182
00:13:11,020 --> 00:13:16,160
 If this star comma G join is only meant
 to be processed by router 8 and

183
00:13:16,160 --> 00:13:28,440
 then discarded, how is it ever going
 to get to the rendezvous point?

184
00:13:28,440 --> 00:13:31,520
 Well, router 8 is going
 to have to replicate it.

185
00:13:31,520 --> 00:13:34,280
 Exactly. He's going to have
 to create a new one himself.

186
00:13:34,280 --> 00:13:39,080
 So basically, the join coming from router
 2, the source address will be,

187
00:13:39,080 --> 00:13:43,200
 in this case, 8.2.8.2, router
 2 source address.

188
00:13:43,200 --> 00:13:46,620
 The destination will be 2240013.

189
00:13:46,620 --> 00:13:49,900
 Router 8 will process
 that in his CPU.

190
00:13:49,900 --> 00:13:52,780
 His CPU will say, oh, this
 is a star comma G join.

191
00:13:52,780 --> 00:13:57,400
 It's got the RP bit set, which means
 it needs to be forwarded up to the

192
00:13:57,400 --> 00:13:58,300
 rendezvous point.

193
00:13:58,300 --> 00:14:02,520
 So router 8 will say, OK, I'm going
 to use my incoming interface, which

194
00:14:02,520 --> 00:14:05,980
 is, he says, oh, oh, so when router
 8 gets that, guess what?

195
00:14:05,980 --> 00:14:10,500
 That's going to create star comma G
 state in him, which he didn't have

196
00:14:10,500 --> 00:14:14,360
 before. So now he's going to
 have star comma G state.

197
00:14:14,360 --> 00:14:18,780
 It's going to look very similar
 to what we saw before.

198
00:14:18,780 --> 00:14:25,820
 Now, his incoming interface will be
 fast Ethan at 00.83, because that's

199
00:14:25,820 --> 00:14:29,420
 his interface to reach
 the rendezvous point.

200
00:14:29,420 --> 00:14:40,460
 His RPF neighbor is going to actually
 be 8.3.8.3, and his outgoing interface

201
00:14:40,460 --> 00:14:46,360
 list will be the interface that received
 that PIM star comma G join, which

202
00:14:46,360 --> 00:14:48,660
 is fast Ethan at 0 slash 1.

203
00:14:48,660 --> 00:14:52,260
 So now that he's created that star
 comma G state, he says, OK, I need

204
00:14:52,260 --> 00:14:55,720
 to now create my own
 star comma G join.

205
00:14:55,720 --> 00:14:57,300
 And there it goes.

206
00:14:57,300 --> 00:15:03,860
 PIM star comma G join.

207
00:15:03,860 --> 00:15:09,060
 That will also be going to the destination
 address of 2240013, but this

208
00:15:09,060 --> 00:15:12,840
 will have a different source address because
 it's being sourced from router

209
00:15:12,840 --> 00:15:15,980
 8. So if we capture that in a sniffer
 trace, the source IP address of

210
00:15:15,980 --> 00:15:21,960
 that would be 8.3.8.8.

211
00:15:21,960 --> 00:15:25,500
 And then once the rendezvous point gets
 that, now that creates star comma

212
00:15:25,500 --> 00:15:39,220
 G state in him. He knows that he's
 the RP, so you'll see that there.

213
00:15:39,220 --> 00:15:44,780
 What will we see in the star comma G
 state of the incoming interface on

214
00:15:44,780 --> 00:15:54,620
 the rendezvous point?

215
00:15:54,620 --> 00:15:58,620
 That's right. In this particular case,
 it will say no, because remember

216
00:15:58,620 --> 00:16:01,940
 the incoming interface is the interface
 that leads to the RP.

217
00:16:01,940 --> 00:16:04,940
 Well, if the RP had a split personality
 and he was psychotic, he might

218
00:16:04,940 --> 00:16:05,980
 put something else in there.

219
00:16:05,980 --> 00:16:09,820
 But he says, look, I'm normal, I'm okay,
 I know I'm the RP, I don't use

220
00:16:09,820 --> 00:16:12,340
 any interface to get to myself.

221
00:16:12,340 --> 00:16:13,860
 So incoming interface is no.

222
00:16:13,860 --> 00:16:19,020
 What would we have as
 the RPF neighbor here?

223
00:16:19,020 --> 00:16:26,860
 That's right, it would
 be 000, 000.

224
00:16:26,860 --> 00:16:31,040
 Once again, I don't use any
 neighbor to get to myself.

225
00:16:31,040 --> 00:16:34,300
 And here, the outgoing interface list
 would be the interface that received

226
00:16:34,300 --> 00:16:36,540
 the star comma G join.
