DNS Service Discovery is a way of using standard DNS programming interfaces, servers, and packet formats to browse the network for services.
If you think the picture below looks a lot like the old Macintosh AppleTalk “Chooser”, that’s no coincidence. As we move away from AppleTalk to an all-IP world, we don’t want to have to give up the convenience and ease of use that made AppleTalk popular, and made AppleTalk continue to be popular long after it should rightfully have been retired.
DNS Service Discovery is compatible with, but not dependent on, Multicast DNS.
Domain enumeration
When a user browes a domain he gets results based on what services are advestised in the
domain he browses. On a local basis it is pretty logical what domain is being browsed,
but in a wider perspective, something is needed to select a domain to browse. Of course
the user could do this, but that contradicts the zero configuration bit in zero configuration.
This leads us to Domain Enumeration. DNS-SD performs five queries of Domain
Enumeration:
• Where are interesting domains to browse
b._dns-sd._udp.<domain>.
• What is the recommended domain in that list
db._dns-sd._udp.<domain>.
• Where are recommended places to register my services
r._dns-sd._udp.<domain>.
• What is the recommended domain in that list of places
dr._dns-sd._udp.<domain>.
• Are there any additional domains in addition to the local domain (for legacy users)
17
lb._dns-sd._udp.<domain>.
By learning pieces of information about the network topology from the configuration it
has been assigned, (DHCP, DNS, Netmask etc) the client builds its DNS-SD Domain Enumeration
queries and checks for answers to the questions above.
参考:http://www.dns-sd.org/