This article was previously published under Q139985
This article has been archived. It is offered "as is" and will no longer be updated.
When the Windows NT Windows Internet Name Service (WINS) resolves a Multi-homed name, it gives an unreachable address to the client.
To reach a multi-homed server, the client sends a request to WINS and getsback a list of IP addresses. From this list, the client chooses an addresswhich is on the same subnet as itself. In some cases (depending on thenetid value), the client incorrectly picks an address that is not on itssubnet (not local) and depending on the network topology, it may then notbe able to reach the multi-homed server.
When a WINS client tries to reach a multi-homed server, the followingoccurs:
The client requests the WINS server, and gets back a list of IP addresses (for the multi-homed server)
From this list, the client tries to choose a "local" IP address (on the same subnet as itself), and builds a sublist containing only those "local" addresses
If this sublist of "local IP addresses" is not empty (maybe multiple server addresses on the same subnet), the client randomly picks an IP address from this sublist.
If this sublist is empty (no address on the same subnet), the client randomly picks an IP address from the original list.
Using this chosen IP address as the destination, the client then tries to establish the TCP connection with the multi-homed server.
The problem is in step 2:
Depending on the netid values, the client may build an incorrect sublist oflocal addresses by including addresses which are NOT on the same subnet. Itthen randomly picks an IP address from this sublist. As a result, thechosen IP address may not be on the same subnet.
The problem appears for all the values in which "1" bits in the client'snetid appear at the same position in the server netids. For example,suppose the client's IP address is 22.214.171.124 and the subnet mask is255.255.0.0. The client's netid is 157.9 which is 10011101.00001001 inbinary. In this case, all IP addresses with netids in the form1XX111X1.XXXX1XX1 will be considered as "local". This is the case inparticular for addresses like 157.11.x.y, 157.13.x.y, 157.15.x.y....
This problem has been corrected in the latest Service Pack for Windows NTversion 3.51.
Microsoft has confirmed this to be a problem in Windows NT versions 3.5 and3.51, Windows for Workgroups version 3.11, and Windows 95. This problem wascorrected in the latest Windows NT 3.51 U.S. Service Pack. For informationon obtaining the Service Pack, query on the following word in the MicrosoftKnowledge Base (without the spaces):