Articles

What is DHCP?

DHCP is a complex but critically important engine that makes networks function on a component level.

Listening to the feedback after my last post, it seemed only logical (hello, Mr. Spock!) to cover the Dynamic Host Configuration Protocol (DHCP, for its Friends-and-Relations) next.

Let's get started before I start adding even more pop culture references.

Chickens, eggs, and IP addresses; a.k.a. is DNS or DHCP more important?

Neither. Both. Was the chicken first, or did the egg cross the street?

While DNS is critical on the network's service level (i.e., connecting to more or less permanent clients on the network), DHCP is the fundamental engine that makes networks function on a component level.

Everything starts with an IP address. (I'll cover IP address management, or IPAM for short, in the next blog; making these posts into a trilogy whose epic nature shall be rivalling that of The Lord of The Rings! Albeit with fewer hobbits.) There's no network activity without an IP address because the client (whether that's a server in a data center, a laptop in the office, or a smart toothbrush in your bathroom) is de facto not on the network.

IP addresses are scarce. IPv4 addresses are especially precious, but although the IPv6 pool could sustain a unique IPv6 address for every atom on Earth's surface, it can still benefit from more efficient resource management.

Anyway, let's take a look at why (and how) why the IP address crossed the street.

Get an IP address, they said. It’ll be fun, they said.

DHCP is the service responsible for handing out the IP addresses to the clients in a fast, responsible, and preferably automated manner.

IP addresses, particularly when dealing with a lot of them (subnets) at once, are a hotbed for human error. A single typo in the 12 numbers (or 32 characters, in the case of IPv6. Boy, did IPv6 open up not just a ton of available IP addresses, but a Pandora's Box worth of chances for mistakes, too!) renders the client useless from the network's standpoint. (Or the network useless from the device's standpoint. Chickens, eggs.)

Suffice to say, reliable network operations depend on automation in both error checking and preferably in management as well. Keeping track of IP addresses manually has been a no-brainer since the "network" meant "three desktops and a printer." Network admins are lazy… I mean efficient folk. Nowadays, just by walking into the office, you could be carrying half a dozen devices in need of an IP address that'll stop needing them at the end of the day. Multiply that with the number of people working at your company.

It's easy to see why manual IP address assignment and management in 2021 likely would be considered cruel and unusual punishment.

Instead: enter DHCP.

DORA, the network explorer

To get an IP address, DHCP clients perform a process called DORA. DHCP DORA, as it's sometimes called, is short for (server) discovery, (IP lease) offer, (IP lease) request, and (IP lease) acknowledgment.

It goes like this:

  • Discovery: the client starts shouting (= broadcasts a DHCPDISCOVER message) on the subnet.
  • Offer: the DHCP server rolls its eyes and answers in a calming tone with an offer tailored to the client (= sends a DHCPOFFER).
  • Request: the client carefully considers the offered lease, and when satisfied, lets the DHCP server know (= sends a DHCPREQUEST) that it'll take it.
  • Acknowledgement: the DHCP server informs the client about the IP lease's final configuration (= sends a DHCPACK packet). Everybody lives happily ever after. 'Ever after' meaning until the lease time runs out.

Because the discovery step is as broad as possible, clients can sometimes get multiple offers from multiple DHCP servers. The decision is on the client, but they can only accept one offer, as they can be only identified by one IP address at a time.

Putting the 'dynamic' into DHCP

A crucial component of the DHCP operation is the returning (releasing, as it's called in the context of DHCP) of the IP address.

It is the nature of networks to be dynamic. (Some clients are more permanent than others, but as mentioned, IP addresses are scarce and need to be managed responsibly.) Clients connect to the network and then leaving, either for seconds or for days or years. (Or ever.)

Within a DHCP acknowledgment is the value of lease expiry. This determines how long the IP address is considered 'taken' by the client, regardless of whether the client actually uses it or not. Because clients can be physically removed from the network at any time, the DHCP protocol doesn't require them to "give back" their leased IP addresses (= send a DHCP Release) manually.

Who manages the managers? A word or two on DHCP server management

My intention with this article wasn't to dive into the nuts and bolts of DHCP (as you can see from the illustration below, it’s more detailed) but to explain what it does and why it's vital for a network.

DHCP process
Image credit: Wikipedia

DHCP server management, too, is a job in itself. Every network is different, and even within a network, usage can be wildly varied from day to day. IP address pools are also often in flux, whether they're expanded, shrunk, merged, or split. Efficient management, therefore, needs to be almost as dynamic as the DHCP operations themselves. Automation brings many advantages to DHCP management as well, both for eliminating human error and for increasing productivity and efficiency. Visibility for factors such as DHCP scope utilization and ensuring the security and availability of DHCP servers with features like high availability and dynamic redundancy are essential for a health network.

Furthermore, DHCP was developed to support IPv4. DHCPv6 not only extends that to IPv6 but improves on the DHCP protocol itself as well. DHCP deployments have been given a good run for their money with the rise of BYOD and IoT trends, putting even more pressure on administrators managing DHCP.

All this is a long way of saying: DHCP is complex but critically important. Which is why the middle of the DDI trinity is dedicated to DHCP. And why we'll be covering more of it in both our blog posts and knowledge base articles in the future.

Do you have a question about DHCP? A specific area you have trouble with? Ask us through Twitter, LinkedIn, Facebook, or just send us an email. We'll be happy to answer.

Oh, and also check out our own DHCP management solution page.