tags:

views:

43

answers:

2

On my home network, I am able to ping between my XP machines just fine. I can also ping my Mac from the XP machines. However when I attempt to ping my XP machines from the OSX terminal I get 'unknown host' even when I add .local to the machine name. Pinging works if I use the IP address of the XP machine.

Some background...I am attempting to setup ssh so that I can scp between the machines. It would also be nice for Synergy so that I don't have to type in the IP address everytime the machine restarts.

Any ideas?

A: 

After installing iTunes on my XP box, it appears that I can now ping it with computer_name.local

Not sure why that is the case.

dr_pepper
+1  A: 

Short summary: OS X and Windows use mostly-incompatible protocols to advertise themselves and discover their neighbors on the local network.

Windows computers advertise themselves with NetBIOS name service, and do lookups via both regular DNS and NetBIOS. Recent versions also use Link-local Multicast Name Resolution.

OS X computers, on the other hand, advertise themselves with multicast DNS (aka mDNS or Apple's tradename Bonjour) (which is not compatible with LLMNR); when OS X looks for another computer by name, it'll either look for it via mDNS (for names ending in .local) or in the regular DNS (everything else). If you have Windows file services turned on, Macs will also advertise themselves over NetBIOS (but they won't generally use it for name lookups).

The only protocol the OSes really have in common is regular DNS, and unless you have some sort of dynamically-updated DNS (e.g. a Windows Active Directory domain) the computers won't be automatically listed there. I suspect the reason .local names started working when you installed iTunes on the Windows machines is that iTunes, being an Apple product, uses Bonjour (/mDNS) to advertise itself and hence the computer it's on.

Gordon Davisson
Thanks for the summary, I noticed that once I installed iTunes I now have a process named mDNSResponder.exe that is currently running.
dr_pepper