\subsection{Extensions to the DNS protocol}

\subsubsection{Multicast DNS}
\term{Multicast DNS}~\cite{rfc6762} (mDNS) describes an extension of the Domain Name
System that allows DNS resource records to be distributed on multiple hosts in a
network, therefore avoiding the need of a central server.

Software that supports resolution of mDNS records listens on the reserved
link-local multicast address \code{224.0.0.251} (for IPv4 queries) or
\code{FF02::FB} (for IPv6 queries) on UDP port 5353 for incoming queries.
Queries sent to those multicast address and port are standard DNS queries, and
if a host receiving a query knows about the queried resource, it responds to the
querying host with a standard DNS response. The querying host can then simply
finish and use the result, or wait until other hosts respond to its query. The
latter is typically the case when querying for \code{SRV} records to obtain a
list of services which are present in the network.

Another feature of Multicast DNS is the reduction of traffic through
\term{Known-Answer Suppression}. It allows a querying host to specify already
known resources in its query when querying resources that could exist on more
than one host (e.~g., SRV records). The hosts matching those resources then do
not generate a response.

Finally, hosts may also send unsolicited responses. This can be used to notify
the network of new services available on the host.

\pages{1}

\subsubsection{DNS-Based Service Discovery}
\todo
\term{DNS-based Service Discovery} \cite{rfc6763}
\begin{itemize}
	\item allows flexible mapping of available services to ports
	\item utilization of SRV \cite{rfc2782}, TXT and PTR records 
	\item case study for IoT in \cite{Klauck:2012:BCC:2352852.2352881}
\end{itemize}

\pages{1}
% vim: set ft=tex et ts=2 sw=2 :
