Win95 name resolution ????

Mike Brodbelt m.brodbelt at acu.ac.uk
Thu May 4 12:28:54 GMT 2000



Steven Law wrote:
> 
> Hi all,
> 
> Can someone explain exactly how Windows does naming resolution ? Here's
> my setup and my problem ...
> 
> Windows 95 / Solaris 7 network with Samba 1.9.18
> 
> Windows PC with local IP and DNS servers defined and WINS turned off.
> I have NetBIOS using DNS for name resolution.

How exactly did you set this up??

> I then
> tried ping and it also timed out because it was trying to connect to the
> old IP address.  I have no local hosts file or lmhosts file on my PC.
> 
> Can anyone suggest where my PC is getting the old IP address from ?

Your PC has probably made a broadcast request for the NetBIOS name,
which the old machine has responded to.

Simplistically put, windows machines resolve names in one of ways.
NetBIOS name resolution can be set to B-node, P-node, H-node, or M-node.
P-node means that the client talks directly to a NetBIOS name server
(WINS server) to resolve the name. B-node means that the client makes a
broadcast request for a name, and the machine in question will respond
with its IP address (assuming you're using IP). H and M node (hybrid,
and mixed) are simply combinations - they use broadcast, then Wins, or
vice-versa. The NetBIOS names are a totally separate namespace from your
DNS names. Windows ping confuses the issue massively, by looking up
hosts by both their NetBIOS name, and their DNS name. I'd advise against
ever using it where naming is an issue - I consider this behaviour to be
a serious misfeature/bug...

I'd say you've suceeded in changing the IP address to which your DNS
name points, but not the address to which your NetBIOS name points. Try
pinging the machine with a clean ping (i.e. from a Unix/Linux box, or
maybe a Windows ping utility other than Microsoft's). This should give
the results you expect. Then try with the Windows ping, and you should
the bogus results again.

To fix your problem, you'd need to give the new machine the same NetBIOS
name as the old. AFAIK, Windows doesn't support the concept of a NetBIOS
alias, as the DNS does, so you'd have to stop Samba on one machine, and
bring it up on the other. Cached browser information around the network 
will play havoc for a while if you do this. Also, running with different
NetBIOS/DNS manes for the same machine, while possible, will cause you
grief. My advice would be to configure the new machine with it's own
name/IP address, and when you're completely happy with it, take the old
machine off the network, and change the IP address and name of the new
machine to be that of the old. Then bring the new machine back up, and
sometime later you can change the IP address of the old machine back to
something sensible.

HTH

Mike.


More information about the samba mailing list