What is Dynamic Host Configuration Protocol (DHCP)?
Quick Definition: DHCP, or Dynamic Host Configuration Protocol, is a protocol for managing IP networks. It automatically assigns IP addresses and essential network configurations to devices, allowing communication across IP networks and removing the need for manual address assignment by network administrators. Have you ever wondered how your laptops and smartphones communicate with a network after using that magical WiFi password? You may have heard of something called an IP address. If you are reading this article, you most likely have, and you want to know how devices get that IP address. How does the entire mechanism work? It is all thanks to a protocol called DHCP.
While it's impossible to cover the entire scope of how DHCP works in a 1000+ word article, we can offer you an excellent primer on the subject. So, let's get into it!
What is an IP Address?
An IP address is like a physical street address for your house or favorite bakery. Each IP address tells your network where your computer is located. That IP address also uniquely identifies your device, too.
Of course, this explanation is a severe oversimplification. IP addresses don't tell your network the physical location of your computer like a street address for a business would. IP addresses tell the network how to get information to your computer and how data needs to flow through the network to get to it.
In a traditional network, each device (computers, laptops, printers, etc.) must be assigned an IP address before those devices can send and receive data. Those IP addresses can be assigned manually or automatically. Today, it's common for a server to manage IP addresses automatically for the various devices attached to the same network.
What is DHCP?
DHCP stands for dynamic host configuration protocol. DHCP is only a standard, however. By itself, it does very little. Devices that use the DHCP protocol depend on a DHCP server to function.
When a device is attached to a network, it sends a broadcast signal to look for a DHCP server (assuming a device is configured to use DHCP). This is sort of like screaming in a warehouse to find its supervisor. You know the warehouse supervisor is in there somewhere, but you still need to find out where. With any luck, your warehouse supervisor, or the DHCP server in this example, will holler back at you.
Once the DHCP server responds, it asks who your computer is. Typically, your computer responds with a MAC address. A MAC address is a unique identifier assigned to a network adapter by its manufacturer. A single device can have multiple MAC addresses if it has multiple network adapters.
Once your device responds to the DHCP server with its MAC address, it will look through its list of devices to see if it already has an IP address assigned to it.
Oh — we need to point out two important things after that last sentence:
First, a DHCP server keeps track of all the devices it manages at any given time. DHCP servers do this so it doesn't assign devices new addresses every time they connect to a network. IP addresses are in limited supply, so DHCP servers can't hand out IP addresses like beads at Mardi Gras.
Second, IP addresses have a lease time. Think of this like a lease on a house or car (except no money or contract is involved). Your DHCP server will have a preconfigured “lease time.” For example, a DHCP server might issue leases on IP addresses for three days at a time.
While a device is connected to a network, the DHCP server will contact that device to see if it still needs its IP address. If that device does, the DHCP server renews the lease. If that device doesn't respond to the DHCP server, the lease for that IP address expires after three days, and that IP address is up for grabs by other devices again.
Simply put, a DHCP server is a fancy logistics manager for IP addresses for a network.
Why Do We Need DHCP?
DHCP servers aren't designed for the common person. Well, they are, but only as a side effect. DHCP servers were designed to make systems administrators' lives much more manageable. Here's why.
In the beginning, systems administrators needed to assign each device an IP address by hand. Sneakernet is as slow as tired snails, though. Walking to each device in an organization to manually configure IP addresses wastes tons of time.
On top of that, systems administrators needed to track IP address information by hand. This was when laptops and spreadsheets weren't a thing yet. Managing assigned IP addresses for a handful of devices is pretty easy, but can you imagine tracking hundreds or thousands of devices spread across a large campus? Mistakes will happen, even in a time during which tablet computers and spreadsheets are plentiful.
Thus, the DHCP server was born. DHCP servers now manage IP addresses for all networks, including home networks. DHCP functions are essential tools for network operators and vendors creating products for the home.
Should I Assign Static IP Addresses?
Sometimes, devices need to keep the same IP address. For instance, web servers must keep the same IP address so outside traffic can flow to and from that web server. Due to how networks are commonly architected, web servers are hardly ever exposed directly to the internet.
Traffic typically has to flow through NAT-enabled routers and firewalls first. If the IP address changes on a web server, other network configurations must be made before traffic can flow to and from that webserver again.
Someone realized this issue many moons ago, though, and fixed it. DHCP servers can permanently assign IP addresses to the same device. That means DHCP servers can act as a complete administration hub for network-assigned IP addresses.
Because of this, it's now considered bad practice to assign IP addresses manually. By manually assigning IP addresses, systems administrators create more work for themselves. That also creates a potential for a DHCP server to lease an IP address to a device when that IP address has already been manually assigned to another device. Depending on how the information system is architected, manually assigning IP addresses may create DNS issues (though these are less common but something to be aware of nonetheless).
Want to Learn More About Networking Fundamentals?
Learning about DHCP is one of the first things you should do as an IT tech. DHCP and DNS are basic building blocks of networking today. DHCP is easy to learn, and thankfully, there are a variety of entry-level certification and networking skills courses to get you started. CompTIA Network+ certification is a great starting point, offering a broad understanding of networking essentials in a vendor-neutral format. And when you're ready to specialize, CCNA certification will equip you with knowledge of Cisco-specific network concepts. Lucky for you, CBT Nuggets has CCNA online training, too.
delivered to your inbox.