WEBVTT

1
00:00.000 --> 00:04.570
There are some protocols that are used so often they become synonymous with IP

2
00:04.570 --> 00:05.000
networking.

3
00:05.000 --> 00:10.770
And one of those is an application layer service called DHCP, the dynamic host

4
00:10.770 --> 00:12.500
configuration protocol.

5
00:12.500 --> 00:16.470
And primarily after all said and done, the job of dynamic host configuration

6
00:16.470 --> 00:17.000
protocol,

7
00:17.000 --> 00:22.180
or as its friends call it DHCP, is to hand out IP address information to

8
00:22.180 --> 00:24.000
clients that ask for that.

9
00:24.000 --> 00:27.000
So let's draw a typical network right here.

10
00:27.000 --> 00:32.000
So this could be for example VLAN on a local network and on top of that VLAN,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

10
00:27.000 --> 00:32.000
So this could be for example VLAN on a local network and on top of that VLAN,

11
00:32.000 --> 00:38.000
let's see we're using the IP dressing space of 10.30.0.0 with a 24-bit mask.

12
00:38.000 --> 00:40.000
So that's our IP dressing space for this network.

13
00:40.000 --> 00:43.240
Now some devices on this network are very likely going to have a statically

14
00:43.240 --> 00:44.000
configured IP address,

15
00:44.000 --> 00:46.000
like this router right here.

16
00:46.000 --> 00:50.000
Let's say it's IP address, we've configured it as .1 on this 10.30.0 network.

17
00:50.000 --> 00:54.270
And we may have other devices, for example, like a server that we statically

18
00:54.270 --> 00:55.000
configure.

19
00:55.000 --> 00:59.240
And perhaps we give this server the IP address statically configured of .2 on

20
00:59.240 --> 01:01.000
the 10.30.0 network.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

20
00:59.240 --> 01:01.000
the 10.30.0 network.

21
01:01.000 --> 01:04.680
And for other devices that are on that network, for example, just have all

22
01:04.680 --> 01:07.000
these orange colored devices represent clients,

23
01:07.000 --> 01:11.000
which could be Windows, they could be Linux, it could be Mac OS,

24
01:11.000 --> 01:15.260
or if it's a wireless network, it could be mobile devices, for example, like

25
01:15.260 --> 01:17.000
Android's and iPhones and things like that.

26
01:17.000 --> 01:20.560
And for client devices that come on the network and go off the network and so

27
01:20.560 --> 01:21.000
forth,

28
01:21.000 --> 01:25.180
instead of having to manually configure details such as, okay, the correct IP

29
01:25.180 --> 01:27.000
address space for these clients

30
01:27.000 --> 01:31.630
and their default gateway and which DNS server to use, etc, etc, instead, we
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

30
01:27.000 --> 01:31.630
and their default gateway and which DNS server to use, etc, etc, instead, we

31
01:31.630 --> 01:35.000
can use the wonderful protocol called dynamic host configuration protocol.

32
01:35.000 --> 01:38.330
And then train these clients that when they boot up or when they connect to

33
01:38.330 --> 01:41.000
this network to dynamically ask for an IP address

34
01:41.000 --> 01:43.000
and the process would go something like this.

35
01:43.000 --> 01:46.000
The clients could issue a discover message.

36
01:46.000 --> 01:50.000
And the discover message in DHCP is sent as a layer two broadcast.

37
01:50.000 --> 01:53.650
So effectively, our rails have that same layer two broadcast domain is going to

38
01:53.650 --> 01:57.000
have to listen to that broadcast and then see what's inside.

39
01:57.000 --> 02:00.600
Now, hopefully one of those devices that sees that broadcast, this discover
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

39
01:57.000 --> 02:00.600
Now, hopefully one of those devices that sees that broadcast, this discover

40
02:00.600 --> 02:02.000
message being sent by a client,

41
02:02.000 --> 02:05.000
hopefully one of those devices is a DHCP server.

42
02:05.000 --> 02:08.120
In fact, let me redraw this just a little bit and let's go ahead and imagine

43
02:08.120 --> 02:13.280
these are clients and this device here is acting as our DHCP server on the

44
02:13.280 --> 02:14.000
local segment.

45
02:14.000 --> 02:17.400
So from a communication path perspective with DHCP, I'm going to have the

46
02:17.400 --> 02:19.000
server right here on the right.

47
02:19.000 --> 02:20.000
So it's right here.

48
02:20.000 --> 02:22.000
Well, they're on our network again here for good measure.

49
02:22.000 --> 02:24.000
We'll connect our server to that.

50
02:24.000 --> 02:26.000
And again, that server is at dot two.

51
02:26.000 --> 02:28.590
And then over here, let's go ahead and just use one of our clients as an

52
02:28.590 --> 02:31.000
example who's also connected to that network.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

52
02:28.590 --> 02:31.000
example who's also connected to that network.

53
02:31.000 --> 02:34.030
And on the client computer, we're going to have some option based on the type

54
02:34.030 --> 02:37.000
of operating system we're working with, but some flavor of the question.

55
02:37.000 --> 02:40.000
Do you want to get an IP address automatically?

56
02:40.000 --> 02:44.080
Well, the answer is yes, that's implying in the background that it's going to

57
02:44.080 --> 02:45.000
be using DHCP services.

58
02:45.000 --> 02:46.000
And here's the play by play.

59
02:46.000 --> 02:49.920
The client is going to start the process by setting in a DHCP discover message

60
02:49.920 --> 02:51.000
into the network.

61
02:51.000 --> 02:55.220
Now, it's hoping that someone on this layer two network is a DHCP server, can

62
02:55.220 --> 02:57.000
respond on behalf of that discover message.

63
02:57.000 --> 03:02.000
And if there is a local DHCP server, that DHCP server can go ahead and respond.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

63
02:57.000 --> 03:02.000
And if there is a local DHCP server, that DHCP server can go ahead and respond.

64
03:02.000 --> 03:05.000
And when the receiver responds, this can respond with an offer.

65
03:05.000 --> 03:09.000
So put an O there, I'll put an offer there just to write out what it is.

66
03:09.000 --> 03:12.620
So this D over here in parentheses, I'll just make a little note that that's a

67
03:12.620 --> 03:14.000
DHCP discover message.

68
03:14.000 --> 03:16.620
So in the offer coming from the DHCP server, it's going to have some

69
03:16.620 --> 03:18.000
information for that client.

70
03:18.000 --> 03:20.780
For example, let's say, hey, here's an IP address you might like to use on the

71
03:20.780 --> 03:24.810
1030 zero network and here's a default gateway you can use while you're on this

72
03:24.810 --> 03:25.000
network.

73
03:25.000 --> 03:28.410
Oh, by the way, here's a DNS server you can use and reach out to if you have

74
03:28.410 --> 03:31.000
need to do name resolution from names to IP addresses.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

74
03:28.410 --> 03:31.000
need to do name resolution from names to IP addresses.

75
03:31.000 --> 03:32.000
And the list goes on.

76
03:32.000 --> 03:34.870
There's other options as well that we can hand out all as part of this offer

77
03:34.870 --> 03:36.000
coming from the server.

78
03:36.000 --> 03:39.000
Then when the client gets that offer, if they want to use it, they'll go ahead

79
03:39.000 --> 03:41.000
and they'll send a request message.

80
03:41.000 --> 03:43.000
I'll put that here in parentheses as well.

81
03:43.000 --> 03:45.490
And the client will send that request in the network saying, you know what that

82
03:45.490 --> 03:46.000
offer is made?

83
03:46.000 --> 03:47.000
I would love it.

84
03:47.000 --> 03:51.110
At which point the DHCP server is going to finalize the conversation with an

85
03:51.110 --> 03:52.000
acknowledgement.

86
03:52.000 --> 03:55.000
So put an A there and just write out a CK short for acknowledgement.

87
03:55.000 --> 04:00.000
And that's the back and forth for traditional DHCP services on a local network.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

88
04:00.000 --> 04:03.000
And that's often referred to as the DORA process.

89
04:03.000 --> 04:07.000
We're representing the first letter of each of those exchanges for a client

90
04:07.000 --> 04:08.000
getting an IP address from a DHCP server.

91
04:08.000 --> 04:12.000
So the discover, the offer, the request and acknowledgement.

92
04:12.000 --> 04:15.000
And those will be packets one, two, three and four.

93
04:15.000 --> 04:19.080
So let's modify the topology a little bit and let's imagine that we still have

94
04:19.080 --> 04:23.300
these clients here, but we do not have a local DHCP server connected to this

95
04:23.300 --> 04:25.000
local 1030 zero network.

96
04:25.000 --> 04:28.360
So I'm going to remove this server here because it's no longer on the local

97
04:28.360 --> 04:29.000
segment.

98
04:29.000 --> 04:33.000
And let's put another network over here. And let's imagine just for grants,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

98
04:29.000 --> 04:33.000
And let's put another network over here. And let's imagine just for grants,

99
04:33.000 --> 04:35.000
this is the 23.1.2 network.

100
04:35.000 --> 04:39.000
And let's imagine we do have a DHCP server connected right there.

101
04:39.000 --> 04:43.030
And let's imagine it's at dot one. So maybe our router down here is at dot two

102
04:43.030 --> 04:44.000
on the 23.1.2 network.

103
04:44.000 --> 04:47.000
And our DHCP server is right here.

104
04:47.000 --> 04:50.900
So the problem with not having a local DHCP server is that this client right

105
04:50.900 --> 04:55.790
here right there, when it does a discover message when it's looking and trying

106
04:55.790 --> 04:58.000
to discover a DHCP server, it senses a broadcast.

107
04:58.000 --> 05:02.000
And broadcast only goes as far as that layer two broadcast domain.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

107
04:58.000 --> 05:02.000
And broadcast only goes as far as that layer two broadcast domain.

108
05:02.000 --> 05:06.010
So if this is the 1030 zero subnet and it's on top of a VLAN, that broadcast is

109
05:06.010 --> 05:09.000
not going to make it past this layer two segment right here.

110
05:09.000 --> 05:12.720
And as a result, this DHCP server up here is not going to see that DHCP

111
05:12.720 --> 05:14.000
discover message.

112
05:14.000 --> 05:18.990
So it can't respond. In addition, if we had 20 or 30 or 50 different subnets in

113
05:18.990 --> 05:23.580
our networks, it'd be pretty tedious to make sure we had a logical or physical

114
05:23.580 --> 05:27.000
interface from a DHCP server in every single one of those subnets.

115
05:27.000 --> 05:31.210
So one of the features that we can use to get around the problem of having to
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

115
05:27.000 --> 05:31.210
So one of the features that we can use to get around the problem of having to

116
05:31.210 --> 05:35.510
have a local DHCP server with its interface on every single one of our networks

117
05:35.510 --> 05:38.000
is we can use a feature called DHCP relay.

118
05:38.000 --> 05:41.480
And most of the time this feature of DHCP relay is going to be enabled or

119
05:41.480 --> 05:45.350
configured on a router interface that's directly connected to this network

120
05:45.350 --> 05:46.000
segment.

121
05:46.000 --> 05:50.570
And so think of the DHCP relay like the proxy, the person or entity that goes

122
05:50.570 --> 05:52.000
between two things.

123
05:52.000 --> 05:56.610
So for example, if this is the DHCP client over here, and is the DHCP server,

124
05:56.610 --> 06:00.960
the DHCP relay is like the middleman who can forward those messages back and
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

124
05:56.610 --> 06:00.960
the DHCP relay is like the middleman who can forward those messages back and

125
06:00.960 --> 06:04.000
forth between this local segment and the server.

126
06:04.000 --> 06:07.570
So part of enabling DHCP relay on this router is to also tell this router and

127
06:07.570 --> 06:10.000
this interface where DHCP relay is enabled.

128
06:10.000 --> 06:13.000
We need to tell where the real DHCP server is.

129
06:13.000 --> 06:17.550
So we'd spend a moment configure this router and tell it that on this interface

130
06:17.550 --> 06:23.000
, we want to enable DHCP relay and that the real DHCP server is at 23.1.2.1.

131
06:23.000 --> 06:27.190
Now once we tell the router that the play by play for DHCP relay goes something

132
06:27.190 --> 06:28.000
like this.

133
06:28.000 --> 06:31.940
This client issues a discover message, which is a layer two broadcast and the
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

133
06:28.000 --> 06:31.940
This client issues a discover message, which is a layer two broadcast and the

134
06:31.940 --> 06:34.000
relay function here on this interface.

135
06:34.000 --> 06:38.800
If it's enabled, it's going to take that broadcast, wrap it up, encapsulate it

136
06:38.800 --> 06:42.000
and ship it over as a unit cast over to the DHCP server.

137
06:42.000 --> 06:46.400
At which point the DHCP server de-encapsulates that packet and sees that it's a

138
06:46.400 --> 06:48.000
DHCP discover message.

139
06:48.000 --> 06:52.000
Now one of the mysteries of the DHCP relay is that what if this server up here

140
06:52.000 --> 06:56.330
has multiple scopes or pools of addresses that it can use to hand out IP

141
06:56.330 --> 06:57.000
addresses.

142
06:57.000 --> 06:59.870
For example, let's imagine that this DHCP server has a pool of addresses

143
06:59.870 --> 07:03.000
appropriate for this subnet right here, the 10100 network.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

143
06:59.870 --> 07:03.000
appropriate for this subnet right here, the 10100 network.

144
07:03.000 --> 07:08.450
So it may have a pool of addresses that will say it's 10.10.0.151 through and

145
07:08.450 --> 07:10.000
let's go ahead and go through 250.

146
07:10.000 --> 07:14.450
And let's imagine it has yet another pool of IP addresses configured and that

147
07:14.450 --> 07:19.000
would be over here for the 1020 subnet and that's 10.20.0.0.

148
07:19.000 --> 07:23.000
Let's go ahead and use the range 151 through 250.

149
07:23.000 --> 07:27.000
And that's also because we're talking about the subnet here, the 1030 subnet.

150
07:27.000 --> 07:31.480
Let's imagine the same DHCP server has another pool of addresses in the range
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

150
07:27.000 --> 07:31.480
Let's imagine the same DHCP server has another pool of addresses in the range

151
07:31.480 --> 07:36.000
of 10.30.0.151 all the way through 250.

152
07:36.000 --> 07:41.350
Now this router on this interface right here, it has the IP address of 10.30.0.

153
07:41.350 --> 07:43.000
1 based on our plan here.

154
07:43.000 --> 07:48.090
So when that DHCP discover message is seen and DHCP relay is enabled right here

155
07:48.090 --> 07:52.290
, as part of the encapsulation and shipping that up to the unicast address, the

156
07:52.290 --> 07:56.000
single IP address of the DHCP server, it's going to include information

157
07:56.000 --> 07:59.000
regarding which subnet this discover came from,

158
07:59.000 --> 08:03.720
including sourcing the packet from that IP address on this interface right here
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

158
07:59.000 --> 08:03.720
including sourcing the packet from that IP address on this interface right here

159
08:03.720 --> 08:04.000
.

160
08:04.000 --> 08:06.880
And that way when the DHCP server receives it says, "Oh, I see this is coming

161
08:06.880 --> 08:09.000
from the source address in the 1030 subnet."

162
08:09.000 --> 08:13.280
And based on that and also some of our details inside of the DHCP request, the

163
08:13.280 --> 08:15.000
DHCP server can say, "Oh, you know what?

164
08:15.000 --> 08:18.250
I need to go ahead and hand that IP address from this pool of addresses of the

165
08:18.250 --> 08:22.000
1030 range because that's appropriate for this network down here."

166
08:22.000 --> 08:25.790
At which point the DHCP server would make that offer, it would unicast it down

167
08:25.790 --> 08:29.330
to that IP address and then the relay agent would forward that back out to the

168
08:29.330 --> 08:30.000
client.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

169
08:30.000 --> 08:34.000
So all the client knows is that it made a discover message and it got an offer.

170
08:34.000 --> 08:36.000
So that's the offer coming back.

171
08:36.000 --> 08:39.220
And if the client wants to accept that offer, it would go ahead and do the R

172
08:39.220 --> 08:41.000
for the request and that would go into the network.

173
08:41.000 --> 08:44.490
The relay would take it and capsulate that request, forward it to the DHCP

174
08:44.490 --> 08:48.000
server, who then followed up with a final acknowledgement.

175
08:48.000 --> 08:51.660
So there's an A there for acknowledgement that would be unicast back to the IP

176
08:51.660 --> 08:54.950
address of the DHCP relay and then the relay agent would continue forwarding

177
08:54.950 --> 08:56.000
that back to the client.

178
08:56.000 --> 08:59.690
So with the relay agent, we're still going through the discover offer request

179
08:59.690 --> 09:03.250
acknowledgement process, but we have the relay agent in the middle of that
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

179
08:59.690 --> 09:03.250
acknowledgement process, but we have the relay agent in the middle of that

180
09:03.250 --> 09:04.000
conversation,

181
09:04.000 --> 09:08.150
acting as the middleman between the DHCP server, which can be centralized

182
09:08.150 --> 09:11.980
somewhere, reachable on our networks, and the local network segment where the

183
09:11.980 --> 09:13.000
DHCP clients are.

184
09:13.000 --> 09:17.750
Now DHCP is not the perfect solution for every type of device. So if we have

185
09:17.750 --> 09:22.010
things like routers and servers, we probably want to have a specific IP address

186
09:22.010 --> 09:23.000
on those devices.

187
09:23.000 --> 09:26.550
And very likely we're going to configure that IP address, whatever we want them

188
09:26.550 --> 09:29.000
to use directly on those respective interfaces.

189
09:29.000 --> 09:33.010
So for things like servers and routers and other devices that you want to know
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

189
09:29.000 --> 09:33.010
So for things like servers and routers and other devices that you want to know

190
09:33.010 --> 09:36.760
exactly where they're going to be, for example, maybe a printer, we can go

191
09:36.760 --> 09:41.000
ahead and do static or manual configuration for those IP addresses.

192
09:41.000 --> 09:43.780
And then for most of our clients, we're going to go ahead and use DHCP services

193
09:43.780 --> 09:44.000
.

194
09:44.000 --> 09:47.270
And if we happen to have local DHCP servers connected to those subnets,

195
09:47.270 --> 09:48.000
fantastic.

196
09:48.000 --> 09:51.570
If not, we can enable DHCP relay services on the router interfaces that are

197
09:51.570 --> 09:55.000
connected to those subnets where we are going to have DHCP clients.

198
09:55.000 --> 09:57.000
Now there is one other option that's kind of cool.

199
09:57.000 --> 10:01.610
And that is what if we want to use DHCP services, but we want to specifically
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

199
09:57.000 --> 10:01.610
And that is what if we want to use DHCP services, but we want to specifically

200
10:01.610 --> 10:05.000
hand out a specific IP address to a certain device.

201
10:05.000 --> 10:09.010
Well, every device on our network has a layer two MAC address, and so we can

202
10:09.010 --> 10:11.000
create what's known as a reservation.

203
10:11.000 --> 10:15.000
And in the world of NSX, that's referred to as a static binding.

204
10:15.000 --> 10:17.920
Let's imagine we have this device right here, this client with a MAC address

205
10:17.920 --> 10:21.360
thing in 1234, we can create a reservation that says, you know what, for that

206
10:21.360 --> 10:24.000
MAC address, ending in 1234.

207
10:24.000 --> 10:29.000
I want to assign the IP address on this network, 10.30.0.

208
10:29.000 --> 10:32.000
Let's go ahead and use 95.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

208
10:29.000 --> 10:32.000
Let's go ahead and use 95.

209
10:32.000 --> 10:35.950
So if we specified that we want to reserve this IP address for that specific

210
10:35.950 --> 10:40.010
layer two address, when this device makes a discover message, part of that

211
10:40.010 --> 10:42.000
discover is going to include its layer two address.

212
10:42.000 --> 10:45.820
And so if the DHCP server is local, it can see that directly, and if the DHCP

213
10:45.820 --> 10:50.000
server is remote, the relay agent will encapsulate all that information,

214
10:50.000 --> 10:53.450
including the client's layer two address, wrap it all up and unicast it as a

215
10:53.450 --> 10:56.000
discover up to the DHCP server.

216
10:56.000 --> 10:59.240
At which point the DHCP server, if we have the static binding, this reservation

217
10:59.240 --> 11:02.390
in place, they'll say, oh, you know what, I've got the perfect IP address for
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

217
10:59.240 --> 11:02.390
in place, they'll say, oh, you know what, I've got the perfect IP address for

218
11:02.390 --> 11:03.000
you.

219
11:03.000 --> 11:06.110
I'm going to hand you this specific IP address right here, based on your layer

220
11:06.110 --> 11:09.000
two MAC address that's included as part of the discover message.

221
11:09.000 --> 11:14.100
So using the technique of static bindings, we could specifically pre plan for a

222
11:14.100 --> 11:18.000
certain IP address being associated with a specific client.

223
11:18.000 --> 11:21.340
But most of the time for most of these clients, it's just a look at the draw,

224
11:21.340 --> 11:24.680
we have a pool of addresses, the DHCP server makes an offer from one of those

225
11:24.680 --> 11:28.990
addresses in the pool, the client says, I'll take it, and the server follows up

226
11:28.990 --> 11:31.000
with the acknowledgement saying, yep, I know you got it, have a good day.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

226
11:28.990 --> 11:31.000
with the acknowledgement saying, yep, I know you got it, have a good day.

227
11:31.000 --> 11:33.000
So let me clean this up a little bit.

228
11:33.000 --> 11:37.450
Now that we've taken a look at some basic concepts regarding DHCP and DHCP

229
11:37.450 --> 11:42.040
relay, and let's talk about a few options that we have in the world of NSX

230
11:42.040 --> 11:44.000
related to DHCP services.

231
11:44.000 --> 11:47.000
And let's start off with a network segment right here.

232
11:47.000 --> 11:52.270
And let's imagine we want to use on this network segment 10.30.0.0 with a 24

233
11:52.270 --> 11:53.000
bit mask.

234
11:53.000 --> 11:56.000
Let's also imagine that we want to use this network address space.

235
11:56.000 --> 11:58.000
We want to use it for some testing of some servers.

236
11:58.000 --> 12:01.000
So there's server one and there's server two.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

236
11:58.000 --> 12:01.000
So there's server one and there's server two.

237
12:01.000 --> 12:04.300
Maybe this is an application server, maybe this is a database server, and the

238
12:04.300 --> 12:05.000
list can go on.

239
12:05.000 --> 12:08.710
Let's also imagine we have some clients, so I'll put a few clients here as well

240
12:08.710 --> 12:09.000
.

241
12:09.000 --> 12:12.120
And so on our servers is very likely we want to statically configure those, and

242
12:12.120 --> 12:15.000
then for the clients very likely we're going to use DHCP services.

243
12:15.000 --> 12:18.800
So if we have just an overlay segment like this one right here and we're using

244
12:18.800 --> 12:23.490
the 10.30.0 address space and we're not connecting it to any of our gateways in

245
12:23.490 --> 12:24.000
NSX.

246
12:24.000 --> 12:28.960
One of our options is to enable DHCP services for a segment, which is not

247
12:28.960 --> 12:31.000
connected to a router.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

247
12:28.960 --> 12:31.000
connected to a router.

248
12:31.000 --> 12:35.000
And that's referred to as a segment DHCP server.

249
12:35.000 --> 12:39.150
So what we would do is simply say, you know what, I want to enable a segment

250
12:39.150 --> 12:41.000
DHCP server to support this subnet.

251
12:41.000 --> 12:46.400
So as part of setting up a segment DHCP server with no logical routers attached

252
12:46.400 --> 12:49.000
to it, we would create a DHCP profile.

253
12:49.000 --> 12:53.450
In that profile, we'd specify an IP address of a DHCP server that we want to

254
12:53.450 --> 12:54.000
use.

255
12:54.000 --> 12:57.900
And again, it's all virtualized, so we can specify something like six dot seven

256
12:57.900 --> 13:00.000
dot eight dot three with a 29 bit mask.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

257
13:00.000 --> 13:04.310
So I want to use a kind of a crazy number there because you don't have to use a

258
13:04.310 --> 13:09.790
real reachable IP address for a real DHCP server because that DHCP server is

259
13:09.790 --> 13:11.000
going to be virtualized.

260
13:11.000 --> 13:12.000
So we set up a profile.

261
13:12.000 --> 13:15.000
We specify an IP address we want to use that represents the server.

262
13:15.000 --> 13:18.350
So with that profile on place, we then go to the segment and we associate this

263
13:18.350 --> 13:19.000
segment.

264
13:19.000 --> 13:20.000
Let's call this segment 30.

265
13:20.000 --> 13:21.000
So I'll have label here.

266
13:21.000 --> 13:24.860
So if this is segment 30 as part of the configuration of segment 30, there's an

267
13:24.860 --> 13:27.000
option to say set up DHCP services.

268
13:27.000 --> 13:30.000
And so we would say, you know what, we want to use DHCP services.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

269
13:30.000 --> 13:34.260
We'll use this profile, which represents this logical DHCP server at six seven

270
13:34.260 --> 13:35.000
eight three.

271
13:35.000 --> 13:38.370
And then as part of the configuration for the segment, we'd also specify the

272
13:38.370 --> 13:39.000
details.

273
13:39.000 --> 13:43.330
So we say, I want to use the range of addresses 10 dot 30 dot zero dot, let's

274
13:43.330 --> 13:46.000
use 151 all the way through 200.

275
13:46.000 --> 13:50.000
And if we need more addresses, we simply define a larger pool.

276
13:50.000 --> 13:53.000
And as part of the configuration, we could also specify default gateway.

277
13:53.000 --> 13:56.000
But if we don't have a default gateway, we don't want to default gateway.

278
13:56.000 --> 13:59.000
We just want DHCP services for this one logical segment.

279
13:59.000 --> 14:02.290
And in addition to the range of addresses, we want to hand out for DHCP
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

279
13:59.000 --> 14:02.290
And in addition to the range of addresses, we want to hand out for DHCP

280
14:02.290 --> 14:03.000
services.

281
14:03.000 --> 14:07.410
We'll also hand out a logical IP address on that subnet that the clients will

282
14:07.410 --> 14:10.000
believe is the DHCP server.

283
14:10.000 --> 14:14.330
So we could say, you know what, the DHCP server address is going to be 10 dot

284
14:14.330 --> 14:17.000
30 dot zero dot two, for example,

285
14:17.000 --> 14:20.340
because from a client's perspective, when they go about doing things like renew

286
14:20.340 --> 14:22.000
ing their IP address and so forth,

287
14:22.000 --> 14:25.000
they're going to want to communicate directly with their DHCP server.

288
14:25.000 --> 14:28.150
So we're also going to give an IP address that they can play with to support

289
14:28.150 --> 14:29.000
that function.

290
14:29.000 --> 14:33.440
Now, if we don't want NSX to provide the DHCP services directly, we want to use
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

290
14:29.000 --> 14:33.440
Now, if we don't want NSX to provide the DHCP services directly, we want to use

291
14:33.440 --> 14:34.000
, for example,

292
14:34.000 --> 14:37.000
maybe our own DHCP server that we already have in place.

293
14:37.000 --> 14:41.480
Let's go ahead and put this guy at, for example, dot two on the 23 dot one dot

294
14:41.480 --> 14:42.000
two network.

295
14:42.000 --> 14:46.440
And let's imagine that DHCP server has a pool of addresses for the 10 10

296
14:46.440 --> 14:47.000
network.

297
14:47.000 --> 14:51.360
I'll go ahead and label that 10 10 and we have a pool of addresses for 10 dot

298
14:51.360 --> 14:52.000
20.

299
14:52.000 --> 14:55.900
We could then go to these segments and we can enable effectively the DHCP relay

300
14:55.900 --> 14:57.000
services right here.

301
14:57.000 --> 15:01.000
And that would support any DHCP clients here on segment 10.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

301
14:57.000 --> 15:01.000
And that would support any DHCP clients here on segment 10.

302
15:01.000 --> 15:05.610
We could also enable DHCP relay for segment 20 to support all the clients over

303
15:05.610 --> 15:07.000
here on the 10 20 network.

304
15:07.000 --> 15:11.000
So each of these gateways would logically on these interfaces connected to the

305
15:11.000 --> 15:13.000
10 10 and 10 20 networks respectively,

306
15:13.000 --> 15:17.430
would see those discover messages encapsulate them and then route them to the

307
15:17.430 --> 15:19.000
IP address of our DHCP server.

308
15:19.000 --> 15:22.000
And they would source them from the address base here.

309
15:22.000 --> 15:26.640
If this is dot one and this is dot two, the source IP address for those encaps

310
15:26.640 --> 15:30.000
ulated and now shipped over to the DHCP server unit cast packets.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

311
15:30.000 --> 15:34.130
The source address is going to be the interface address connected to the local

312
15:34.130 --> 15:36.000
network where the clients are.

313
15:36.000 --> 15:40.540
And then with this DHCP server receives those DHCP discover messages, it can go

314
15:40.540 --> 15:44.870
ahead and make offers from the appropriate pools based on where that relay

315
15:44.870 --> 15:46.000
agent sent it from.

316
15:46.000 --> 15:49.500
So over here, hopefully we have an IP address in a pool from 10 10 that it can

317
15:49.500 --> 15:51.000
serve down to clients over here.

318
15:51.000 --> 15:54.750
And over here, hopefully we have an IP address or two available in our pool in

319
15:54.750 --> 15:58.000
the 10 20 subnet, which the server could make an offer for over here.

320
15:58.000 --> 16:01.770
And these gateways are then acting as the middleman, the DHCP relay agents
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

320
15:58.000 --> 16:01.770
And these gateways are then acting as the middleman, the DHCP relay agents

321
16:01.770 --> 16:05.560
between the real DHCP server up here and our clients on these respective sub

322
16:05.560 --> 16:06.000
nets.

323
16:06.000 --> 16:10.000
So that is yet another option we have to set up a DHCP relay.

324
16:10.000 --> 16:14.000
And our third option we have is setting up gateway DHCP services.

325
16:14.000 --> 16:17.660
And the reason we didn't use gateway DHCP services down here is because this

326
16:17.660 --> 16:20.000
segment segment 30, we didn't have a gateway.

327
16:20.000 --> 16:24.390
We didn't have a logical layer three router connected from an NSX perspective

328
16:24.390 --> 16:26.000
to this network segment.

329
16:26.000 --> 16:29.310
So as a result, if you don't have a gateway connected, our only option here for

330
16:29.310 --> 16:34.290
DHCP services would be either through NSX providing segment DHCP server right
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

330
16:29.310 --> 16:34.290
DHCP services would be either through NSX providing segment DHCP server right

331
16:34.290 --> 16:38.140
here, or if we had a VM right here, for example, connected to that segment,

332
16:38.140 --> 16:40.000
which could act as a local DHCP server.

333
16:40.000 --> 16:43.560
However, if we've got our segments like segment 10 and segment 20, we're

334
16:43.560 --> 16:46.930
already connected to those segments with our gateways, we can simply enable

335
16:46.930 --> 16:48.000
gateway DHCP services.

336
16:48.000 --> 16:54.050
And behind the scenes, we'll reference a profile that points to a virtual DHCP

337
16:54.050 --> 16:56.000
server inside of NSX.

338
16:56.000 --> 16:58.000
We can use the same IP address as we had up here.

339
16:58.000 --> 17:02.500
And then as we configure the details for the gateway based DHCP services, for
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

339
16:58.000 --> 17:02.500
And then as we configure the details for the gateway based DHCP services, for

340
17:02.500 --> 17:08.720
segment 10, we can say we want to use, let's say, 10.10.0.151 all the way

341
17:08.720 --> 17:10.000
through 200.

342
17:10.000 --> 17:16.070
And then over here for segment 20, we can use 10.20.0.151 all the way through

343
17:16.070 --> 17:17.000
200.

344
17:17.000 --> 17:20.840
And then for the default gateway, we specify whatever the IP addresses by that

345
17:20.840 --> 17:22.000
logical router interface.

346
17:22.000 --> 17:28.000
So on segment 10, it'd be 10.10.01 and over here on segment 20, it'd be 10.10.0

347
17:28.000 --> 17:28.000
.

348
17:28.000 --> 17:29.000
I put a do there.

349
17:29.000 --> 17:32.320
We were just talking, you know, creatively, but in our existing topology, that
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

349
17:29.000 --> 17:32.320
We were just talking, you know, creatively, but in our existing topology, that

350
17:32.320 --> 17:35.000
isn't a two on this logical gateway B.

351
17:35.000 --> 17:38.000
It is a dot one on the 10.20.0 network.

352
17:38.000 --> 17:41.000
So let me update my notes here as well. And we'll put a dot one there.

353
17:41.000 --> 17:44.620
So as part of our options as part of DHCP that we're going to hand out for

354
17:44.620 --> 17:49.660
clients on segment 20, we'd hand out the default gateway information of 10.20.0

355
17:49.660 --> 17:50.000
.1.

356
17:50.000 --> 17:54.000
We'd hand out whatever IP address we want them to use for DNS resolution.

357
17:54.000 --> 17:57.700
And it could be, for example, a DNS server out here on the internet or a DNS

358
17:57.700 --> 18:00.000
server that we have here in our enterprise.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

359
18:00.000 --> 18:02.950
And so one of the questions that might be asked is, okay, why would we ever use

360
18:02.950 --> 18:07.000
a segment DHCP server to support, for example, any of our segments versus a

361
18:07.000 --> 18:07.000
gateway DHCP server?

362
18:07.000 --> 18:11.010
A gateway DHCP server. And the answer is, if you've got a gateway connected to

363
18:11.010 --> 18:15.780
your networks, you're probably always going to use a gateway based DHCP service

364
18:15.780 --> 18:16.000
.

365
18:16.000 --> 18:20.050
And in the off chance that you've got some segment with no logical router

366
18:20.050 --> 18:22.000
configured to it whatsoever.

367
18:22.000 --> 18:25.900
In those situations, the only option you have from an NSX perspective to

368
18:25.900 --> 18:29.000
provide DHCP services is a segment based DHCP server.

369
18:29.000 --> 18:33.000
And the great news is this. We are going to have a chance in this set of videos
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

369
18:29.000 --> 18:33.000
And the great news is this. We are going to have a chance in this set of videos

370
18:33.000 --> 18:36.000
and in the skill to configure and demonstrate each of the devices.

371
18:36.000 --> 18:41.770
Now, to make it as successful as possible, what we ought to do also is we ought

372
18:41.770 --> 18:44.000
to put a game plan together.

373
18:44.000 --> 18:47.510
So in the next video, let's put a specific game plan together for how we're

374
18:47.510 --> 18:50.000
going to implement DHCP relay inside our topology.

375
18:50.000 --> 18:53.380
And then after we verify that, we'll then move on to segment based DHCP

376
18:53.380 --> 18:57.000
services to support a segment where there is no layer three gateway.

377
18:57.000 --> 19:01.610
And then last but certainly not least, we'll also walk through setting up
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

377
18:57.000 --> 19:01.610
And then last but certainly not least, we'll also walk through setting up

378
19:01.610 --> 19:05.720
gateway based DHCP services to hand out IP addresses to segments where they

379
19:05.720 --> 19:07.000
have a directly connected gateway.

380
19:07.000 --> 19:11.000
So I'll see you in the next video as we put that game plan together.

381
19:11.000 --> 19:15.000
together.
