Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
MDNSD(8)		     System Manager's Manual			MDNSD(8)

NAME
     mdnsd -- Multicast DNS/DNS-SD daemon

SYNOPSIS
     mdnsd [-dvw] ifname [ifnames ...]

DESCRIPTION
     mdnsd  is	a  Multicast  Domain Name System (mDNS) daemon which acts as the
     host mDNS querier and responder.  mdnsd supports both raw mDNS as	well  as
     DNS-SD (Service Discovery) as described in the mDNS and DNS-SD RFCs.

     mDNS  is  a  way  to perform DNS-like operations via multicast in the local
     link, there is no hierarchy or multiple domains as in conventional  unicast
     DNS.  mDNS provides a way for hosts to co-operate and maintain a cache name
     database  which  can  then  be used to resolve local host names without the
     need of a central DNS server.

     DNS-SD is a convention on some names used in mDNS	to  provide  hosts  with
     Service  Discovery capabilities.  A host can publish a service of any type,
     be it a HTTP server, NTP server, a printer and so	on,  this  services  can
     then be browsed and resolved by the other hosts in the local network.

     There  are  basically two roles in a mDNS environment, the Querier, and the
     Responder.  The Querier is the entity responsible for sending questions and
     mDNS requests in the local link, it can't be done as it is in  libc,  where
     each  process does its own lookup, there must be something centralizing all
     the requests as there are various complications implied: cache, timers  and
     so on.

     The  Responder is the entity responsible for answering those queries, there
     should be only one responder per host.  Both roles are performed  by  mDNS.
     mDNS  operates  on  the  link-local multicast address 224.0.0.251 under UDP
     port 5353.  There are no multiple domains in mDNS as in  unicast  DNS,  the
     .local  domain  name  is the single mDNS domain name and it's where all the
     queries and answers take place.

     There are three basic types of mDNS question, in which mdnsd  uses  two  of
     them.   The  One-Shot  Query,  which  resembles unicast DNS, where a single
     question is sent and an answer is expected, if no	answer	is  received  it
     means  no	one  can answer that question.	This question is used for simple
     lookups.

     Continuous Multicast Query is a more complex way of querying,  the  querier
     will  send  the same question multiple times, doubling the interval between
     each time, multiple answers may be received, it's used as a way  for  moni-
     toring  the  Resource Records of the network.  This question is mainly used
     by network browsing in DNS-SD, where a question for a type of  service  may
     enumerate	one  or  more  instances,  for example, if browsing for the HTTP
     servers, there may be one or more servers	(instances).   To  diminish  the
     volume  of  redundant answers, a feature called Known Answer Suppression is
     present, in which the querier when performing a Continuous Multicast  Query
     places all the previous known answers in the additional section of the mDNS
     packet,  thus, any answer that would be given which is already in the addi-
     tional section, is suppressed.

     There are two type of Resource Records, Unique and Shared.

     Unique records are the ones which there may be only one answer  for  it  in
     the  local name, the A, PTR and HINFO under the hostname.local name are ex-
     amples of Unique records, it would be strange if two hosts would answer  an
     address  for  the	same foobar.local.  All Unique records must be Probed to
     verify its uniqueness, if a conflict is found, another name must be  chosen
     (Unimplemented).

     A	Shared record is used for PTR records in DNS-SD, a host may have as many
     answers as necessary for a shared record, it's used only in network  brows-
     ing, where there may be multiple instances of the same service.

     To access the mDNS services, a libmdns library will be provided in the near
     future,  programs	will  then, be able to link with libmdns and publish its
     own services though mDNS.	By now, only mdnsctl(8) is provided which  is  a
     command  line  interface to the daemon in the same fashion as ripctl(8) and
     ospfctl(8).

     When mdnsd starts up, it probes for its  hostname	(fetched  from	/etc/my-
     name),  if  there	isn't a conflict, it publishes an A and a PTR record for
     itself, both records will be under the .local domain,  which  is  the  mDNS
     single  domain  name.   All  the  other domain names in /etc/myname will be
     stripped, therefore foo.bar.midearth becomes foo.local, which  can  be  re-
     solved  through  mDNS.   If  a  conflict  is  found, then, there is another
     foo.local in the network and conflict resolution takes place.

     If Fl w was not specified, mdnsd will also publish a  Workstation	service,
     this service has no data itself, it's used to state that the host is up, it
     can be used for example, to browse every powered host on the local network.

     mdnsd  supports  multiple interfaces, the interfaces used must be specified
     as the arguments.

     mdnsd must be started as root and upon start up it  will  drop  privileges,
     change  it's  euid/egid to _mdnsd and chroot.  Therefore make sure you have
     user and group _mdnsd created.

     mDNS operations can be done with the mdnsctl(8) utility.

     The options are as follows:

     -d      Do not daemonize.	If this option is specified, debugging	will  be
	     enabled, mdnsd will run in the foreground and log to stderr.

     -w      Do not publish a workstation service on startup.

     -v      Print version and exit.

FILES
     /var/run/mdnsd.sock    Unix-domain   socket  used	for  communication  with
			    mdnsctl(8).

SEE ALSO
     mdnsctl(8)

     S. Cheshire and M. Krochmal, Multicast DNS, RFC 6762, February 2013.

     S. Cheshire and M. Krochmal, DNS-Based Service Discovery, RFC 6763,  Febru-
     ary 2013.

LICENSE
     mdnsd is released under the ISC license.

HISTORY
     The mdnsd program version 0.1 was released in 13 February 2011.

AUTHORS
     Christiano Farina Haesbaert <haesbaert@haesbaert.org>

BUGS
     No proper error return in mdnsl.c.

FreeBSD ports 15.quarterly	  Feb 06, 2011				MDNSD(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mdnsd&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help