We’ve become so accustomed to the automation of DHCP that we rarely think about it when starting our computers. In this video, you’ll learn about DHCP and you’ll find out exactly what happens when your computer is assigned an IP address from a DHCP server.
<< Previous: Wireless LAN ControllersNext: DHCP Reservations >>
Once upon a time, really not that long ago, we had to manually configure IP addresses on all of our devices. We had to go to each individual device and computer and give it an IP address, and a subnet mask, and a default gateway, and DNS settings, and NTP settings, and anything else that had to do with IP configuration. And then in October of 1993, the bootstrap protocol was introduced.
This was also called BOOTP. And this was an automated method that we could use to put IP addresses automatically on devices without having to do any type of configuration prior to connecting them to the network. But BOOTP wasn’t everything. There were still different parts of BOOTP that we’re limited.
For example, some manual configuration of settings was still required because BOOTP did not automatically configure everything. And BOOTP also didn’t know when an IP address was made available again. So it was a much faster process to go through all of your IP addresses, because BOOTP did not know when to release and make those addresses available again.
And that’s one of the big reasons that we came up with DHCP, or Dynamic Host Configuration Protocol. This was introduced in 1997. It’s been updated a few times through the years. And today it’s the most common way that we use to automatically configure IP address settings in our devices.
There are four main steps to getting a DHCP IP address on your device. Let’s step through each of those. Let’s start with the step one, which is called DHCPDISCOVER. This is a discovery process. And it’s done by our client station down here, which does not have an IP address. He’s connected to a switch. And on this subnet is a DHCP server.
We also have DHCP server that’s connected through a router onto another subnet, as well. And the reason we have multiple DHCP servers is for the reasons you might expect. We need redundancy. If we lose one of these DHCP servers, it’s powered off or it goes down, we can have the other DHCP server take up the load and make sure that everybody’s able to get an IP address.
A lot of the communication that we’re going to look at in this DHCP process is all done with broadcast. And if we have a DHCP server that’s on a different subnet, then we’re going to have to have some way for that broadcast to make its way through a router. A router, of course, is going to stop all of the broadcast going by.
But this router is specially configured with something called DHCP Relay. You might also see this referred to as IP Helper. This functionality inside of a router ensures that any broadcasts that are DHCP related will pass through the router and onto the other subnet on the other side. Our client workstation has just been connected to the network. It doesn’t have any IP address configuration.
So the first thing it does is try to discover a DHCP server. It does that by sending a broadcast to UDP Port 67. Because it’s a broadcast, it’s going to go to all devices on this subnet. And if you do have a router with a DHCP Relay, it will send the broadcast along to the other subnet, as well.
Once those DHCP servers have heard this broadcast that a device is trying to discover it, we move to step two, which is a DHCP Offer. The DHCP server puts together an IP address configuration and sends that offer back to the client workstation over another broadcast. This one going over UDP Port 68.
Then the client workstation receives both of those offers. And we proceed to the next step in DHCP, which is step three. Step three is DHCP Request. So now that the client workstation has a list all of the possible IP addresses that it could have, it picks one.
And it picks that one and tells the DHCP servers through, again, a broadcast over UDP 67. This is the IP address that I would like to use. Now, obviously that broadcast is going to go to all devices, including the DHCP server here. I’ve simplified it in this view, so that you can see that the DHCP server has now seen the request that came from the client workstation.
And the last step is for the DHCP server to acknowledge that it did receive that request. So it sends a broadcast on UDP 68 back to everybody on the network, but especially the client workstation that originally sent it. And now that client workstation knows that it did receive and has marked that as being owned by that client workstation. At that point, the IP address configuration can be set in the client workstation, and now it can begin using the network normally.
So there’s our four steps. We have the discover, the offer, the request, and the acknowledgement. And you can see the discover is client to server, the offer is from the server to the client, the request is from the client to the server, and the acknowledgment is from the server to the client. It’s a relatively straightforward process. But you’re going to see every time a device hits the network that begins to get a DHCP address, it’s going to follow all four of these steps every time.