Answers:
所有运行Mac OS X的计算机都包含一项名为Bonjour的功能。它通过将多播DNS数据包发送到当前网络来通告您计算机的可用服务来工作。这就是iTunes共享的工作方式;您的计算机告诉其他计算机它具有可用的共享iTunes库,并向计算机提供有关连接到它的位置的说明。在过去的几周中,我一直在尝试扩展名为Wide Area Bonjour的服务。它没有将多播DNS数据包发送到您的本地网络,而是将类似的数据包发送到实际的DNS服务器,该服务器通过正确的身份验证更新了DNS服务器中的实际区域。这实际上使您可以在许多网络甚至Internet上使用Bonjour的魔力。所需要做的就是,对Bonjour域感兴趣的每台计算机都在其“搜索域”(或“ DNS后缀”)中列出该域。我一直在测试的服务是“全局主机名”,它将在您自己的域或globalhostname.org的子域上为您托管启用了广域Bonjour的区域。Apple的AirPort产品范围具有广域Bonjour功能,使您无论身在何处都可以控制AirPort。
添加:
其目的是在不使用.Mac / MobileMe服务的情况下提供类似于“返回我的Mac”所提供的功能。它要求您拥有自己的DNS服务器。如果服务提供商支持安全的动态DNS更新(RFC 3007),则可以为Mac提供全局DNS主机名,以便本地网络之外的其他计算机可以按名称引用它。即使您计算机的IP地址定期更改,您的计算机也会自动更新其全局DNS主机名以指向其当前IP地址。您的服务提供商或域管理员将为您提供必要的用户名和密码,以便您的Mac每次地址更改时都可以更新其主机名。如果您的服务提供商支持广域Bonjour注册,您还可以选中“使用Bonjour在此域中投放广告”复选框,以在此域中投放此计算机的活动共享服务。如果域的管理员启用了对该域的Bonjour浏览,则其他计算机将根据在其网络偏好设置中输入的搜索域或DHCP返回的信息,在相应的应用程序中自动看到列出的服务。:)
对于主机读取域名,例如apple.stackexchange.com
,john-pc.local
或localhost
localhost
是静态本地主机名,因为它只能在有限的区域(在这种情况下为单个设备)访问,并且按照传统,分配给相同的IP地址:127.0.0.1。
john-pc.local
是(可能)是动态本地主机名,因为它总是引用同一台PC,但设备的IP地址会有所不同*。
(*至少在大多数家用wi-fi网络中,路由器会以某种方式为设备分配本地IP地址,这意味着该IP地址可能会通过使用动态主机配置协议或简称DHCP随时更改。相同的Internet服务提供商经常使用该系统向其订户分配IP地址。)
apple.stackexchange.com
是一个静态的全局主机名,因为它可以被同时分配给同一个IP地址198.252.206.16的while世界和半永久性*访问。
(* IP地址当然可以更改,但不能作为自动软件过程的一部分。)
johndoe.acme-dns-provider.xyz
是(潜在地)动态全局主机名。虽然世界总是指向同一设备,但IP地址随设备的不同而改变,这是可以访问的。每当设备的ip地址更改时,设备上的特殊软件将登录dns提供程序服务器并更新ip地址记录。
简短的故事是:当您看到“全局动态主机名”时,您会看到用于配置Apple提供的机制的控件,该机制使Apple可以通过Internet上的稳定专用域名更轻松地访问计算机。但是,由于几乎没有DNS主机使用该机制,因此该机制从未奏效。
长话多说。
还有另一种通常称为“动态DNS”的技术,该技术使您可以配置计算机,以便即使您的计算机位于家庭路由器后面,也可以从Internet进行访问。位于家用路由器后面通常会使您的计算机地址无法被Internet上的其他计算机看到。该技术的工作方式是,您需要在计算机上安装DynDNS客户端(或内置在家庭路由器中)。该DynDNS客户端始终在运行。每当您的计算机地址更改时,客户端都会告诉服务器新地址是什么。然后,Internet上的其他计算机可以转到服务器以找到您的计算机的地址,然后可以直接访问您的计算机。
所有这一切的结果是,即使您计算机的实际地址隐藏在路由器后面并且经常更改,其他计算机也可以通过稳定的域名(例如“ JohnComputer.john.somethingsomething.com”)直接与您的计算机联系。这样做的好处是可以使直接的人对人通信服务(例如聊天或屏幕共享)更易于使用。
关键字是“ Would”。问题是,即使路由器中相对广泛地支持动态DNS,也没有足够广泛的支持,以至于任何流行的通信服务都不能依靠它。要从中受益的Skype和go2meeting之类的服务必须构建自己精心设计的类似服务器系统才能正常工作。那就是他们的工作。
这与全局动态主机名有什么关系?
好了,您还记得,即使路由器中相对较好地支持动态DNS技术,也没有得到广泛使用,它又可能还需要在计算机上安装客户端吗?
苹果多年来已经实施了一种竞争性的类似技术,称为DNS更新。它的客户端内置于每台Mac中,因此您无需安装任何东西!我相信Apple的Airport路由器也已经内置了对它的支持(而不是其他所有人使用的动态DNS系统)。而且,DNS更新的优点在于,您无需依赖怪异的专有动态DNS服务器即可正常工作。相反,它与普通的DNS系统集成在一起,因此您只需要普通的DNS主机即可支持IETF提案RFC 2136和RFC3007。从很多方面来说,这是一个更具逻辑性的系统,因为它已集成到DNS基础架构中,已经在使用。
缺点是,我认为世界上只有两个消费者DNS主机实际支持该系统(dyn.com和irondns.com)。因此,除非您要运行自己的DNS主机,否则它是没有用的。