1
1

00:00:00,670  -->  00:00:03,030
<v ->Assigning IP addresses.</v>
2

2

00:00:03,030  -->  00:00:04,560
Now when we have our networks
3

3

00:00:04,560  -->  00:00:07,290
and they rely on IP addresses like IPv4,
4

4

00:00:07,290  -->  00:00:08,480
how do we tell our devices
5

5

00:00:08,480  -->  00:00:10,620
what addresses they're going to have?
6

6

00:00:10,620  -->  00:00:13,110
Well, there are really two different methods we can use.
7

7

00:00:13,110  -->  00:00:15,720
One is to manually or statically assign them,
8

8

00:00:15,720  -->  00:00:18,050
and the other is to dynamically assign them.
9

9

00:00:18,050  -->  00:00:19,690
Now, when I use a static assignment,
10

10

00:00:19,690  -->  00:00:21,570
this is a really simple process.
11

11

00:00:21,570  -->  00:00:22,440
As a technician,
12

12

00:00:22,440  -->  00:00:25,250
I manually will type in the IP address for the host,
13

13

00:00:25,250  -->  00:00:27,130
its subnet mask, its default gateway
14

14

00:00:27,130  -->  00:00:28,690
and its DNS server.
15

15

00:00:28,690  -->  00:00:31,680
But this can be time consuming and prone to error.
16

16

00:00:31,680  -->  00:00:34,680
For example, let's say I have 20 devices on the network.
17

17

00:00:34,680  -->  00:00:35,590
Now I'm going to have to go
18

18

00:00:35,590  -->  00:00:37,730
and assign those four pieces of information
19

19

00:00:37,730  -->  00:00:40,160
20 different times, once for each device,
20

20

00:00:40,160  -->  00:00:42,590
that's 80 places I have to enter information.
21

21

00:00:42,590  -->  00:00:45,400
This means there's a lot of chance for human error here,
22

22

00:00:45,400  -->  00:00:47,930
because these numbers are very easy to mistype,
23

23

00:00:47,930  -->  00:00:49,370
and if you mistype one,
24

24

00:00:49,370  -->  00:00:51,080
you're going to be assigning the wrong information
25

25

00:00:51,080  -->  00:00:52,400
to the wrong devices.
26

26

00:00:52,400  -->  00:00:55,970
Or you might have the same information on multiple devices.
27

27

00:00:55,970  -->  00:00:57,460
And this will also cause problems
28

28

00:00:57,460  -->  00:00:59,610
or conflicts between two devices.
29

29

00:00:59,610  -->  00:01:02,770
So as you start to work on large enterprise networks,
30

30

00:01:02,770  -->  00:01:05,400
it becomes very impractical to do static assignment
31

31

00:01:05,400  -->  00:01:08,070
of the IP addresses for all your devices.
32

32

00:01:08,070  -->  00:01:10,010
Some of our networks in the past that I've run
33

33

00:01:10,010  -->  00:01:12,550
have been 500 clients, 1,000 clients,
34

34

00:01:12,550  -->  00:01:14,487
5,000 clients, 10,000 clients,
35

35

00:01:14,487  -->  00:01:18,450
100,000 clients, or even 1 million client computers
36

36

00:01:18,450  -->  00:01:20,210
in a large-scale intranet.
37

37

00:01:20,210  -->  00:01:22,360
So for us to assign those all statically
38

38

00:01:22,360  -->  00:01:24,670
and keep track of all of those different IP addresses,
39

39

00:01:24,670  -->  00:01:26,330
would become a full-time job
40

40

00:01:26,330  -->  00:01:27,710
for a large team of people
41

41

00:01:27,710  -->  00:01:29,180
located at all over the world
42

42

00:01:29,180  -->  00:01:31,970
because that large intranet spans six continents.
43

43

00:01:31,970  -->  00:01:33,810
That would be a waste of a lot of time,
44

44

00:01:33,810  -->  00:01:36,240
money, labor, and resources.
45

45

00:01:36,240  -->  00:01:39,020
So instead we, simplify this process
46

46

00:01:39,020  -->  00:01:41,830
by using dynamic allocation of IP addresses.
47

47

00:01:41,830  -->  00:01:44,070
This is known as a dynamic assignment.
48

48

00:01:44,070  -->  00:01:45,940
By doing this, we have a quicker,
49

49

00:01:45,940  -->  00:01:49,070
easier and less confusing method of assigning our IPs
50

50

00:01:49,070  -->  00:01:51,960
to all of our network clients when they join the network.
51

51

00:01:51,960  -->  00:01:53,770
Now for larger small networks,
52

52

00:01:53,770  -->  00:01:55,130
using dynamic IP addressing
53

53

00:01:55,130  -->  00:01:57,580
is usually going to be your best option.
54

54

00:01:57,580  -->  00:01:59,570
In your home, whether or not you know it,
55

55

00:01:59,570  -->  00:02:02,320
you're already probably using dynamic IP addressing.
56

56

00:02:02,320  -->  00:02:04,320
When you bought a new smartphone or tablet
57

57

00:02:04,320  -->  00:02:05,710
or laptop or desktop,
58

58

00:02:05,710  -->  00:02:07,710
you took it out of the box, you powered it on,
59

59

00:02:07,710  -->  00:02:09,400
and then you joined your wireless network,
60

60

00:02:09,400  -->  00:02:11,960
and you were able to go online and browse the web, right?
61

61

00:02:11,960  -->  00:02:14,330
You didn't have to do any kind of crazy configurations.
62

62

00:02:14,330  -->  00:02:15,330
Well, in this case,
63

63

00:02:15,330  -->  00:02:17,880
you didn't assign your new device an IP address,
64

64

00:02:17,880  -->  00:02:19,600
a subnet mask, a default gateway,
65

65

00:02:19,600  -->  00:02:21,320
or a DNS server to use.
66

66

00:02:21,320  -->  00:02:23,440
Instead, your network's DHCP server
67

67

00:02:23,440  -->  00:02:25,180
did all that for you automatically,
68

68

00:02:25,180  -->  00:02:27,240
without you even having to ask it to.
69

69

00:02:27,240  -->  00:02:28,760
This is because most small office
70

70

00:02:28,760  -->  00:02:31,360
and home office network devices like your cable modem,
71

71

00:02:31,360  -->  00:02:33,490
fiber modem, or wireless access point
72

72

00:02:33,490  -->  00:02:35,970
already have a running DHCP server there for you
73

73

00:02:35,970  -->  00:02:37,750
and it's turned on by default.
74

74

00:02:37,750  -->  00:02:39,810
You just tell the device what network to join
75

75

00:02:39,810  -->  00:02:41,380
and your router will use DHCP
76

76

00:02:41,380  -->  00:02:43,160
to hand out a dynamic IP address
77

77

00:02:43,160  -->  00:02:45,520
for your network client to be able to utilize.
78

78

00:02:45,520  -->  00:02:47,370
So what are those four components
79

79

00:02:47,370  -->  00:02:48,960
of a fully configured client?
80

80

00:02:48,960  -->  00:02:50,570
Well, I've said it a couple of times,
81

81

00:02:50,570  -->  00:02:52,630
and whether you're using static or dynamic assignment,
82

82

00:02:52,630  -->  00:02:55,400
you still need to use the same four components.
83

83

00:02:55,400  -->  00:02:56,950
This is an IP address,
84

84

00:02:56,950  -->  00:02:59,150
a subnet mask, a default gateway,
85

85

00:02:59,150  -->  00:03:01,010
which is usually just the IP of your router,
86

86

00:03:01,010  -->  00:03:03,860
and a server for either DNS or WINS.
87

87

00:03:03,860  -->  00:03:06,540
Now, DNS is the domain name system.
88

88

00:03:06,540  -->  00:03:08,710
DNS is going to be used to convert domain names
89

89

00:03:08,710  -->  00:03:11,680
used by a website to the IP address of it's server
90

90

00:03:11,680  -->  00:03:13,510
so that your computer can connect to it.
91

91

00:03:13,510  -->  00:03:15,980
Now we're going to cover DNS more in its own video,
92

92

00:03:15,980  -->  00:03:17,750
because there's a lot you need to know about it.
93

93

00:03:17,750  -->  00:03:18,730
But for right now,
94

94

00:03:18,730  -->  00:03:20,800
just realize the DNS is essentially
95

95

00:03:20,800  -->  00:03:22,580
the internet's version of a phone book,
96

96

00:03:22,580  -->  00:03:23,590
where we can look up a name
97

97

00:03:23,590  -->  00:03:25,840
and get a number to connect directly to.
98

98

00:03:25,840  -->  00:03:27,740
Now names to numbers and numbers to names,
99

99

00:03:27,740  -->  00:03:29,740
that's what DNS is all about.
100

100

00:03:29,740  -->  00:03:32,470
For example, when you went to diontraining.com,
101

101

00:03:32,470  -->  00:03:34,610
you're going to be using DNS in the background
102

102

00:03:34,610  -->  00:03:37,220
to determine what the IP address is of my server,
103

103

00:03:37,220  -->  00:03:38,150
so you can connect to it
104

104

00:03:38,150  -->  00:03:40,300
and access our web pages or our videos.
105

105

00:03:40,300  -->  00:03:42,100
That is DNS at work.
106

106

00:03:42,100  -->  00:03:43,700
Now WINS, on the other hand,
107

107

00:03:43,700  -->  00:03:46,930
W-I-N-S, is used within a local area network,
108

108

00:03:46,930  -->  00:03:49,760
specifically WINS is used in Windows domains,
109

109

00:03:49,760  -->  00:03:52,640
and it is known as the Windows Internet Name Service.
110

110

00:03:52,640  -->  00:03:54,240
It's used to enable Windows
111

111

00:03:54,240  -->  00:03:57,600
to identify NetBIOS names on a TCP/IP network
112

112

00:03:57,600  -->  00:04:00,630
and convert those NetBIOS names to IP addresses.
113

113

00:04:00,630  -->  00:04:02,750
Basically, WINS is like DNS,
114

114

00:04:02,750  -->  00:04:05,830
but it only works within a Windows domain environment.
115

115

00:04:05,830  -->  00:04:07,740
So if I wanted to connect to my mail server
116

116

00:04:07,740  -->  00:04:09,200
inside a Windows domain,
117

117

00:04:09,200  -->  00:04:11,540
I could type in its IP address, if I knew it,
118

118

00:04:11,540  -->  00:04:13,810
or I could simply type in the name of the server,
119

119

00:04:13,810  -->  00:04:15,080
something like mailbox
120

120

00:04:15,080  -->  00:04:16,690
or whatever I have named it.
121

121

00:04:16,690  -->  00:04:18,770
Now, when it comes time to do the dynamic assignment
122

122

00:04:18,770  -->  00:04:21,550
of the critical addressing information for each client,
123

123

00:04:21,550  -->  00:04:24,030
we can use four different methods to do this.
124

124

00:04:24,030  -->  00:04:27,303
This includes BOOTP, DHCP, APIPA, and ZeroConf.
125

125

00:04:28,460  -->  00:04:30,260
BOOTP is by far the oldest
126

126

00:04:30,260  -->  00:04:32,670
and least used of these four options.
127

127

00:04:32,670  -->  00:04:34,500
BOOTP or the Bootstrap Protocol
128

128

00:04:34,500  -->  00:04:36,820
was originally introduced in 1985
129

129

00:04:36,820  -->  00:04:39,240
for use in disclosed Unix workstations,
130

130

00:04:39,240  -->  00:04:40,620
because it could dynamically assign
131

131

00:04:40,620  -->  00:04:41,880
the IP address information
132

132

00:04:41,880  -->  00:04:43,070
and then allow the workstation
133

133

00:04:43,070  -->  00:04:45,910
to load a copy of their boot image over the network.
134

134

00:04:45,910  -->  00:04:49,510
Now, BOOTP used a static database of IPs and Mac addresses.
135

135

00:04:49,510  -->  00:04:51,810
So essentially whenever a client connected to the network
136

136

00:04:51,810  -->  00:04:53,600
to initiate the BOOTP process,
137

137

00:04:53,600  -->  00:04:56,080
it would find its Mac address inside its database,
138

138

00:04:56,080  -->  00:04:58,270
and then send the proper IP address that matched it
139

139

00:04:58,270  -->  00:05:01,020
back to the requesting client as its assignment.
140

140

00:05:01,020  -->  00:05:02,990
This wasn't as dynamic as we would like.
141

141

00:05:02,990  -->  00:05:06,980
So in 1993, a newer updated protocol known as DHCP
142

142

00:05:06,980  -->  00:05:09,450
was introduced to replace BOOTP.
143

143

00:05:09,450  -->  00:05:12,940
Now DHCP, or the Dynamic Host Configuration Protocol
144

144

00:05:12,940  -->  00:05:14,960
is going to allow the assignment of an IP
145

145

00:05:14,960  -->  00:05:17,940
based on an assigned scope or pool of addresses,
146

146

00:05:17,940  -->  00:05:19,410
as well as it provides the ability
147

147

00:05:19,410  -->  00:05:21,950
for us to configure numerous other options within it.
148

148

00:05:21,950  -->  00:05:24,550
Now, since DHCP allows me to configure my scope,
149

149

00:05:24,550  -->  00:05:26,877
I can actually tell my DHCP server something like,
150

150

00:05:26,877  -->  00:05:29,430
"Hey, I only want you to hand out addresses
151

151

00:05:29,430  -->  00:05:32,750
that are from 192.168.1.100
152

152

00:05:32,750  -->  00:05:36,170
up through 192.168.1.200."
153

153

00:05:36,170  -->  00:05:38,230
And this gives you about 100 clients
154

154

00:05:38,230  -->  00:05:40,260
that can now be automatically assigned.
155

155

00:05:40,260  -->  00:05:42,020
Every time somebody connects to the network,
156

156

00:05:42,020  -->  00:05:45,140
the DHCP is going to send out one of those IPs from that range
157

157

00:05:45,140  -->  00:05:46,950
and assign it for a given period of time
158

158

00:05:46,950  -->  00:05:49,070
known as a lease to a client.
159

159

00:05:49,070  -->  00:05:51,440
Now, each IP can be borrowed for a certain amount of time
160

160

00:05:51,440  -->  00:05:53,880
from this pool, and when that lease expires,
161

161

00:05:53,880  -->  00:05:56,690
the DHCP server is going to pull back that address.
162

162

00:05:56,690  -->  00:05:59,230
Now this doesn't actually cause a problem for us,
163

163

00:05:59,230  -->  00:06:01,217
because your computer at any time can say,
164

164

00:06:01,217  -->  00:06:03,050
"Hey, I'm still using that address.
165

165

00:06:03,050  -->  00:06:04,140
You can't take it."
166

166

00:06:04,140  -->  00:06:06,277
And in that case, the DHCP server would say,
167

167

00:06:06,277  -->  00:06:08,120
"Oh, okay, you can keep it."
168

168

00:06:08,120  -->  00:06:11,590
And reassigns it for another period by renewing its lease.
169

169

00:06:11,590  -->  00:06:13,407
It's just like if you get a book from the library.
170

170

00:06:13,407  -->  00:06:14,980
Say you were halfway through reading it,
171

171

00:06:14,980  -->  00:06:16,290
and it's going to be due tomorrow,
172

172

00:06:16,290  -->  00:06:18,810
you can take it back to the library and recheck it out.
173

173

00:06:18,810  -->  00:06:22,210
It's the same concept with DHCP and dynamic addresses.
174

174

00:06:22,210  -->  00:06:23,910
Now when the lease does expire
175

175

00:06:23,910  -->  00:06:25,620
and it's no longer needed by the client,
176

176

00:06:25,620  -->  00:06:28,230
it's going to be returned back to the scope or that pool,
177

177

00:06:28,230  -->  00:06:30,430
and be ready to be issued to another client.
178

178

00:06:30,430  -->  00:06:32,800
Essentially, each client can borrow that IP
179

179

00:06:32,800  -->  00:06:33,850
during its assignment
180

180

00:06:33,850  -->  00:06:36,050
and then return it whenever it's done with it.
181

181

00:06:36,050  -->  00:06:37,320
Now this IP management
182

182

00:06:37,320  -->  00:06:40,550
is going to be performed by the DHCP server on our behalf.
183

183

00:06:40,550  -->  00:06:42,410
And it's going to use to manage all of these IPs
184

184

00:06:42,410  -->  00:06:44,620
that are being assigned and returned over time.
185

185

00:06:44,620  -->  00:06:46,900
This is great because we don't have to control it ourselves
186

186

00:06:46,900  -->  00:06:48,800
or keep track of it all manually.
187

187

00:06:48,800  -->  00:06:52,170
Instead, we have the ability to go into it at any time
188

188

00:06:52,170  -->  00:06:53,167
and look at the logs and say,
189

189

00:06:53,167  -->  00:06:58,050
"Hey, who was using the IP 192.168.1.132
190

190

00:06:58,050  -->  00:07:00,030
on September 9th at 3:00 PM?"
191

191

00:07:00,030  -->  00:07:01,330
And then we can figure it out
192

192

00:07:01,330  -->  00:07:04,680
using DHCP's IP address management and their logs.
193

193

00:07:04,680  -->  00:07:06,740
And so this gives us all the benefits of figuring out
194

194

00:07:06,740  -->  00:07:07,670
who did what,
195

195

00:07:07,670  -->  00:07:09,870
while still not having to do any of the management
196

196

00:07:09,870  -->  00:07:12,650
and oversight of handing out these IP addresses.
197

197

00:07:12,650  -->  00:07:14,760
Now, another great thing about DHCP
198

198

00:07:14,760  -->  00:07:15,910
is that it gives our clients
199

199

00:07:15,910  -->  00:07:17,210
all of these different variables
200

200

00:07:17,210  -->  00:07:18,640
that they need to communicate.
201

201

00:07:18,640  -->  00:07:21,210
This includes the dynamic IP address that's being assigned
202

202

00:07:21,210  -->  00:07:22,520
as well as the subnet mask,
203

203

00:07:22,520  -->  00:07:24,930
the default gateway and the DNS server,
204

204

00:07:24,930  -->  00:07:26,580
and if you're using a WIN server,
205

205

00:07:26,580  -->  00:07:28,820
you can also send that through DHCP.
206

206

00:07:28,820  -->  00:07:29,870
This can all be done
207

207

00:07:29,870  -->  00:07:32,490
using the DHCP protocol for us automatically,
208

208

00:07:32,490  -->  00:07:35,790
each and every time a new client connects to the network.
209

209

00:07:35,790  -->  00:07:38,700
Yes, I know I've repeated these four configuration options
210

210

00:07:38,700  -->  00:07:40,250
a bunch of times now.
211

211

00:07:40,250  -->  00:07:41,470
And you know what that means?
212

212

00:07:41,470  -->  00:07:44,130
It means this information is really important.
213

213

00:07:44,130  -->  00:07:47,110
So you simply have to know those four configuration items
214

214

00:07:47,110  -->  00:07:49,180
that DHCP provides to your clients
215

215

00:07:49,180  -->  00:07:51,370
and keep them in mind for test day.
216

216

00:07:51,370  -->  00:07:54,150
Remember that the IP address, the subnet mask,
217

217

00:07:54,150  -->  00:07:56,560
the gateway, and the DNS server's IP.
218

218

00:07:56,560  -->  00:07:58,430
The WIN server is an optional component
219

219

00:07:58,430  -->  00:08:00,210
that may or may not be sent.
220

220

00:08:00,210  -->  00:08:02,610
All right, we're going to talk a lot more about DHCP
221

221

00:08:02,610  -->  00:08:04,660
in a separate video, but for now,
222

222

00:08:04,660  -->  00:08:06,180
you need to remember that DHCP
223

223

00:08:06,180  -->  00:08:08,700
is the modern implementation of BOOTP,
224

224

00:08:08,700  -->  00:08:11,230
and it's commonly used in our modern networks
225

225

00:08:11,230  -->  00:08:13,810
to be able to assign automatically the IP address
226

226

00:08:13,810  -->  00:08:15,140
and other required data
227

227

00:08:15,140  -->  00:08:17,470
for a client to communicate on a network.
228

228

00:08:17,470  -->  00:08:20,370
Now, the third way we can do automatic or dynamic addressing
229

229

00:08:20,370  -->  00:08:23,050
is by using APIPA, A-P-I-P-A,
230

230

00:08:23,050  -->  00:08:26,260
or the Automatic Private Internet Protocol Addressing.
231

231

00:08:26,260  -->  00:08:27,770
Basically if for any reason
232

232

00:08:27,770  -->  00:08:30,470
DHCP cannot complete the assignment process
233

233

00:08:30,470  -->  00:08:32,430
or find an address for you to give to the client
234

234

00:08:32,430  -->  00:08:33,670
because you ran out,
235

235

00:08:33,670  -->  00:08:36,200
then APIPA is going to be used instead.
236

236

00:08:36,200  -->  00:08:37,940
This kind of thing can happen if there's a problem
237

237

00:08:37,940  -->  00:08:40,120
where the client can't reach the DHCP server
238

238

00:08:40,120  -->  00:08:43,440
because of networking issues or something else like that.
239

239

00:08:43,440  -->  00:08:44,420
Now in these cases,
240

240

00:08:44,420  -->  00:08:46,820
the client is going to assign itself an APIPA address,
241

241

00:08:46,820  -->  00:08:48,840
which is a self assigned address.
242

242

00:08:48,840  -->  00:08:51,500
Now by default, on a Windows server or workstation,
243

243

00:08:51,500  -->  00:08:54,330
you're going to find that APIPA is selected by default
244

244

00:08:54,330  -->  00:08:56,260
under the TCP/IP properties
245

245

00:08:56,260  -->  00:08:58,470
under the Alternate Configuration tab.
246

246

00:08:58,470  -->  00:09:00,280
Now this allows the Windows machine
247

247

00:09:00,280  -->  00:09:02,370
to assign itself an address randomly
248

248

00:09:02,370  -->  00:09:06,040
from the 169.254 dot something dot something scope,
249

249

00:09:06,040  -->  00:09:08,170
if it can't reach a DHCP server
250

250

00:09:08,170  -->  00:09:09,380
or it can't contact it
251

251

00:09:09,380  -->  00:09:11,610
and finish the negotiation process.
252

252

00:09:11,610  -->  00:09:12,870
Now APIPA is designed
253

253

00:09:12,870  -->  00:09:15,810
to allow for a quick configuration of a local area network
254

254

00:09:15,810  -->  00:09:18,390
without the need of having a DHCP server.
255

255

00:09:18,390  -->  00:09:20,290
For example, if I take 10 clients
256

256

00:09:20,290  -->  00:09:23,180
and I connect them all to a switch without a DHCP server,
257

257

00:09:23,180  -->  00:09:24,810
these 10 clients will default
258

258

00:09:24,810  -->  00:09:27,810
to picking up their own IP address from the APIPA range,
259

259

00:09:27,810  -->  00:09:31,330
which is 169.254 dot something dot something.
260

260

00:09:31,330  -->  00:09:33,460
Again, because it's a class B address,
261

261

00:09:33,460  -->  00:09:34,830
this is perfectly fine,
262

262

00:09:34,830  -->  00:09:37,610
because they're all going to be on the same local area network.
263

263

00:09:37,610  -->  00:09:39,760
So if I wanted to play Doom on this local area network
264

264

00:09:39,760  -->  00:09:41,740
with these 10 machines, that's fine.
265

265

00:09:41,740  -->  00:09:42,740
They'll all find each other,
266

266

00:09:42,740  -->  00:09:45,010
and they'll talk based on their APIPA addresses
267

267

00:09:45,010  -->  00:09:46,750
without any issues at all.
268

268

00:09:46,750  -->  00:09:48,360
Now, the only problem that will occur
269

269

00:09:48,360  -->  00:09:50,310
is that these are private IP addresses.
270

270

00:09:50,310  -->  00:09:53,670
So they can't be routed outside of our local area network.
271

271

00:09:53,670  -->  00:09:55,870
Therefore, if we need to communicate locally,
272

272

00:09:55,870  -->  00:09:57,150
we can do that using a switch,
273

273

00:09:57,150  -->  00:09:58,680
and everything will be fine.
274

274

00:09:58,680  -->  00:10:01,010
But we're not going to be able to reach the internet
275

275

00:10:01,010  -->  00:10:03,860
because we don't have the same network as the router,
276

276

00:10:03,860  -->  00:10:05,900
because the router had a valid IP address,
277

277

00:10:05,900  -->  00:10:07,310
not an APIPA address.
278

278

00:10:07,310  -->  00:10:08,730
And so we don't have a default gateway
279

279

00:10:08,730  -->  00:10:11,520
to get out of this local network we've created.
280

280

00:10:11,520  -->  00:10:13,510
Now, this is the biggest challenge you're going to have
281

281

00:10:13,510  -->  00:10:15,900
when you have an APIPA address assigned to your clients,
282

282

00:10:15,900  -->  00:10:17,160
because they cannot communicate
283

283

00:10:17,160  -->  00:10:18,750
outside the local area network
284

284

00:10:18,750  -->  00:10:21,950
or with other devices that don't have an IP address as well.
285

285

00:10:21,950  -->  00:10:25,050
If you ever have a computer that starts with 169.254
286

286

00:10:25,050  -->  00:10:26,330
dot something dot something,
287

287

00:10:26,330  -->  00:10:27,220
and you can't figure out
288

288

00:10:27,220  -->  00:10:28,900
why it's not connecting to the internet,
289

289

00:10:28,900  -->  00:10:30,580
well, that's your reason.
290

290

00:10:30,580  -->  00:10:31,700
It's an APIPA address,
291

291

00:10:31,700  -->  00:10:34,370
and APIPA addresses can't get out past the router.
292

292

00:10:34,370  -->  00:10:36,380
And so APIPA addresses are not going to allow you
293

293

00:10:36,380  -->  00:10:37,770
to connect to the internet.
294

294

00:10:37,770  -->  00:10:40,450
Our last dynamic method of configuring an IP address
295

295

00:10:40,450  -->  00:10:42,403
is known as ZeroConf or Zero Configuration.
296

296

00:10:43,390  -->  00:10:45,490
Now ZeroConf is a newer technology
297

297

00:10:45,490  -->  00:10:46,323
that was based on APIPA
298

298

00:10:46,323  -->  00:10:49,380
and can provide you with a lot of the same features as APIPA
299

299

00:10:49,380  -->  00:10:50,800
as well as some new ones.
300

300

00:10:50,800  -->  00:10:53,160
For example, ZeroConf can actually assign
301

301

00:10:53,160  -->  00:10:55,840
an IPv4 link-local address to a client.
302

302

00:10:55,840  -->  00:10:58,070
This is a form of a non writeable IP
303

303

00:10:58,070  -->  00:11:01,040
that's used on a local sub-net, just like APIPA,
304

304

00:11:01,040  -->  00:11:03,540
but the big difference is that with ZeroConf,
305

305

00:11:03,540  -->  00:11:04,970
this client can now have the ability
306

306

00:11:04,970  -->  00:11:07,410
to resolve computer names to IP addresses
307

307

00:11:07,410  -->  00:11:09,280
without the need of DNS,
308

308

00:11:09,280  -->  00:11:11,230
by using something known as mDNS
309

309

00:11:11,230  -->  00:11:13,750
or multicast domain name service.
310

310

00:11:13,750  -->  00:11:17,310
Also ZeroConf can perform a service discovery on a network,
311

311

00:11:17,310  -->  00:11:18,900
so it can find out what things are connected
312

312

00:11:18,900  -->  00:11:20,100
and available for use.
313

313

00:11:20,100  -->  00:11:22,990
So if there's a printer, a scanner, or show file system,
314

314

00:11:22,990  -->  00:11:25,760
you can actually find that using ZeroConf.
315

315

00:11:25,760  -->  00:11:28,300
There've been lots of different implementations of ZeroConf
316

316

00:11:28,300  -->  00:11:29,380
in recent years,
317

317

00:11:29,380  -->  00:11:30,690
and it's called different things
318

318

00:11:30,690  -->  00:11:31,930
depending on the implementation
319

319

00:11:31,930  -->  00:11:33,540
and the product line you're using.
320

320

00:11:33,540  -->  00:11:35,270
For example, on Apple products,
321

321

00:11:35,270  -->  00:11:37,690
ZeroConf is actually called Bonjour,
322

322

00:11:37,690  -->  00:11:40,290
and it's used mostly for service discovery of other clients
323

323

00:11:40,290  -->  00:11:42,470
end devices on the local area network.
324

324

00:11:42,470  -->  00:11:43,780
In Microsoft Windows,
325

325

00:11:43,780  -->  00:11:46,290
they like to call it LLMNR,
326

326

00:11:46,290  -->  00:11:48,770
Link-Local Multicast Name Resolution.
327

327

00:11:48,770  -->  00:11:51,500
And it's going to rely on it as an extension of APIPA
328

328

00:11:51,500  -->  00:11:53,840
to provide for name resolution and service discovery,
329

329

00:11:53,840  -->  00:11:56,270
in addition to providing network conductivity.
330

330

00:11:56,270  -->  00:11:57,360
Now if you're using Linux,
331

331

00:11:57,360  -->  00:12:00,350
ZeroConf is usually implemented using SystemD
332

332

00:12:00,350  -->  00:12:02,110
or the System Daemon Service,
333

333

00:12:02,110  -->  00:12:05,860
specifically the systemd-resolved background service.
334

334

00:12:05,860  -->  00:12:08,350
So remember, there are lots of different ways
335

335

00:12:08,350  -->  00:12:09,880
to assign IP addresses.
336

336

00:12:09,880  -->  00:12:12,270
You can do it manually known as a static assignment
337

337

00:12:12,270  -->  00:12:15,520
or automatically known as a dynamic assignment.
338

338

00:12:15,520  -->  00:12:17,220
If you're using a dynamic assignment,
339

339

00:12:17,220  -->  00:12:19,000
you can do this with one of four methods:
340

340

00:12:19,000  -->  00:12:22,720
BOOTP, DHCP, APIPA, or ZeroConf.
341

341

00:12:22,720  -->  00:12:25,280
Really, it all depends on the needs of your clients
342

342

00:12:25,280  -->  00:12:26,253
and your network.
