Which should you use?

The answer is likely both.

Pros and Cons

Static IP addresses are great! Except that they don't scale well. On a small home network, it's probably not that much of an issue since you're not managing tons of devices. Think about this though, you're managing an environment with multiple networks that have dozens, hundreds, thousands, or hundreds of thousands of clients attached to them. Management gets to be quite unruly.

DHCP reservations are great! Except that they don't do well in non-fault tollerant environments. If you're running "critical" services and your one DHCP server bites the dust and the lease expires on that IP address, you're likely going to loose that "critical" functionality.

What Are IP Addresses?

So what are IP addresses? For those who don't know, when you connect to your WiFi network or plug directly into your switch or router, you are typically assigned a dynamic IP address from the DHCP (Dynamic Host Control Protocol) server running on your router. An IP address is much like your home address. It allows traffic to get to and from your device and another service (like a website), much like if you were to write a letter to grandma, the postal service knows how to get that letter to her based on the address on the outside of the envelope.

DHCP and DHCP Pools

DHCP will automatically assign addresses to devices connected to a network within the scope of a DHCP pool. Your home router might use the entire address space available to it outside of the static IP address that is assigned to the router from the factory. So for instance, your router might be assigned an IP address of 192.168.1.1 from the factory and have a DHCP scope of 192.168.1.2 - 192.168.1.254 giving you a pool of 253 address that can be automatically assigned. These addresses are issued as leases with expiry dates. So one day your IP address on your laptop might be 192.168.1.40 and the next it might be 192.168.1.6.

Static IP Addresses

Static IP addresses are addresses that you manually configure yourself on the network interface of your device and never change. These come in handy for services you are hosting inside of your network. For instance, let's say you have a NAS (Network Attached Storage) device on your network and always want to be able to find it by IP address. You would set a static IP address on your NAS that is outside of your DHCP scope (in the example above you would need to alter the scope range as it takes up the entire address space) and your NAS would always be able to be found at the same address.

DHCP Reservations

DHCP reservations share a similar end result as static IP addresses in that the IP address of the device that reservation is held for will never change, but only if the DHCP server is available. Instead of being configured on the device, they are instead configured on the DHCP server and are assigned outside of the pool of addresses in your DHCP scope.

For instance if you modified your DHCP scope to be 192.168.1.2 - 192.168.1.100 you would then have 99 dynamically available IP addresses and 153 IPs available for either DHCP reservations or static assignment (not including your router).

To configure a DHCP reservation on your DHCP server, you need to know the MAC (Media Access Control) Address of the network card of the device you're connecting to the network. It looks like xx:xx:xx:xx:xx:xx or xx-xx-xx-xx-xx-xx. You would input that address in your DHCP server configuration and pick and IP address that would be associated with it (e.g. 192.168.1.199). You would leave the device configured to use DHCP, but from now on, it will always receive the same address from the DHCP server.

When to Use

You might want to use static IP addresses for critical network infrastructure like routers, switches, core servers, and perhaps wireless access points that serve a specific function. You may then want to use DHCP reservations for less critical infrastructure like ancillary application and web servers (not that they aren't critical), distribution access points, or printers.

This approach provides a more manageable approach to IPAM (IP address management) where for the most part, your IP infrastructure can be centerally managed with DHCP reservations with the outliers being static IP addresses.

This is great in a corporate network, but also has applications in home/lab networks. For example, if you're spinning up half a dozen VMs from a template in your home lab, you can assign their IPs centerally instead of having to touch each VM. Another use case would be your IoT devices. Smart TVs, home assistants, network attached speakers, lights, refrigerators, etc. Typically, you are able to provide descriptions and/or names of devices that have DHCP reservations, and this way you know exactly where and what items are on your network.

Wrap-Up

DHCP reservations are awesome! Except when they aren't. Static IP addresses are awesome! Except when they aren't. At the end of the day, it's a good idea to take some time to consider how you lay out your networks at home or at the office for ease of management. No one wants to keep a spreadsheet full of thousands of statically assigned IP addresses where human factors can cause flubs that cause IP confilts creating unintended outages.