Windows XP DHCP Client Incorrectly Sends Unicast Discover Message

Support for Windows XP has ended

Microsoft ended support for Windows XP on April 8, 2014. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

This article was previously published under Q320229
This article has been archived. It is offered "as is" and will no longer be updated.
SYMPTOMS
When you are connected to a wireless network, your Windows XP DHCP client may incorrectly send a Unicast-Discover packet to a DHCP server. When this occur, the client uses one of the following IP addresses:
  • 0.0.0.0
  • An IP address from the APIPA range of addresses (169.254.x.x)
  • An IP address that is on the same subnet as the DHCP server, even if it is inappropriate to do so.
RESOLUTION
To resolve this problem, obtain the latest service pack for Windows XP. For additional information, click the following article number to view the article in theMicrosoft Knowledge Base:
322389 How to Obtain the Latest Windows XP Service Pack
The English version of this fix should have the following file attributes or later:
   Date         Time   Version     Size    File name   ----------------------------------------------------   23-Aug-2001  05:00  5.1.2600.0  97,000  Dhcpcsvc.dll				

STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Windows XP Service Pack 1.
MORE INFORMATION
When you are connected to a wireless network, clients frequently roam from one Access Point (AP) to another. It is unknown whether the new AP is connected to the same subnet as the previous AP. Because of this, every new AP association triggers the DHCP client to renew its IP address. It is possible for the Windows XP DHCP client to enter a state where it requests an IP address incorrectly.

This problem may occur whenever a DHCP client sends a Unicast-Discover packet to a DHCP server by using a relay agent. Because it is a Unicast packet, it is not modified by the DHCP Relay Agent. With no relay agent involved, the GIADDR field in the Discover packet is not updated and remains set to 0.0.0.0. The DHCP server correctly interprets this as being a local client on the same IP subnet as the DHCP server itself.

Because of this behavior, the client does not receive the resulting DHCP OFFER response from the DHCP server. This occurs because the packet cannot be returned to the client's subnet without a valid GIADDR value for the return path.
Properties

Article ID: 320229 - Last Review: 12/07/2015 09:30:34 - Revision: 1.2

Microsoft Windows XP Professional

  • kbnosurvey kbarchive kbhotfixserver kbqfe kbbug kbenv kbfix kbnetwork kbwinxpsp1fix KB320229
Feedback