WEBVTT

1
00:00.270 --> 00:01.710
So the NSX manager

2
00:01.710 --> 00:05.370
where we created the overlay segment called Seg 10 yellow,

3
00:05.370 --> 00:06.780
it knows about that segment,

4
00:06.780 --> 00:09.900
but ESXi-a and ESXi-b have no need

5
00:09.900 --> 00:12.030
to maintain information regarding that segment

6
00:12.030 --> 00:14.880
because they don't yet have VMs connected to it.

7
00:14.880 --> 00:17.607
So we are gonna solve that right now by bringing up this VM.

8
00:17.607 --> 00:19.830
And let's go ahead and call it VMa,

9
00:19.830 --> 00:21.780
meaning it's gonna be running on host A

10
00:21.780 --> 00:25.800
and also give the name of 10.0.0.10,

11
00:25.800 --> 00:27.480
just so I'll remember exactly

12
00:27.480 --> 00:29.220
what IP address we plan to use on it.

13
00:29.220 --> 00:33.270
And then over here, on this VM, let's call this VMb,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

13
00:29.220 --> 00:33.270
And then over here, on this VM, let's call this VMb,

14
00:33.270 --> 00:35.160
meaning it's gonna be running on host B,

15
00:35.160 --> 00:38.010
and it'll be on the same common segment, segment 10,

16
00:38.010 --> 00:41.850
and we'll give it the IP address of 10.0.0.11.

17
00:41.850 --> 00:43.410
So let's head over to the vSphere Client.

18
00:43.410 --> 00:45.060
We'll create these two new VMs

19
00:45.060 --> 00:47.220
and attach them to this new segment 10.

20
00:47.220 --> 00:48.870
So here at the vSphere Client,

21
00:48.870 --> 00:50.670
I've got a template that we can use.

22
00:50.670 --> 00:53.400
I also have a folder called NSX VMs for testing.

23
00:53.400 --> 00:56.010
And let go ahead and let me remove those two VMs.

24
00:56.010 --> 00:57.390
So we'll just go ahead and right click

25
00:57.390 --> 00:59.160
and say delete from disk.

26
00:59.160 --> 01:02.430
We'll click on yes. Let's also rename this folder.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

26
00:59.160 --> 01:02.430
We'll click on yes. Let's also rename this folder.

27
01:02.430 --> 01:04.230
Think I'll right click on the folder.

28
01:04.230 --> 01:06.390
From the dropdown, we'll click on rename,

29
01:06.390 --> 01:08.100
and we'll simply call it VMs for Testing.

30
01:08.100 --> 01:11.100
We'll save that. So I've got a folder for templates here.

31
01:11.100 --> 01:13.410
Lemme right click on the tiny Linux template,

32
01:13.410 --> 01:16.230
and we'll create a new VM from this template.

33
01:16.230 --> 01:17.970
For this first one, we'll call it VM.

34
01:17.970 --> 01:20.130
And then I'm also gonna put the IP address in the name.

35
01:20.130 --> 01:21.210
That way when I see it,

36
01:21.210 --> 01:22.950
we'll know exactly which VM we're on.

37
01:22.950 --> 01:25.140
So it'll be 10.0.0.10.

38
01:25.140 --> 01:27.150
And then I will put this in the folder

39
01:27.150 --> 01:29.790
called VMs for Testing and click on Next.

40
01:29.790 --> 01:31.320
And then as far as which host,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

40
01:29.790 --> 01:31.320
And then as far as which host,

41
01:31.320 --> 01:33.900
we want this to run on host A.

42
01:33.900 --> 01:35.400
And then we'll click on Next.

43
01:35.400 --> 01:37.110
I'm gonna go ahead and put on the local data store

44
01:37.110 --> 01:39.930
on ESXi-a, and then click on Next.

45
01:39.930 --> 01:42.360
And then, we'll customize the virtual machine hardware.

46
01:42.360 --> 01:43.410
That'll give us the chance to put it

47
01:43.410 --> 01:45.300
in the right segment for networking.

48
01:45.300 --> 01:46.560
And we'll also have it powered

49
01:46.560 --> 01:49.050
on after we're done with that, so we'll click on Next.

50
01:49.050 --> 01:51.390
And this is a super tiny VM.

51
01:51.390 --> 01:54.450
That's why I love it because it does support VMware tools,

52
01:54.450 --> 01:57.360
which is fantastic for graceful power offs,

53
01:57.360 --> 01:58.620
and it's also super tiny.

54
01:58.620 --> 02:01.530
So if we need to deploy new ones or move 'em around,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

54
01:58.620 --> 02:01.530
So if we need to deploy new ones or move 'em around,

55
02:01.530 --> 02:03.180
they're fantastic for that purpose.

56
02:03.180 --> 02:06.420
So for networking, we'll go ahead and we'll click on browse.

57
02:06.420 --> 02:07.830
And for network adapter one,

58
02:07.830 --> 02:10.380
we'll put it right here on segment 10 yellow

59
02:10.380 --> 02:14.370
and click on Okay, and then we'll click on Next and finish.

60
02:14.370 --> 02:17.910
And then, we'll do it again for VMb.

61
02:17.910 --> 02:19.530
So we'll right click on our template,

62
02:19.530 --> 02:21.960
we'll select new VM from this template.

63
02:21.960 --> 02:24.014
We'll call this VMb.

64
02:24.014 --> 02:25.770
Then we'll give the name of 10.0.0.11,

65
02:25.770 --> 02:27.360
and then we'll go ahead and put that here

66
02:27.360 --> 02:29.040
in the VMs for Testing folder.

67
02:29.040 --> 02:30.900
Click on Next and then we'll make sure
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

67
02:29.040 --> 02:30.900
Click on Next and then we'll make sure

68
02:30.900 --> 02:33.810
that we're gonna run that on ESXi-b,

69
02:33.810 --> 02:35.160
and then click on Next.

70
02:35.160 --> 02:36.990
We'll use that data store, click on Next.

71
02:36.990 --> 02:38.490
And then we'll customize it

72
02:38.490 --> 02:39.870
to put on the right network segment,

73
02:39.870 --> 02:40.920
and then we'll power it on.

74
02:40.920 --> 02:43.350
So we'll click on Next, and we'll make sure we also put

75
02:43.350 --> 02:46.590
this one on that same segment, 10 yellow,

76
02:46.590 --> 02:48.330
which is the NSX segment,

77
02:48.330 --> 02:49.710
and the little N is showing right there

78
02:49.710 --> 02:50.970
as well as a reminder.

79
02:50.970 --> 02:53.190
And then we'll click on Next and finish.

80
02:53.190 --> 02:55.440
We could also verify they're connected to the right segment

81
02:55.440 --> 02:58.800
by going to network and then selecting our Segment 10 yellow

82
02:58.800 --> 03:00.600
And clicking here on VMs just
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

82
02:58.800 --> 03:00.600
And clicking here on VMs just

83
03:00.600 --> 03:02.220
to verify that they are there

84
03:02.220 --> 03:04.440
and also, that they're on the two separate hosts.

85
03:04.440 --> 03:06.840
So let's go ahead and bring up consoles for each of those.

86
03:06.840 --> 03:09.480
For VMb, lemme make sure it's done.

87
03:09.480 --> 03:11.370
And sure enough, it's deployed.

88
03:11.370 --> 03:13.590
So let's launch a web console for VMB.

89
03:13.590 --> 03:15.870
So in the upper left hand corner has the name for us.

90
03:15.870 --> 03:19.110
And let's also launch a console for VMA.

91
03:19.110 --> 03:20.970
So we'll go to VMA, and once again,

92
03:20.970 --> 03:23.100
we'll launch a web console for it as well.

93
03:23.100 --> 03:25.500
So here at VMA, let's give it an IP address.

94
03:25.500 --> 03:28.950
So we'll use the command ifconfig for ethernet zero

95
03:28.950 --> 03:31.650
and give the IP address of 10.0.0.10.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

95
03:28.950 --> 03:31.650
and give the IP address of 10.0.0.10.

96
03:31.650 --> 03:35.280
And the lab at this point is gonna default to a 8-bit mask,

97
03:35.280 --> 03:36.690
and that's perfectly fine.

98
03:36.690 --> 03:39.750
We can also verify that with an ifconfig, press enter.

99
03:39.750 --> 03:42.150
So here's the IP address, here's the mask,

100
03:42.150 --> 03:43.320
and then it'll work for our purposes.

101
03:43.320 --> 03:46.620
Let's go over to VM 10.0.0.11,

102
03:46.620 --> 03:48.810
which is running on ESXI host B,

103
03:48.810 --> 03:51.000
and we'll give it the IP address of .11.

104
03:51.000 --> 03:53.520
So here at VMb, we can verify that up here at the top,

105
03:53.520 --> 03:54.960
we're at VMB.

106
03:54.960 --> 03:55.950
Let's do an ifconfig just

107
03:55.950 --> 03:57.930
to verify we have no IP address yet.

108
03:57.930 --> 04:01.080
And let's configure an IP address as sudo ifconfig,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

108
03:57.930 --> 04:01.080
And let's configure an IP address as sudo ifconfig,

109
04:01.080 --> 04:03.120
space for ethernet zero.

110
04:03.120 --> 04:07.650
And here, we wanna use 10.0.0.11, and that looks good.

111
04:07.650 --> 04:10.680
It says, Keith, you have a typo with ETH.

112
04:10.680 --> 04:12.000
So we'll fix that, that looks better.

113
04:12.000 --> 04:14.640
And let's also verify our work with an ifconfig.

114
04:14.640 --> 04:16.320
And that looks great.

115
04:16.320 --> 04:17.490
So now, as a spot check,

116
04:17.490 --> 04:21.510
we have this VM here, VMa at 10.10.0.10,

117
04:21.510 --> 04:24.870
and we have this VM over here, VMb at 10.0.0.11.

118
04:24.870 --> 04:26.940
So if they wanna communicate with each other,

119
04:26.940 --> 04:29.040
that traffic would go down to the host.

120
04:29.040 --> 04:30.990
The host then would, based on the information it got
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

120
04:29.040 --> 04:30.990
The host then would, based on the information it got

121
04:30.990 --> 04:33.960
from the NSX manager, forward that over the tunnel

122
04:33.960 --> 04:36.630
to the respective host where that VM exists.

123
04:36.630 --> 04:39.270
Or if it's something like an ARP and it's already cached,

124
04:39.270 --> 04:42.000
that information could be responded to locally

125
04:42.000 --> 04:44.730
by the local ESXI host if it already has it.

126
04:44.730 --> 04:47.700
So what I propose we do before we start generating traffic,

127
04:47.700 --> 04:50.220
let's go back to the CLI for ESXi-a,

128
04:50.220 --> 04:52.380
and also for the NSX manager.

129
04:52.380 --> 04:53.730
And let's start at the manager

130
04:53.730 --> 04:55.650
looking at the MAC table right here.

131
04:55.650 --> 04:57.090
Effectively what this says is

132
04:57.090 --> 04:59.940
that this MAC address is associated with this VNI,

133
04:59.940 --> 05:01.290
that virtual network identifier,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

133
04:59.940 --> 05:01.290
that virtual network identifier,

134
05:01.290 --> 05:04.080
effectively that layer two broadcast domain,

135
05:04.080 --> 05:05.970
that segment called Segment 10.

136
05:05.970 --> 05:07.860
And if we need to forward to that MAC address,

137
05:07.860 --> 05:10.320
it's reachable at this VTAP address,

138
05:10.320 --> 05:12.480
this virtual tunnel endpoint IP address.

139
05:12.480 --> 05:14.100
And that happens to be the IP address

140
05:14.100 --> 05:17.100
of the tunnel endpoint for ESXi-b.

141
05:17.100 --> 05:18.630
So what that means is that this MAC address

142
05:18.630 --> 05:22.827
right here is for a VM that's hosted by ESXi-a.

143
05:22.827 --> 05:26.160
And that VM is connected to that segment 10

144
05:26.160 --> 05:28.410
that we just created, which has this VNI.

145
05:28.410 --> 05:31.320
So if we took a look at VMA to confirm its MAC address,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

145
05:28.410 --> 05:31.320
So if we took a look at VMA to confirm its MAC address,

146
05:31.320 --> 05:33.510
we should see that exact MAC address.

147
05:33.510 --> 05:34.620
Let's do that real quick.

148
05:34.620 --> 05:35.850
So here at the terminal window,

149
05:35.850 --> 05:40.590
here for this VM, VMA 10.0.0.10, let's do an ifconfig.

150
05:40.590 --> 05:42.900
And that'll confirm for us not only the IP address,

151
05:42.900 --> 05:44.370
but also the layer two address.

152
05:44.370 --> 05:49.320
And there is the layer two address ending in D9:D7,

153
05:49.320 --> 05:50.520
so that pans out.

154
05:50.520 --> 05:52.890
And then this MAC address would be the MAC address

155
05:52.890 --> 05:54.360
associated with the other VM,

156
05:54.360 --> 05:56.970
the ones being hosted by ESXi-b.

157
05:56.970 --> 05:59.370
And to forward to that destination layer two address,

158
05:59.370 --> 06:02.370
we'd use this tunnel endpoint address of 22.22.22.22,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

158
05:59.370 --> 06:02.370
we'd use this tunnel endpoint address of 22.22.22.22,

159
06:02.370 --> 06:05.490
which is the tunnel endpoint address for ESXi-b.

160
06:05.490 --> 06:07.740
So from the perspective here of ESXi-a,

161
06:07.740 --> 06:10.230
let's say, it got a frame of data that it needed

162
06:10.230 --> 06:13.170
to forward over to this MAC address.

163
06:13.170 --> 06:14.520
For this MAC address,

164
06:14.520 --> 06:15.930
the destination for the Geneve tunnel

165
06:15.930 --> 06:18.340
is gonna be the IP address of ESXi-b

166
06:19.248 --> 06:20.250
and the MAC address associated

167
06:20.250 --> 06:21.720
with that destination tunnel address

168
06:21.720 --> 06:23.040
is this MAC address right here.

169
06:23.040 --> 06:26.220
So this MAC address ending in 70:90 would be

170
06:26.220 --> 06:28.140
the layer two address associated

171
06:28.140 --> 06:30.150
with the VM kernel adapter supporting
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

171
06:28.140 --> 06:30.150
with the VM kernel adapter supporting

172
06:30.150 --> 06:32.610
this IP address over on ESXi-b.

173
06:32.610 --> 06:33.690
Let's also take just a moment

174
06:33.690 --> 06:35.400
and verify that's the case as well.

175
06:35.400 --> 06:38.280
So here in the vSphere Client, if we go down to ESXi-b

176
06:38.280 --> 06:41.340
and we go to configure and VM kernel adapters,

177
06:41.340 --> 06:42.630
and we look at the vmk10,

178
06:42.630 --> 06:47.190
which has the IP address of 22.22.22, et cetera.

179
06:47.190 --> 06:49.290
And we look at the properties.

180
06:49.290 --> 06:52.680
Here is the MAC address, indeed ending with 70:90.

181
06:52.680 --> 06:54.750
Now, the benefit of just doing that correlation is

182
06:54.750 --> 06:59.040
to kinda get a better idea of how this is all glued together

183
06:59.040 --> 07:01.860
with the NSX manager at the brains of the operation,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

183
06:59.040 --> 07:01.860
with the NSX manager at the brains of the operation,

184
07:01.860 --> 07:05.010
synchronizing all the control plane data back

185
07:05.010 --> 07:06.960
and forth to those transport nodes.

186
07:06.960 --> 07:08.790
In our case, it's host transport nodes

187
07:08.790 --> 07:10.050
that need that information

188
07:10.050 --> 07:12.780
to do proper layer two forwarding across the segment.

189
07:12.780 --> 07:14.130
In addition, we could also go ahead

190
07:14.130 --> 07:15.420
and take a look at the ARP caches

191
07:15.420 --> 07:17.970
that are stored not only on the control plane

192
07:17.970 --> 07:19.980
on the NSX manager, but also,

193
07:19.980 --> 07:23.130
has been distributed down to the transport notes.

194
07:23.130 --> 07:24.420
And to see that we'd use the command,

195
07:24.420 --> 07:27.390
get logical-switch, the VNI number,

196
07:27.390 --> 07:30.660
then the option of arp-table and press Enter.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

196
07:27.390 --> 07:30.660
then the option of arp-table and press Enter.

197
07:30.660 --> 07:32.850
And similar to ARP caches on an end device,

198
07:32.850 --> 07:34.620
ARB cache is timeout over time.

199
07:34.620 --> 07:37.560
So if there's nothing in the ARP cache, you wanna see one,

200
07:37.560 --> 07:39.930
all you need to do is generate an ARP request

201
07:39.930 --> 07:41.550
on one of the VMs on that segment

202
07:41.550 --> 07:43.230
and that would repopulate it for you.

203
07:43.230 --> 07:45.150
So that the manager, it knows that this IP address,

204
07:45.150 --> 07:46.410
lemme scroll over to the right,

205
07:46.410 --> 07:49.050
it knows that this IP address can be resolved

206
07:49.050 --> 07:50.460
in this layer two address.

207
07:50.460 --> 07:52.710
And the ESXi host, which has a local copy

208
07:52.710 --> 07:54.240
of the control plane information,

209
07:54.240 --> 07:55.950
believes the same information.

210
07:55.950 --> 07:57.150
And if we continue scrolling to the right,

211
07:57.150 --> 08:00.360
it has the transport node ID for the transport host
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

211
07:57.150 --> 08:00.360
it has the transport node ID for the transport host

212
08:00.360 --> 08:03.330
who effectively has reachability to that layer two address.

213
08:03.330 --> 08:05.490
And that transport node was also included as part

214
08:05.490 --> 08:09.450
of the output of the show MAC table as well.

215
08:09.450 --> 08:12.390
So this transport node right here with this long ID,

216
08:12.390 --> 08:16.620
starting with CBAF, if we look at who belongs there,

217
08:16.620 --> 08:20.100
that is the transport node ID for ESXi-b

218
08:20.100 --> 08:21.960
because that's where we placed the VM

219
08:21.960 --> 08:23.190
that has that IP address.

220
08:23.190 --> 08:25.410
So just to correlate that, if we went back to the GUI,

221
08:25.410 --> 08:27.780
what we would see in the NSX manager

222
08:27.780 --> 08:29.550
is that if we looked at ESXi-b,

223
08:29.550 --> 08:33.930
it should have the transport node ID beginning in CBAF,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

223
08:29.550 --> 08:33.930
it should have the transport node ID beginning in CBAF,

224
08:33.930 --> 08:35.310
and let's confirm that as well.

225
08:35.310 --> 08:36.930
So here in the NSX manager,

226
08:36.930 --> 08:39.720
if we click on the system tab, over here on the left,

227
08:39.720 --> 08:41.580
we'll expand the fabric section

228
08:41.580 --> 08:43.290
and then we'll go down to hosts,

229
08:43.290 --> 08:46.380
and we'll open up our cluster where ESXi-a and b are.

230
08:46.380 --> 08:47.910
And then for ESXi-b,

231
08:47.910 --> 08:50.610
we'll just simply click right here on view details.

232
08:50.610 --> 08:52.320
And right here, it's showing us the ID,

233
08:52.320 --> 08:55.500
which again is beginning with CBAF right there.

234
08:55.500 --> 08:57.420
And as far as the NSX commands

235
08:57.420 --> 09:00.420
to bring up this information at the NSX manager
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

235
08:57.420 --> 09:00.420
to bring up this information at the NSX manager

236
09:00.420 --> 09:03.720
or at one of the transport nodes like ESXi-a,

237
09:03.720 --> 09:06.090
we simply start off with the get logical switches.

238
09:06.090 --> 09:09.360
Press Enter, that will show us the logical switches

239
09:09.360 --> 09:11.490
that both devices know about.

240
09:11.490 --> 09:14.010
And then from there, we can tack on the VNI

241
09:14.010 --> 09:15.060
and the additional options,

242
09:15.060 --> 09:18.330
like lemme see the MAC table or the ARP table,

243
09:18.330 --> 09:20.070
and there's some additional options as well.

244
09:20.070 --> 09:21.300
But that would be the starting point

245
09:21.300 --> 09:24.540
for the verification about which devices know

246
09:24.540 --> 09:27.630
about which logical segments and some of the MAC

247
09:27.630 --> 09:29.730
and ARP tables associated with them.

248
09:29.730 --> 09:30.750
Again, it's all going back
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

248
09:29.730 --> 09:30.750
Again, it's all going back

249
09:30.750 --> 09:33.030
to the centralized control plane at the manager

250
09:33.030 --> 09:34.710
and having a local control plane

251
09:34.710 --> 09:36.960
of that same information being stored

252
09:36.960 --> 09:38.853
on the transport nodes that need it.
