Windows – How does machine name resolution work when not on a domain

home-networkingnetworkingwindowsworkgroup

I've got 4 Windows machines (3 x Win7, 1 x WinXP) and various other devices on my home network, using a Linksys WRT54 wireless router. I don't have a domain server, and I have had issues with some of the machines not being able to resolve the hostname of other machines.

How does that work when one doesn't have a DNS server? I've set them all up with the same workgroup name but a ping fails with "Ping request could not find host…".

How might I find the cause for this issue? Are there specific things on Windows Firewall that would prevent it from working?

Best Answer

Windows machines use their own techniques for resolving the IP of other hosts, most commonly broadcasts or multicasts to advertise it is available on the network.

For example, Windows XP uses NetBIOS Name Service to advertise and resolve, using broadcast packets. Starting with Vista, multicast-based LLMNR is also available, while Mac OS X and Linux use a very similar mDNS, although NetBIOS remains the most widely supported.

If you want to be sure to be able to contact the other hosts, you could always edit the hosts file for resolution. That way is only an option if you have static IPs.

  • Verify what is happening on the network with Wireshark, though it might be a bit to advanced for you. With Wireshark you can see the network traffic flowing over your NIC.
  • Try shutting down your firewall temporarily, then try to ping the other hosts.
  • Verify that NetBIOS is working.
Related Question