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.

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.1176812624.txt.gz
  • Last modified: 2007/04/17 12:23
  • by FredrikLindberg