\section{Host Names (DNS)}

% -----------------------------------------------------------------
\begin{slide}{}

   \subsection{Overview}

   \begin{sitem}
      \item Names versus Addresses
      \begin{sitem}
         \item names are variable length, mnemonic, easy for humans to 
               remember
         \item addresses are fixed length, tied to routing, and easy for 
               computers to process
      \end{sitem}
      \item Name Space
      \begin{sitem}
         \item defines set of possible names
         \item flat versus hierarchical
         \item consists of a set of name to value {\it bindings}
      \end{sitem}
   \end{sitem}

   \pichere{names.eps,height=3in}

\end{slide}
% -----------------------------------------------------------------
\begin{slide}{}

   \subsection{Domain Hierarchy}

   Example hierarchy

   \pichere{domains.eps,height=2in}

   Example name: {\tt cheltenham.cs.arizona.edu}

\end{slide}
% -----------------------------------------------------------------
\begin{slide}{}

   \subsection{Name Servers}

   Partition hierarchy into {\it zones}

   \pichere{zones.eps,height=2in}

   Each zone implemented by two or more {\it name servers}

   \pichere{servers.eps,height=3in}
\end{slide}
% -----------------------------------------------------------------
\begin{slide}{}

   \subsection{Resource Records}

   \begin{sitem}
      \item Each name server maintains a collection of {\it resource records}
      \begin{quote}
         {\tt $\langle$Name, Value, Type, Class, TTL$\rangle$}
      \end{quote}
      \item {\tt Name/Value}: not necessarily host names to IP addresses
      \item {\tt Type}
      \begin{sitem}
         \item {\tt NS}: the {\tt Value} field gives the domain name for
               a host running a name server that knows how to resolve names
               within the specified domain.
         \item {\tt CNAME}: the {\tt Value} field gives the canonical name for
               a particular host; it is used to define aliases.
         \item {\tt MX}: the {\tt Value} field gives the domain name for a
               host running a mail server that accepts messages for the 
               specified domain.
      \end{sitem}
      \item {\tt Class}: allow other entities to define types
      \item {\tt TTL}: how long the resource record is valid
   \end{sitem}
\end{slide}
% -----------------------------------------------------------------
\begin{slide}{}

   \subsection{Example}

   Root server:\\\
   \\
   \tt
   $\langle$arizona.edu, telcom.arizona.edu, NS, IN$\rangle$\\
   $\langle$telcom.arizona.edu, 128.196.128.233, A, IN$\rangle$\\
   \\
   $\langle$bellcore.com, thumper.bellcore.com, NS, IN$\rangle$\\
   $\langle$thumper.bellcore.com, 128.96.32.20, A, IN$\rangle$\\
   \\
   ...
   \rm
\end{slide}
% -----------------------------------------------------------------
\begin{slide}{}

   Arizona server:\\
   \\
   \tt
   $\langle$cs.arizona.edu, optima.cs.arizona.edu, NS, IN$\rangle$\\
   $\langle$optima.cs.arizona.edu, 192.12.69.5, A, IN$\rangle$\\
   \\
   $\langle$ece.arizona.edu, helios.ece.arizona.edu, NS, IN$\rangle$\\
   $\langle$helios.ece.arizona.edu, 128.196.28.166, A, IN$\rangle$\\
   \\
   $\langle$jupiter.physics.arizona.edu, 128.196.4.1, A, IN$\rangle$\\
   $\langle$saturn.physics.arizona.edu, 128.196.4.2, A, IN$\rangle$\\
   $\langle$mars.physics.arizona.edu, 128.196.4.3, A, IN$\rangle$\\
   $\langle$venus.physics.arizona.edu, 128.196.4.4, A, IN$\rangle$\\
   \\
   ...
   \rm
\end{slide}
% -----------------------------------------------------------------
\begin{slide}{}

   CS server:\\
   \\
   \tt
   $\langle$cs.arizona.edu, optima.cs.arizona.edu, MX, IN$\rangle$\\
   \\
   $\langle$cheltenham.cs.arizona.edu, 192.12.69.60, A, IN$\rangle$\\
   $\langle$che.cs.arizona.edu, cheltenham.cs.arizona.edu, CNAME, IN$\rangle$\\
   \\
   $\langle$optima.cs.arizona.edu, 192.12.69.5, A, IN$\rangle$\\
   $\langle$opt.cs.arizona.edu, optima.cs.arizona.edu, CNAME, IN$\rangle$\\
   \\
   $\langle$baskerville.cs.arizona.edu, 192.12.69.35, A, IN$\rangle$\\
   $\langle$bas.cs.arizona.edu, baskerville.cs.arizona.edu, CNAME, IN$\rangle$\\
   \\
   ...
   \rm
\end{slide}
% -----------------------------------------------------------------
\begin{slide}{}

   \subsection{Name Resolution}

   \pichere{resolution.eps,height=3in}

   \begin{sitem}
      \item Strategies
      \begin{sitem}
         \item forward
         \item iterative
         \item recursive
      \end{sitem}
      \item Local server
      \begin{sitem}
         \item need to know root at only one place (not each host)
         \item site-wide cache
      \end{sitem}
   \end{sitem}
\end{slide}




