DHCP multiple servers on the same subnet
If there are two or more DHCP servers on a single subnet, a client that goes through the DHCP DORA process to dynamically obtain IP addressing information will do the following:
The client collects DHCPOFFER messages over a period of time, selects one DHCPOFFER message from the (possibly many) incoming DHCPOFFER messages (e.g., the first DHCPOFFER message or the DHCPOFFER message from the previously used server) and extracts the server address from the 'server identifier' option in the DHCPOFFER message. The time over which the client collects messages and the mechanism used to select one DHCPOFFER are implementation dependent.
It is best practice not to deploy two or more DHCP servers on the same subnet that assign addresses from the same range. However, on the same subnet, you can have two DHCP servers that assign addresses from different ranges.
Redundancy for DHCP is not critical due to the fact that addresses have a lease time that is typically several hours to several days or even longer. If a DHCP server fails, there is no immediate effect on the network beyond the fact that no new clients can obtain IP addressing information. However, redundancy can be implemented on a server level, which resolves the problems that duplicate address ranges in multiple DHCP servers may cause.