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
       drafts.

       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 services can then be browsed and  re-
       solved 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 All-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	 ques-
       tion  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	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 (instances).

       To diminish the volume of redundant answers, a feature called Known An-
       swer  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 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  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 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
       resolved	through	MDNS. If a conflict is found, then, there  is  another
       foo.local in the	network	and conflict resolution	takes place.

       If -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 lo-
       cal 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  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)

       MDNS    Draft,	  http://files.multicastdns.org/draft-cheshire-dnsext-
       multicastdns.txt, July 2010.

       DNS-SD Draft, http://files.dns-sd.org/draft-cheshire-dnsext-dns-sd.txt,
       January 2011.

LICENSE
       mdnsd is	released under the ISC license.x

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 14.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+14.3.quarterly>

home | help