This is an old revision of the document!


Multicast DNS

[http://www.multicastdns.org/ Multicast DNS (mDNS)] is a part of Zero Configuration Networking (Zeroconf) and provides the ability to address hosts using DNS-like names without the need of an existing (unicast), managed DNS server.

The project is divided into two phases each with a set of sub-projects. The sub-projects in phase 1 is more or less listed in the order they will be implemented in (they depend on each other), sub-projects in phase 2 is not listed in the same order as they will be implemented. Focus and priority will initially be on phase 1 only.

This is the core responder daemon, performs multicast dns queries on behalf of clients and acts as a unified cache to all clients. Provides the ability to announce its own mdns records onto the network. [:MulticastDNS/responderd:Details]

Provides a easy programming interface to the client side of responderd. Privileges operations include addition/removal of self-claimed records, while non-privileged operations are limited to basic host lookup routines.

Uses libmdns and hooks into the name-service switch system to expose mdns aware-versions of gethostby{name,name2,addr} and similar functions. Configuration file /etc/mdns.conf (similar to resolv.conf) will control the search space. Default would be .local

Utility named mdns (or similar) to provide basic host name lookup for debugging purposes and to provide a way to dynamically add and remove self-claimed mdns records.

(Need to do some more thinking on this part). The current idea is to have a separate library say, libsd which would expose a common API to both multicast based service discovery and wide-area service discovery (unicast).

A wrapper library around libmdns (and possibly libsd) to allow avahi-aware applications to work with mdns_responderd. It seems most normal avahi consumers performs queries through d-bus so this compat library will probably mimic this interface. The api avahi-core exposes will probably not be covered.

A wrapper library around libmdns (and possibly libsd) to allow apple dns_sd-aware applications to work with mdns_responderd. The API header (dns_sd.h) is released by Apple under a BSD-license.

  • multicastdns.1183835693.txt.gz
  • Last modified: 2007/07/07 19:14
  • by FredrikLindberg