在我的家庭networking上,我可以在我的XP机器之间进行通信。 我也可以从XP机器上ping我的Mac。 但是,当我尝试从OSXterminalping我的XP计算机时,即使将.local添加到计算机名称,我也会得到“未知主机”。 如果我使用XP机器的IP地址,Pinging工作。
一些背景…我试图设置SSH,以便我可以在机器之间的SCP。 这对Synergy来说也是很好的,所以每次机器重新启动时都不必inputIP地址。
有任何想法吗?
简短总结:OS X和Windows使用主要不兼容的协议来宣传自己,并在本地网络上发现其邻居。
Windows计算机使用NetBIOS名称服务自行公布,并通过常规DNS和NetBIOS进行查找。 最近的版本也使用链路本地多播名称解析 。
另一方面,OS X计算机则使用多播DNS (又名mDNS或Apple的商品名Bonjour)(与LLMNR 不兼容)宣传自己。 当OS X按名称查找另一台计算机时,它将通过mDNS(以.local结尾的名称)或常规DNS(其他所有内容)查找它。 如果您打开了Windows文件服务,Mac也会通过NetBIOS进行自我宣传(但通常不会将其用于名称查找)。
操作系统真正具有的唯一协议是常规DNS,除非您有某种动态更新的DNS(例如Windows Active Directory域),否则计算机将不会自动列在那里。 我怀疑当你在Windows机器上安装iTunes时,.local名称开始工作的原因是作为苹果公司产品的iTunes使用Bonjour(/ mDNS)来宣传自己,因此它的计算机已经启动。
在我的XP机器上安装iTunes之后,看起来我现在可以用computer_name.local进行ping了
不知道为什么这样。