I'm doing some reading up DHCP servers and how they deal with duplicate assignments/conflicts.
I've noticed on one of the Cisco articles (http://www.cisco.com/en/US/docs/ios/12_1/iproute/command/reference/1rddhcp.html#wp1018810) that it says
"If an address conflict is detected, the address is removed from the pool and the address will not be assigned until an administrator resolves the conflict."
However I know from my Microsoft studies that they say (http://technet.microsoft.com/en-us/library/cc958918.aspx) "If conflict detection is enabled, an administrator-defined number of pings are sent. The server waits 1 second for a reply. Because the time required for a client to obtain a lease is equal to the number of pings selected, choose this value carefully as it directly impacts the overall performance of the server. In general, one ping should be sufficient.
A DHCP server receiving a reply to any of the pings (meaning there is a conflict) attaches a BAD_ADDRESS value to that IP address in the scope, and will try to lease the next available address. If the duplicate address is removed from the network, the BAD_ADDRESS value attached to the IP address can be deleted from the scope's list of active leases, and the address returned to the pool. Addresses are marked as BAD_ADDRESS for the length of the lease for which the scope is configured."
So whats the best answer to go with on a Cisco exam? I suspect it should be the Cisco article. If so how does an administrator resolve a conflict? Is there a comand in IOS or do you need to track down the machines and do a release/renew on them. Is the Cisco article sayin that the address will remain unassigned for ever until the administrator resolves the issue or is there also a time-out period?
I don't see the subject covered in any great detail in any of my Cisco Press CCNA publications. Is it something covered in more detail in CCNP upwards?
Different DHCP server vendors may handle address conflicts in different ways. So I would go by the Cisco documentation for a Cisco test and the Microsoft document for a Microsoft test.
The on-line configuration help for the ip dhcp conflict logging configuration command (logging: Record address conflicts in a log file) is one of the more misleading texts I've found in Cisco IOS (and the CCO documentation is not much better). Here's how it actually works ...
If you have configured ip dhcp ping parameters (highly recommended), the router will ping the IP address it intends to allocate to a client before replying to the DHCP request. If the router receives ICMP Echo Reply message (response to ping), the address is obviously in use. If the DHCP conflict logging is enabled (default), the router will log the conflict with a syslog message (not in a separate log file) and put the address on the list of conflicts. The addresses on that list (displayed with show ip dhcp conflict) are not used in the future (similar to the addresses configured with the ip dhcp excluded-addresses command). To reuse a conflicting address, the network operator has to remove it from the list with the clear ip dhcp conflict address (or * for all addresses) command.
The DHCP conflict logging makes sense if the router uses persistent DHCP bindings (called DHCP database agents in Cisco IOS), otherwise any addresses allocated prior to a router reload would be reported as conflicts after the bindings are lost. If you don't use DHCP agents, it's thus best to turn off conflict logging with the no ip dhcp conflict logging configuration command. Even without conflict logging, there's no DHCP functionality loss and no chance of duplicate address allocation, as the router would still check whether an IP address is active before allocating it (and later on, it would be willing to re-check the conflicting IP address).
If you don't use DHCP database agents and you don't disable conflict logging (default setup), you'll have to clear the conflicts manually after a reload and you might potentially exhaust the DHCP pool because of a large number of blocked conflicting addresses.
So by persistent bindings am I correct to say that when an IP address is bound to a MAC address, it is there till it is administratively removed. Is it also similar to static mapping?