What does the dynamic global hostname option in sharing settings do?

All computers running Mac OS X contain a feature called Bonjour. It works by sending multicast DNS packets out onto your current network to advertise your computer’s available services. This is how iTunes Sharing works; your computer tells other computers that it has a shared iTunes library available, and gives the computers instructions on where to connect to it. Over the past few weeks, I have been experimenting with an extension of the service called Wide Area Bonjour. Instead of sending out multicast DNS packets to your local network, it sends out similar packets to an actual DNS server, which with the correct authentication, updates actual zones in the DNS server. This essentially allows you to use the magic of Bonjour across many networks, or even the Internet. All that’s required is that each computer that is interested in your Bonjour domain has the domain listed in its “Search Domains” (or “DNS Suffix”). The service I have been testing out is Global Hostname, which will host a Wide Area Bonjour-enabled zone for you, either on your own domain, or a subdomain of globalhostname.org. Apple’s AirPort product range feature Wide Area Bonjour to enable you to control your AirPort from wherever you are.

Added:

Its purpose is to provide features similar to those offered by "Back to My Mac" without using the .Mac/MobileMe service. It requires that you have your own DNS server. If your service provider supports secure dynamic DNS update (RFC 3007), you can provide your Mac with a global DNS hostname so that other computers outside your local network can refer to it by name. Even if your computer’s IP address changes at regular intervals, your computer will automatically update its global DNS hostname to point to its current IP address. Your service provider or domain administrator will provide you with the necessary user name and password so your Mac can update its hostname every time its address changes. If your service provider supports Wide-Area Bonjour registrations, you can also select the “Advertise services in this domain using Bonjour” checkbox to advertise this computer’s active Sharing services in this domain. If the domain’s administrator enabled Bonjour browsing for this domain, other computers will see the services listed automatically in the respective application, based on the Search Domains entered in their Network preferences or based on information returned by DHCP. :)


The short story is this: when you see "global dynamic hostname", you are seeing the control for configuring a mechanism that Apple provides for making it easier to access your computer through a stable dedicated domain name on the Internet. But this mechanism has never worked well, since virtually no DNS hosts use it.

The long story is more involved.

There is another technology usually called "Dynamic DNS", which allows you to configure your computer so that it can be reached from the Internet, even though your computer is behind a home router. Being behind a home router usually obscures your computer's address from being visible to other machines on Internet. The way this technology works, is that you need to install a DynDNS client on your computer (or it is built in to your home router). That DynDNS client is always running. Every time your computer's address changes, the client tells a server what the new address is. Then other machines on the Internet can go to the server to find your computer's address, and can then reach your computer directly.

The upshot of all this is that the DynDNS client allows other machines to directly contact your computer via a stable domain name like "JohnComputer.john.something.com", even though your computer's actual address is hidden behind a router and is frequently changing. The benefit of this is it would make direct person-to-person communication services, like chat or screen sharing, easier to make and to use.

The keyword is "would". The problem is, even though dynamic DNS is relatively widely supported in routers, it is not widely supported enough that any popular communications service can count on it. Services like Skype and go2meeting that would benefit from it must instead build their own elaborate analogous server system in order to work. That's what they do.

What does this have to do with global dynamic hostnames?

Well, you remember how the technology called dynamic DNS is not widely used, even though it is relatively well supported in routers, and how it might also require installing a client on your computer?

Apple has for years implemented a competing, analogous technology called DNS Update. The client for it is built into every Mac, so you don't need to install anything! I believe Apple's Airport routers also have built in support for it (instead of the dynamic DNS system everyone else uses). And the great thing about DNS Update is that you don't need to rely on the oddball proprietary dynamic DNS servers for it to work. Instead, it's integrated with the normal DNS system, so you only need for your normal DNS host to support IETF proposals, RFC 2136 and RFC 3007. In many ways this is a much more logical system, as it integrates into the DNS infrastructure we are already using.

The downside is, I think there are only two consumer DNS hosts in the world that actually supports this system (Dyn/Oracle and ironDNS). So unless you're going to run your own DNS host, it is useless.


For hostname read domain name such as apple.stackexchange.com, john-pc.local or localhost

localhost is a static local hostname in that it is only accessible to a limited area (in this case a single device) and, by tradition, assigned to the same ip address: 127.0.0.1.

john-pc.local is (potentially) a dynamic local hostname in that while it will always refer to the same pc, the device's ip address will vary*.

(* Well at least it will in most household wi-fi networks where the router assigns devices local ip addresses in a manner which means that the ip address might change from time to time by using Dynamic Host Configuration Protocol or DHCP for short. The same system is frequently used by Internet Service Providers to assign ip address to their subscribers.)

apple.stackexchange.com is a static global hostname in that it is accessible to the while world and semi-permanently* assigned to the same ip address: 198.252.206.16.

(* The ip address can of course be changed but not as part of an automatic software process. )

johndoe.acme-dns-provider.xyz is (potentially) a dynamic global hostname. It is accessible to the while world always points toward the same device but the ip address changes with the device's. Whenever the device's ip address changes special software on the device would log on the the dns providers server and update the ip address record.