DHCP Assigns "Bad_Address" to "Host Unreachable"

This article was previously published under Q187802
This article has been archived. It is offered "as is" and will no longer be updated.
DHCP Duplicate IP Detection is marking the IP address as Bad_Address whenthe response is "host unreachable". Duplicate IP detection code shouldread the ICMP packet and do nothing if the host is unreachable, instead ofmarking the address as if a valid response was received. Bad_Addressflagging is part of the Duplicate IP Detection feature added to Windows NT4.0 in Service Pack 2.
Bad_Address indications are being caused by a Windows for Workgroups 3.11bug that occurs when all of the following conditions are present:

  • Windows for Workgroups 3.11b clients are present on the network.
  • At least two DHCP servers are present on the network, and at least one of them has Duplicate IP Address Detection enabled.
  • The DHCP servers are separated from the Windows for Workgroups clients by a router.
  • The router has ARP cache enabled.
  • The router has the BOOTP relay agent enabled.
The DHCP server receives a "Destination Host Unreachable" packet as aresult of the client bug and the behavior of DHCP's Duplicate AddressDetection. By current design, DHCP marks the IP address as BAD_ADDRESS ifthere is ANY response to ICMP echo request.
To resolve this problem, obtain the latest service pack for Windows NT 4.0 or Windows NT Server 4.0, Terminal Server Edition. For additional information, click the following article number to view the article in theMicrosoft Knowledge Base:
152734 How to Obtain the Latest Windows NT 4.0 Service Pack

You can work around this problem by doing one of the following:

  • Upgrade all WFWG clients to Windows 95 or Windows NT clients.

  • Disable the ARP cache on the CISCO router. (ARP cache is enabled by default on most routers.)
Microsoft has confirmed that this is a problem in Windows NT 4.0 and Windows NT Server 4.0, Terminal Server Edition. This problem was first corrected in Windows NT 4.0 Service Pack 4.0 and Windows NT Server 4.0, Terminal Server Edition Service Pack 4.
The problem occurs in the following scenario:

  1. The Windows for Workgroups client broadcasts an IP address request (a DhcpDiscover packet) to the two DHCP servers.
  2. The first DHCP server responds to the request and assigns an IP address to the client through the normal sequence of DHCP handshaking between it and the client. The client binds to the given IP address.
  3. As part of Duplicate IP Address Detection , the second DHCP server sends an ICMP echo packet to the IP address it is attempting to assign (that is, the next available address in its pool). This is to confirm that the address is not already in use.
  4. Because the router has ARP cache enabled, it associates the media access control address of the Windows for Workgroups client to the IP address already assigned to the client from the first DHCP server. It then sends the ICMP echo packet to the media access control address of the Windows for Workgroups client.
  5. The client receives the packet, but the packet contains a different IP address (the one from the second DHCP server) than the one it has bound to its stack. Because of this address discrepancy, it responds back to the server with "Destination Host Unreachable".
  6. When the second DHCP server with Duplicate Address Detection receives an ICMP error response "Host Unreachable". The Error code is set to IP_DEST_HOST_UNREACHABLE.

Article ID: 187802 - Last Review: 12/05/2015 08:48:11 - Revision: 2.3

Microsoft Windows NT Server 4.0, Terminal Server Edition, Microsoft Windows NT Server 4.0 Standard Edition

  • kbnosurvey kbarchive kbhotfixserver kbqfe kbbug kbfix KB187802
ERROR: at System.Diagnostics.Process.Kill() at Microsoft.Support.SEOInfrastructureService.PhantomJS.PhantomJSRunner.WaitForExit(Process process, Int32 waitTime, StringBuilder dataBuilder, Boolean isTotalProcessTimeout)