DHCP & Win95/98, IP address conflict, error msg
(Last modified: 20May2002)
This document (10011979) is provided subject to the disclaimer at the end of this document.
goal
DHCP & Win95/98, IP address conflict, error msg
fact
Connectivity Products-EOL
IP & TCPIP
Novell NetWare 4.11
Novell IntraNetWare 4.11
Novell BorderManager FastCache 2.1
Novell BorderManager 2.1
Novell DHCP 2.x
Microsoft Windows 95
Formerly TID 2929694
symptom
Error: "IP address conflict."
Error occurred on a Win98 workstation using DHCP to obtain its ip address
Error occurred on a Win95 workstation using DHCP to obtain its ip address.
cause
The problem is caused when the Win95/98 client lease expires on the server. If the client is not up and is therefore unable to renew the lease the server will give that address to another client. The Win95/98 client will then come up and attempt to reuse that address and send a DHCPREQUEST to the server. The DHCP server should send a DHCPNAK to the client. The client should then start the DHCPINIT process over and send a DHCPDISCOVER. The problem at this point is that the Win95/98 client MAY not accept the
DHCPNAK (possibly caused by network load - see number 3 below) and will attempt to re-use the address it had before. The client sends an ARP request out for that IP address and because there is another client using that address an ARP reply is returned. At this point the Win95/98 client displays a message stating there is a IP address conflict. At other times we have noticed that the Win95/98 will accept the DHCPNAK and start the DHCPINIT process over. This is something to check if you are having a duplicate address problem.
Below are other situations that exist that can cause the duplicate address problem to occur:
1. Win 95 clients will not respond to an ARP sent from a Novell tcpip client. In the ARP request we put a source address of 0.0.0.0 and Win95/98 does not recognize this. We have had customers end up with a Win95/98 client and a Novell client having the same address. RFC 1541 section 4.4.1 paragraph 4 confirms the way Novell is doing this is correct. We believe that a fix to NT 4.0 workstation has been done but not to Win95/98.
2. If a Win95/98 client gets an address from a Novell DHCP server and then does an ARP request and receives a response it will display a message saying there is an IP address conflict and will disable the IP interface. It DOES NOT send a DHCPDECLINE to the server like RFC 1541 section 4.4.1 paragraph states it should, thus giving up the IP address. So at this point the DHCP server still believes that the client is using the address, but it is not. This has been fixed in NT client 4.0 and we are waiting for them to fix Win95/98.
3. If the Win95/98 client is multiple hops away from the DHCP server, you will have timeout problems with the Win95/98 client. RFC 1541 section 4.1 paragraph 6 states the DHCP client should retransmit at an exponential backoff algorithm up to 64 seconds. The Win95/98 client will only retransmit 2 or 3 times (if trying to re-use an address it already had been assigned) and will only wait for a total of 8 to 9 seconds for a response from the
server. What we have seen is the DHCPREQUEST getting to the DHCP server and the server assigning an address and sending a DHCPACK, but, because it takes longer than 9 seconds for the DHCPACK to get back to the Win95/98 client, it has timed out by then and gone on to other things. So the DHCP server assumes that the client is using the address when it is not.
Update Note: Item 1 and 2 above appear to be resolved by using the Winsock 2 patch that Microsoft has for the Win 95 client.
fix
The root cause of this problem may need to be addressed by Microsoft. One solution is to run the utility WINIPCFG and force the client to RELEASE and then RENEW its ip address. Pressing RELEASE ALL and then RENEW ALL will cause the client to request another IP address.
***
***Please read this document from Microsoft: Article 194790
***http://support.microsoft.com/support/kb/articles/q194/7/90.asp?FR=0
***
***This explains EVERYTHING!
***
Another solution involves editing the Windows 95 registry to tell the machine to release its lease whenever the system is shut down. This information came from a source outside Novell and has not been verified by Novell. The registry settings for this are:
Key:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\DHCP
Name: ReleaseLeaseOnShutdown
Type: DWORD
Data: 0x00000001 (1)
If this value is not present, or the data value is set to 0x00000000 (0), this functionality will not be enabled.
Furthermore, it has been reported that the latest version of Winsock (2.0) fixes this. This can be downloaded from Microsoft. [Previously WS2SETUP, but Microsoft has since changed this file]
One example would be: VTCPUP20.EXE, which is the updated version of TCPIP and the Winsock 2update.
If you would like to automate this process (of editing the registry) you can create a file called DHCP.REG
----------contents of DHCP.REG----------
REGEDIT4
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\DHCP]
"ReleaseLeaseOnShutdown"=dword:00000001
----------contents of DHCP.REG----------
and then in the system login script somewhere after they have mapped their drives add
#REGEDIT [path to file, ie \\my_server\volume\path\]DHCP.REG
there are other options to use, like checking to see if the machine is a Win95/98 machine (or WINNT, because WindowsNT uses a different registry setting), or inserting a "/s" option in-between the REGEDIT and the path\file to have REGEDIT insert the option without telling the client "Information in DHCP.REG has been successfully entered into the registry" and making them hit [OK], For more support in registry automating and editing, contact Microsoft.
There also have been many changes made to the DHCP server regarding this issue. Make sure you are running the latest version of DHCPSRVR.NLM.
cause
We do not intend to say that the Win95/98 TCPIP is totally at fault but this TID was produced to point out issues we have noticed with using the Win95/98 TCPIP. There are areas where the Win95/98 TCPIP is NOT compliant with RFC 1541. Out of the 3 points that are mentioned in the Causes section, the ARP issue and the DHCPDECLINE issue have been fixed in the NT4.0 client and it appears that the patch mentioned above DOES fix these issues for Win95/98.
It has been said that using the NT Server DHCP will resolve some of these issues and that is a true statement because the Win95/98 TCPIP and the NT server are "designed" to work best with each other (from our observation). If the customer were to use the Novell DOS/Windows Client32 TCPIP with the Novell DHCP Server they would not have these issues either. We continue to make Novell's Client TCPIP and Server DHCP comply fully with the RFC. The client side is very compliant at this time. The new DHCP server will be compliant with RFC 2131. We will continue to ensure that our DHCP server works as well with the WIN 95 TCP/IP as we possibly can, within the guidelines of the applicable RFCs. It is NOT our intention to get into a "finger pointing" situation with Microsoft. There are areas where the Novell DHCP server needs to be changed and we are doing or have done that. At the same time there are issues with the Win95/98 TCPIP that we need to make our customers aware of so they can work with the appropriate entity to resolve the problems.
document
Document Title: | DHCP & Win95/98, IP address conflict, error msg |
Document ID: | 10011979 |
Solution ID: | 4.0.3106682.2235653 |
Creation Date: | 17Jul1999 |
Modified Date: | 20May2002 |
Novell Product Class: | Connectivity Products NetWare |
disclaimer
The Origin of this information may be internal or external to Novell. Novell makes all reasonable efforts to verify this information. However, the information provided in this document is for your information only. Novell makes no explicit or implied claims to the validity of this information.
Any trademarks referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information.