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

FreeBSD Manual Pages

  
 
  

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 uni-
       cast 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 ser-
       vices 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 ques-
       tions 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 im-
       plied: 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  uni-
       cast  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 sin-
       gle  question  is  sent	and an answer is expected, if no answer	is re-
       ceived 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	inter-
       val between each	time, multiple answers may be received,	it's used as a
       way  for	monitoring 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  (in-
       stances).   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 additional section, is sup-
       pressed.

       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  examples 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 net-
       work browsing, where there may be multiple instances of the  same  ser-
       vice.

       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  pub-
       lish 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 resolved 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 ser-
       vice, 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	speci-
       fied as the arguments.

       mdnsd must be started as	root and upon start up	it  will  drop	privi-
       leges, 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,
       February	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