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

FreeBSD Manual Pages

  
 
  

home | help
mdnsd(8)		FreeBSD	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
     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 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 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 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
     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 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 network
     browsing, 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/myname), 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 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. There-
     fore 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	11.2		      September	20, 2018		  FreeBSD 11.2

NAME | SYNOPSIS | DESCRIPTION | FILES | SEE ALSO | LICENSE | HISTORY | AUTHORS | BUGS

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

home | help