Non-rfc Compliant DHCP Server Does Not Send DHCPNAK to Client

Last reviewed: August 6, 1997
Article ID: Q169122
The information in this article applies to:
  • Microsoft Windows NT Workstation version 4.0
  • Microsoft Windows NT Server version 4.0

SUMMARY

When a Windows NT DHCP client is moved to another subnet (without issuing the ipconfig/release command before moving), the client will request its previous IP address. Usually this IP address is not valid for usage on the new subnet.

When a DHCP server detects that the client requests an IP address that does not fit for the current subnet, the DHCP server must send a DHCPNAK to the client (according to RFC1541).

Some non-rfc compliant DHCP servers do not send this DHCPNAK. Because of this, the client does not attempt to lease a new IP address on the new subnet and tries to use its old IP address (see the frame information later in this article).

This problem has been experienced only when using a third-party DHCP server. The Microsoft Windows NT DHCP server does not experience this behavior.

MORE INFORMATION

Per RFC1541, a DHCP server sends a DHCPNAK to a client that requests an IP address but is not located on the current subnet. According to RFC1541 (page 28):

   In particular, if the previously allocated network address in the
   ciaddr field from the client does not match the network address
   recorded by the server for that client, the server sends a DHCPNAK to
   the client.

After receiving a DHCPNAK, the DHCP client will restart the DHCP lease process by sending DHCPDISCOVER.

The following packets have been sent:

The Windows NT DHCP client sent the following request:

DHCP: ----- DHCP Header ----- DHCP:

DHCP:  Boot record type        = 1 (Request)
DHCP:  Hardware address type   = 6 (IEEE 802 Network)
DHCP: Hardware address length = 6 bytes DHCP:
DHCP:  Hops                    = 0
DHCP:  Transaction id          = 27666A69
DHCP:  Elapsed boot time       = 2304 seconds
DHCP:  Flags                   = 0000
DHCP:     0... ....  .... .... = No broadcast
DHCP:  Client self-assigned IP address   = [0.0.0.0] (Unknown)
DHCP:  Gateway IP address                = [0.0.0.0]
DHCP: Client hardware address = 4000041D0106 DHCP:
DHCP:  Host name      = ""
DHCP: Boot file name = "" DHCP:
DHCP:  Vendor Information tag        = 63825363
DHCP:  Message type                  = 3 (DHCP Request)
DHCP:  Client identifier             = 064000041D0106
DHCP:  Request specific IP address   = [57.196.1.3]
DHCP:  Hostname                      = CHR50006
DHCP: Parameter request list:
DHCP:   Request option code          = 01 (Client's subnet mask)
DHCP:   Request option code          = 0F (Domain name)
DHCP:   Request option code          = 03 (Routers on the client's subnet)
DHCP:   Request option code          = 2C (NetBIOS over TCP/IP name server)
DHCP:   Request option code          = 2E (NetBIOS over TCP/IP node type)
DHCP:   Request option code          = 2F (NetBIOS over TCP/IP scope)
DHCP:   Request option code          = 06 (Domain name server)

The third party DHCP server responded with the following frame:

DHCP: ----- DHCP Header ----- DHCP:

DHCP:  Boot record type        = 2 (Reply)
DHCP:  Hardware address type   = 6 (IEEE 802 Network)
DHCP: Hardware address length = 6 bytes DHCP:
DHCP:  Hops                    = 0
DHCP:  Transaction id          = 27666A69
DHCP:  Elapsed boot time       = 0 seconds
DHCP:  Flags                   = 0000
DHCP:     0... ....  .... .... = No broadcast
DHCP:  Client self-assigned IP address   = [0.0.0.0] (Unknown)
DHCP: Client server-assigned IP address = [57.196.1.135]
DHCP:  Server IP address                 = [0.0.0.0]
DHCP:  Gateway IP address                = [57.196.1.130]
DHCP: Client hardware address = 4000041D0106 DHCP:
DHCP:  Host name      = ""
DHCP: Boot file name = "" DHCP:
DHCP:  Vendor Information tag        = 63825363
DHCP:  Message type                  = 5 (DHCP Ack)
DHCP:  Address Renewal interval      = 480 (seconds)
DHCP:  Address Rebinding interval    = 840 (seconds)
DHCP:  Server IP address             = [57.196.1.9]
DHCP:  Subnet mask                   = [255.255.255.192]
DHCP:  Gateway address            = [57.196.1.130]
DHCP: Domain Name Server address = [57.196.1.9]
DHCP:  Domain name                   =
DHCP:  Interface MTU                 = 4170
DHCP:  NetBIOS Server address     = [57.196.1.133]
DHCP: Request IP address lease time = 960 (seconds)

RESOLUTION

Contact the non-rfc compliant DHCP server vendor for assistance or use the Microsoft Windows NT DHCP server.


Additional query words: SRD970304000093
Keywords : NTINTEROP ntnetserv NTSrvWkst nttcp kb3rdparty kbnetwork
Version : WinNT:4.0
Platform : winnt


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: August 6, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.