DNS-SD DNS Service Discovery

DNS-SD allows clients to discover a named list of service instances, given a service type, and to resolve those services to hostnames using standard DNS queries. The specification is compatible with existing unicast DNS server and client software, but works equally well with Multicast DNS in a zero-configuration environment.


It is a set of technologies that automatically creates a usable computer network based on TCP/IP when computers or network peripherals are interconnected. It does not require manual operator intervention or special configuration servers for Dynamic Host Configuration Protocol (DHCP) and Domain Name System (DNS).


Bonjour is a networking technology developed by Apple that makes it easy to set up and use devices and services on a network. Wide-Area Bonjour uses DNS Service Discovery along with DNS Update (RFC 2136) and TSIG security (RFC 2845).

DNS-based service discovery

Each service instance is described using a DNS SRV (RFC 2782) and DNS TXT (RFC 1035) record. A client discovers the list of available instances for a given service type by querying the DNS PTR (RFC 1035) record of that service type’s name; the server returns zero or more names of the form “.”, each corresponding to a SRV/TXT record pair. The SRV record resolves to the domain name providing the instance, while the TXT can contain service-specific configuration parameter. A client can then resolve the A/AAAA record for the domain name and connect to the service. Read More

DNS-SD with multicast

Multicast DNS (mDNS) is a protocol that uses packets similar to unicast DNS except sent over a multicast link to resolve hostnames. Each host listens on the mDNS port, 5353, and resolves requests for the DNS record of its .local hostname (e.g. the A, AAAA, CNAME) to its IP address. When an mDNS client needs to resolve a local hostname to an IP address, it sends a DNS request for that name to a well-known multicast address; the computer with the corresponding A/AAAA record replies with its IP address. The mDNS multicast address is for IPv4 and ff02::fb for IPv6 link-local addressing.

DNS service discovery (DNS-SD) requests can also be sent over a multicast link, and it can be combined with mDNS to yield zero-configuration DNS-SD. It still uses DNS PTR, SRV, TXT records to advertise instances of service types, domain names for those instances, and optional configuration parameters for connecting to those instances. But SRV records can now resolve to multicastable .local domain names, which mDNS can resolve to local IP addresses.