views:

275

answers:

2

This is not yet particularly programing related but, I am very interested in how Vista and XP resolve network names in a home LAN situation.

With Windows 2000, network name resolution was either done via the netbeui protocol - tcp/ip networks needes a wins server. XP and Vista no longer install netbeui by default, so its entirely unclear to me how PCs on a lan are meant to find each other.

One part of the puzzle's solution seems to be, IF there is a router appliance on the network that is configured as a DHCP server (and, as a result, a DNS server) then DNS queries of PC names tend to resolve.

In the more isolated case - a couple of XP and Vista PCs connected to an ethernet hub, configured to talk only tcp/ip - what services and what protocols are involved in name resolution and broadcasting?

A: 

It looks like Peer Name Resolution Protocol is being used with Vista and XP.

Peer Name Resolution Protocol http://technet.microsoft.com/en-us/library/bb726971.aspx

People Near Me http://technet.microsoft.com/en-us/library/bb726969.aspx

Edit: After doing a little bit more digging after Chris's comment, here is a link on how Windows XP Professional resolves names: http://technet.microsoft.com/en-us/library/bb457118.aspx#ECAA

Chris Roland
It seems not. PNRP is an ipv6 protocol. And XP, that dropped netbeui, could be workgrouped with Win2K workstations.
Chris Becke
+2  A: 

It's been a while since I've had to deal with this sort of thing professionally, so I doubt I could give you an accurate off-the-cuff answer, but I'll say this: If you have access to a network similar to the one you are interested in, I highly recommend you install Wireshark or a similar tool on one of the machines involved and simply observe the traffic on the network in question. It's very easy to do and yields reliable information about a particular configuration very quickly, even when reality differs significantly from what one might reasonably expect. I've often been really surprised by some of the things I've seen, especially when it comes to name resolution.

Generating name lookup traffic is simplicity itself -- in fact, Wireshark itself might try to look up names in order to include them in its output, unless you ask it not to, so you might not need to take any explicit action at all, depending. Do remember to watch out for caches and switches.

zaphod
while not an answer to the question, I have looked at WireShark and it definately is the tool for situations like this.
Chris Becke