I tested how isc-dhcpd behaves by running two dhcpd servers on the same network. I watched the leases file for both and took a packet capture.
Here's the packets seen in a DHCP transaction on this setup:
client: DHCPDISCOVER
server 1: DHCPOFFER <details 1>
server 2: DHCPOFFER <details 2>
client: DHCPREQUEST <details 1>
server 1: DHCPACK <details 1>
isc-dhcpd doesn't write a new lease unless the client responds to the DHCPOFFER with a DHCPREQUEST. So, server 1 writes a new lease in this case but not server 2.
I tested how isc-dhcpd behaves by running two dhcpd servers on the same network. I watched the leases file for both and took a packet capture.
Here's the packets seen in a DHCP transaction on this setup:
client: DHCPDISCOVER
server 1: DHCPOFFER <details 1>
server 2: DHCPOFFER <details 2>
client: DHCPREQUEST <details 1>
server 1: DHCPACK <details 1>
isc-dhcpd doesn't write a new lease unless the client responds to the DHCPOFFER with a DHCPREQUEST. So, server 1 writes a new lease in this case but not server 2.