\input{gl2.slide-header-beamer}%
\errorcontextlines=99
%% Subtopic Number = '1.113.5'
%% Title from filename: 'Setup and configure basic DNS services'
%% Weight: 4
%% Description:
%% Candidate should be able to configure hostname lookups and
%%        troubleshoot problems with local caching-only name server. Requires an
%%        understanding of the domain registration and DNS translation process.
%%        Requires understanding key differences in configuration files for bind 4
%%        and bind 8.
%% Key files, terms, and utilities include:
%%        /etc/hosts
%%        /etc/resolv.conf
%%        /etc/nsswitch.conf
%%        /etc/named.boot (v.4) or /etc/named.conf (v.8)
%%        named
\title{1.113.5\\Setup and configure basic DNS services\\Weight 4}
\author[Andrew Eager]{Andrew Eager \texttt{andrew.eager@aes-pl.com.au}
  \and Geoffrey Robertson \texttt{ge@ffrey.com} \and Nick Urbanik
  \texttt{nicku@nicku.org}\\
  {\tiny This document Licensed under GPL---see
    section~\ref{sec:license}}}%
\subtitle{Linux Professional Institute Certification --- 102}%
\mode<article>{\chead{1.113.5}}%

% Are the diagrams in pstricks or something else?
% convert to something that works without pstricks, or that works with pdf.

\begin{document}
\maketitle
\mode<article>{\thispagestyle{empty}}

\begin{frame}
  \frametitle{Outline}
  \mode<presentation>
  {%
    %\footnotesize
    \begin{multicols}{2}
      \tableofcontents
    \end{multicols}
    % You might wish to add the option [pausesections]
  }%
  \mode<article>
  {%
    \tableofcontents
  }%
\end{frame}

\section{Context}
\label{sec:context}

\begin{frame}
  \frametitle{Topic 113 Networking Services [24]}%
  \framesubtitle{Where we are up to}%
    \begin{description}
    \item[1.113.1] Configure and manage inetd, xinetd, and related
      services [4]
    \item[1.113.2] Operate and perform basic configuration of sendmail [4]
    \item[1.113.3] Operate and perform basic configuration of Apache [4]
    \item[1.113.4] Properly manage the NFS, smb, and nmb daemons [4]
    % \uline depends on \usepackage[normalem]{ulem}:
    \item[1.113.5] \textbf{\uline{Setup and configure basic DNS
          services [4]}}
    \item[1.113.7] Set up secure shell (OpenSSH) [4]
    \end{description}
\end{frame}


\section{Objective}
\label{sec:objective}


\begin{frame}
  %% GENERATED SLIDE
  \frametitle{Description of Objective}%
  \framesubtitle{1.113.5\ \ Setup and configure basic DNS services}%
  \mode<presentation>{\Large}%
  Candidate should be able to configure hostname lookups and
  troubleshoot problems with local caching-only name server. Requires
  an understanding of the domain registration and DNS translation
  process.  Requires understanding key differences in configuration
  files for bind 4 and bind 8.
\end{frame}

\begin{frame}[fragile]
  %% GENERATED SLIDE
  \frametitle{Key files, terms, and utilities include:}%
  \framesubtitle{1.113.5\ \ Setup and configure basic DNS services}%
  % \mode<presentation>{\large}%
  \begin{description}
  \item[\texttt{/etc/hosts}] --- file that maps host names
   $\leftrightarrow$ IP addresses
 \item[\texttt{/etc/resolv.conf}] --- configuration file used to
   determine which name server(s) to consult
 \item[\texttt{/etc/nsswitch.conf}] --- tells system which order to
   consult various sources of naming information
 \item[\texttt{/etc/named.boot} (v.4) or \texttt{/etc/named.conf}
   (v.8)] --- configuration file for \texttt{named}.
 \item[\texttt{named}] --- the name server executable
 \end{description}
\end{frame}


\section{DNS --- Domain Name Service}
\label{sec:dns}

\begin{frame}
  \frametitle{DNS - Domain Name Service}
  \begin{itemize}
    \pause
    % \overlay{1}
  \item The internet works with numbers not names.
    \par\texttt{www.abc.gov.au} is really 203.2.218.61
    \pause
    % \overlay{2}
  \item DNS namespace is made up of a tree of domain names.
    \pause
    % \overlay{3}
  \item At the top is root (.)
    \pause
    % \overlay{4}
  \item Below this is the Top Level Domain (TLD) 
    \pause
    % \overlay{5}
  \item Below the TLD is the Second Level Domain.
    \pause
    % \overlay{6}
  \item The Second level domain is handled by whoever 'owns' that domain
    \pause
    % \overlay{7}
  \item Third \& lower level domains are handled by the domain owner.
  \end{itemize}
\end{frame}

\begin{frame}[fragile]
  \frametitle{DNS - Domain Name Service}
  \begin{itemize}
    \pause
    % \overlay{1}
  \item Example:
\begin{verbatim}
node1.office.my-domain.com
^       ^       ^       ^
|       |       |       |
|       |       |       -- Top level domain
|       |       -- Second level domain                                  
|       - Subdomain 
-- Hostname
\end{verbatim}
    \pause
    % \overlay{2}
  \item Domain names are fully qualified (FQDN) when a name is specified all
    the way down to the hostname.
  \end{itemize}
\end{frame}
%-----------------------------------------------------------

%==============================================================================

\section{Resolving a Name}
\label{sec:resolving-a-name}


%==============================================================================
\begin{frame}[fragile]
  \frametitle{Resolving A Name}
  \begin{itemize}
    \pause
    % \overlay{1}
  \item A name is resolved using the following steps:
    \begin{itemize}
      \pause
      % \overlay{2}
    \item \texttt{/etc/nsswitch.conf} is checked to see what resolution
      method to use (eg: read \texttt{/etc/hosts}, use dns, use nis...)
      \pause
      % \overlay{3}
    \item \texttt{nsswitch} says ``\red{use dns}'':
      \begin{itemize}
        \pause
        % \overlay{4}
      \item Read \texttt{resolv.conf} to see what name server to use
        \pause
        % \overlay{5}
      \item Send request to name server and wait for response
      \end{itemize}
      \pause
      % \overlay{6}
    \item \texttt{nsswitch} says ``\blue{use hosts}''
      \begin{itemize}
        \pause
        % \overlay{7}
      \item Lookup \texttt{/etc/hosts} for a matching hostname  
      \end{itemize}
    \end{itemize}
  \end{itemize}
\end{frame}

\section{\texttt{/etc/nsswitch.conf}}
\label{sec:nsswitch.conf}

\begin{frame}
  \frametitle{The \texttt{nsswitch.conf} file}
  \begin{itemize}
    \pause
    % \overlay{1}
  \item This is a file that determines what mechanisms are used by the 
    hostname library calls to resolve names.
    \pause
    % \overlay{2}
  \item The file contains lines with an identifier followed by a list of 
    methods to use for name lookups.  
    \pause
    % \overlay{3}
  \item An example:
    \begin{description}
    \item[passwd:] files nisplus nis
    \item[shadow:] files nisplus nis
    \item[group:] files nisplus nis
    \end{description}
    \textbf{hosts:   db files dns}
    \pause
    % \overlay{4}
  \item Note that the other entries like \texttt{passwd},
    \texttt{shadow} and \texttt{group} are used for other applications
    like \texttt{login} and have nothing to do with DNS.
  \end{itemize}
\end{frame}
%-----------------------------------------------------------
%==============================================================================
%==============================================================================
\begin{frame}
  \frametitle{The \texttt{nsswitch.conf} file}
  \begin{itemize}
    \pause
    % \overlay{1}
  \item In the hosts line, we see that any hostname to be looked up will be
    done in the following order:
    \begin{enumerate}
    \item Use local databases file (.db files in \texttt{/var/db})
    \item Read \texttt{/etc/hosts}
    \item Search DNS
    \end{enumerate}
    \pause
    % \overlay{2}
  \item The Search options can be one of:
    \par
    \begin{tabularx}{\linewidth}{@{}>{\ttfamily}lcY@{}}
      nisplus (or nis+) & --- & Consult NIS+ (Yellow Pages)\\
      nis (or yp)       & --- & Consult NIS\\
      dns               & --- & Use a DNS server\\
      files             & --- & Use local files like \texttt{/etc/hosts}\\
      db                & --- & Use local database files\\
      compat            & --- & Use NIS in compat mode\\
      {}[NOTFOUND=return] & --- & Stop searching and return host notfound
    \end{tabularx}
  \end{itemize}
\end{frame}
%-----------------------------------------------------------

%==============================================================================
%==============================================================================
\begin{frame}[fragile]
\frametitle{An example \texttt{nsswitch} file:}
{\mode<presentation>{\scriptsize}%
\begin{semiverbatim}
passwd:     db files nisplus nis
shadow:     nisplus
group       db files nisplus nis

hosts:      db files nis dns

# Example - obey only what nisplus tells us...
#services:   nisplus [NOTFOUND=return] files
#networks:   nisplus [NOTFOUND=return] files
#protocols:  nisplus [NOTFOUND=return] files
#rpc:        nisplus [NOTFOUND=return] files
#ethers:     nisplus [NOTFOUND=return] files
#netmasks:   nisplus [NOTFOUND=return] files     

bootparams: nisplus [NOTFOUND=return] files

ethers:     files
netmasks:   files
networks:   files nis
protocols:  files nisplus
rpc:        files
services:   files nisplus

netgroup:   files nisplus

publickey:  nisplus

automount:  files nisplus
aliases:    files nisplus
\end{semiverbatim}
}
\end{frame}
%-----------------------------------------------------------

%==============================================================================

\section{\texttt{/etc/resolv.conf}}
\label{sec:resolv.conf}


%==============================================================================
\begin{frame}[fragile]
  \frametitle{The \texttt{/etc/resolv.conf} file}
  \begin{itemize}
    \pause
    % \overlay{1}
  \item This file configures how the system uses DNS.  An example:
\begin{semiverbatim}
search aes 
nameserver 10.27.1.10
nameserver 10.27.1.254    
\end{semiverbatim}
    \pause
    % \overlay{2}
  \item The 'search' line says what to append to a non-fully qualified
    name:\\
    eg: \texttt{ping node10} $\to$ \texttt{ping node10.aes} \pause
    % \overlay{3}
  \item The \texttt{nameserver} lines tell the hostname routines which
    dns server to send requests to. (If first lookup fails, use the
    second, third)
  \end{itemize}
\end{frame}
%-----------------------------------------------------------

%==============================================================================

\section{BIND}
\label{sec:bind}


%==============================================================================
\begin{frame}
  \frametitle{BIND - Berkley Internet Name Domain}%
  \begin{itemize}
    \pause
    % \overlay{1}
  \item Bind is just one implementation of a DNS.  Bind is to DNS what
    Apache is to http.
    \pause
    % \overlay{2}
  \item Bind is configured with:
    \begin{description}
    \item[\texttt{/etc/named.conf}]   --- For BIND V8
    \item[\texttt{/etc/named.boot}]   --- For BIND V4
    \end{description}
    \pause
    % \overlay{3}
  \item Know that there is a difference between V4 \& V8.
    \pause
    % \overlay{4}
  \item Know how to configure V8 but not V4. (Different syntax)
  \end{itemize}
\end{frame}

\section{BIND configuration}
\label{sec:bind-configuration}

\begin{frame}
  \frametitle{BIND Configuration}
  \begin{itemize}
  \item The configuration file contains subsections as follows:
    \begin{itemize}
      \pause
      % \overlay{1}
    \item Options \(\rightarrow{}\) How \texttt{named} will operate
      \pause
      % \overlay{2}
    \item logging \(\rightarrow{}\) What/how \texttt{named} will log
      information \pause
      % \overlay{3}
    \item Access Lists \(\rightarrow{}\) Who can use \texttt{named} \&
      what they can do \pause
      % \overlay{4}
    \item Remote Servers \(\rightarrow{}\) Characteristics of remote
      servers \pause
      % \overlay{5}
    \item zones \(\rightarrow{}\) Information about our defined
      domains
    \end{itemize}
  \end{itemize}
\end{frame}

\begin{frame}[fragile]
  \frametitle{An Example Config file:}
  {\mode<presentation>{\scriptsize}%
\begin{verbatim}
options {
        directory "/var/named/";
        forward only;
        forwarders {
            203.2.75.132;
            203.2.75.108;
        };
        query-source address * port 53;
        listen-on {
            10.27.1.10;
            127.0.0.1;
        };
        notify no;
};

#### The root zone ###
zone  "." {
        type hint;
        file  "named.ca";
};
\end{verbatim}
  }
\end{frame}

%-----------------------------------------------------------

\begin{frame}[fragile]
  \frametitle{An Example Config file --- continued}
  {\mode<presentation>{\scriptsize}%
\begin{verbatim}
#### A zone for localhost ###
zone  "0.0.127.in-addr.arpa" {
        type master;
        file  "0.0.127.in-addr.arpa.zone";
};

zone  "localhost" {
        type master;
        file  "localhost.zone";
};

### A local domain ###
zone  "1.27.10.in-addr.arpa" {
        type master;
        file  "1.27.10.in-addr.arpa.zone";
};

zone  "aes" {
        type master;
        file  "aes.zone";
};


key "key" {
        algorithm hmac-md5;
        secret "JoqlFqtncqurkhMOrrbQLYRcxSYXoNROvNTZBqWJFumleNkzOvEvTAbqpbMV";
};
\end{verbatim}
  }
\end{frame}


\section{Zone Files}
\label{sec:zone-files}

\begin{frame}
  \frametitle{Zone files:}
  \begin{itemize}
    \pause
    % \overlay{1}
  \item Each zone uses a file for:
    \begin{itemize}
      \pause
      % \overlay{2}
    \item Hostname to IP address translations (Forward lookups)
      \pause
      % \overlay{3}
    \item IP to Hostname translatoins (Reverse lookups) 
    \end{itemize}
    \pause
    % \overlay{4}
  \item The names can be anything, but usually:
    \begin{itemize}
      \pause
      % \overlay{5}
    \item Forward file $\to$ \meta{domain}.zone
      \pause
      % \overlay{6}
    \item Reverse file $\to$ \meta{Net-IP}\texttt{.in-addr.arpa}
    \end{itemize}
    \pause
    % \overlay{7}
  \item \ldots\,where the \meta{Net-IP} is the network part of the IP
    address.
  \end{itemize}
\end{frame}

\subsection{Zone Records}
\label{sec:zone-records}

\begin{frame}
  \frametitle{Zone Records:}
  \begin{description}
    \pause
    % \overlay{1}
  \item[SOA record] Marks the start of a zone, indicating which name
    server is the primary name server
    \pause
    % \overlay{2}
  \item[NS record] Defines the name server for a zone or subdomain
    \pause
    % \overlay{3}
  \item[MX record] Define mail servers for domain
    \pause
    % \overlay{4}
  \item[CNAME record] Defines an alias for a hostname
    \pause
    % \overlay{5}
  \item[LOC record] Defines the physical location of the server
    \pause
    % \overlay{6}
  \item[SRV record] Defines what services are found where (eg ftp, http etc)
    \pause
    % \overlay{7}
  \item[A record]  Defines hostname to IP address translations (forward file)
    \pause
    % \overlay{8}
  \item[PTR record] Defines IP address to hostname translations (reverse file)
  \end{description}
\end{frame}

\subsection{Example forward zone}
\label{sec:example-forward}

\begin{frame}[fragile]
  \frametitle{Example Forward file \texttt{/var/named/aes.zone}}
  {\scriptsize
\begin{verbatim}
@       IN      SOA     node10.aes.  root.localhost (
                        2 ; serial
                        28800 ; refresh
                        7200 ; retry
                        604800 ; expire
                        86400 ; ttl
                        )

@       IN      NS      node10.aes.

node5   IN      MX      10      mail
node6   IN      MX      10      mail
node4   IN      MX      10      mail
node2   IN      MX      10      mail
node10  IN      MX      10      mail
gw      IN      MX      10      mail

node10  IN      A       10.27.1.10
node2   IN      A       10.27.1.2
node4   IN      A       10.27.1.4
node5   IN      A       10.27.1.5
node6   IN      A       10.27.1.6
cds     IN      A       10.27.1.99
gw      IN      A       10.27.1.254

ns      IN      CNAME   node10
mail    IN      CNAME   node10
node-4  IN      CNAME   node4
\end{verbatim}
}
\end{frame}

\subsection{Example reverse zone}
\label{sec:example-reverse}

\begin{frame}[fragile]
  \frametitle{Example reverse file
    \texttt{/var/named/1.27.10.in-addr.arpa.zone}}%
  {\mode<presentation>{\scriptsize}%
\begin{verbatim}
@       IN      SOA     @       root.localhost (
                        2 ; serial
                        28800 ; refresh
                        7200 ; retry
                        604800 ; expire
                        86400 ; ttk
                        )


@       IN      NS      ns.aes.

2       IN      PTR     node2.aes.
4       IN      PTR     node4.aes.
5       IN      PTR     node5.aes.
6       IN      PTR     node6.aes.
10      IN      PTR     node10.aes.
99      IN      PTR     cds.aes.
254     IN      PTR     gw.aes.
\end{verbatim}
  }
\end{frame}
%-----------------------------------------------------------

%==============================================================================

\section{Caching Only name server}
\label{sec:caching-only}


%==============================================================================
\begin{frame}[fragile]
  \frametitle{Configuring a Caching only Nameserver}%
  \begin{itemize}
    \pause
    % \overlay{1}
  \item A caching only nameserver is simple to setup.\\
    The first time a name is needed, a normal lookup occurs (Authorative)\\
    The next time that name is needed, it is returned from cache
    (Non-authorative)
    \pause
    % \overlay{2}
  \item Under /etc/named.conf in the options section, just make sure you
    have the following directives set:
\begin{semiverbatim}
options \{
        directory "/var/named/";
        forward only;
        forwarders \{
            \meta{First DNS to query};
            \meta{Second DNS to query};
        \};
        listen-on \{   \meta{Your local IP address};
            127.0.0.1;
        \};
\end{semiverbatim}
    \pause
    % \overlay{3}
  \item Leave the root zone (\texttt{.}) and localhost entries as they are.
  \end{itemize}
\end{frame}

\section{Testing DNS}
\label{sec:testing-dns}

\begin{frame}
  \frametitle{Testing DNS}
  \begin{itemize}
    \pause
    % \overlay{1}
  \item To test DNS, use one of the following tools:
    \begin{itemize}
      \pause
      % \overlay{2}
    \item \texttt{nslookup} (deprecated)
      \pause
      % \overlay{3}
    \item \texttt{dig}
      \pause
      % \overlay{4}
    \item \texttt{host}
    \end{itemize}
    \pause
    % \overlay{5}
  \item To use in their simplest form, just add the hostname you wish
    to query as the first option to the command:
    \par
    \cmd{nslookup node16.c223}\linebreak
    \cmd{dig node16.c223}\linebreak
    \cmd{host node16.c223}
  \end{itemize}
\end{frame}

\subsection{\texttt{nslookup}}
\label{sec:nslookup}

\begin{frame}[fragile]
  \frametitle{\texttt{nslookup}}
  \begin{itemize}
    \pause
    % \overlay{1}
  \item Usage:  \texttt{nslookup [option] host-to-find [-name-server]} \linebreak
    Example:
    \par
    \cmd{nslookup node2.aes -10.27.1.10}
    \pause
    % \overlay{2}
  \item Note: \texttt{nslookup} is deprecated and may be removed from
    future releases.  Consider using the `\texttt{dig}' or
    `\texttt{host}' programs instead.  Run \texttt{nslookup} with the
    \texttt{-sil[ent]} option to prevent this message from appearing.
\begin{semiverbatim}
Server:         10.27.1.10
Address:        10.27.1.10#53

Name:   node2.aes
Address: 10.27.1.2
\end{semiverbatim}
  \end{itemize}
\end{frame}

\subsection{dig}
\label{sec:dig}

\begin{frame}[fragile]
  \frametitle{\texttt{dig}}
  \begin{itemize}
    \pause
    % \overlay{1}
  \item Usage:  \texttt{dig [@name-server] host-to-find [query-type]}
    \pause
    % \overlay{2}
  \item Example:
    {\mode<presentation>{\scriptsize}%
\begin{semiverbatim}
\cmd{dig @10.27.1.10 node2.aes}

; <<>> DiG 9.2.0 <<>> @10.27.1.10 node2.aes
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43860
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;node2.aes.                     IN      A

;; ANSWER SECTION:
node2.aes.              86400   IN      A       10.27.1.2

;; AUTHORITY SECTION:
aes.                    86400   IN      NS      node10.aes.

;; ADDITIONAL SECTION:
node10.aes.             86400   IN      A       10.27.1.10

;; Query time: 5 msec
;; SERVER: 10.27.1.10#53(10.27.1.10)
;; WHEN: Mon Sep  2 13:48:38 2002
;; MSG SIZE  rcvd: 80
\end{semiverbatim}
    }
  \end{itemize}
\end{frame}
%-----------------------------------------------------------

%==============================================================================

\subsection{host}
\label{sec:host}


%==============================================================================
\begin{frame}[fragile]
  \frametitle{\texttt{host}}
  \begin{itemize}
    \pause
    % \overlay{1}
  \item Usage:  \texttt{host [option] host-to-find [name-server]}
    \pause
    % \overlay{2}
  \item Example:
\begin{semiverbatim}
\cmd{host node2.aes} 
node2.aes has address 10.27.1.2
\end{semiverbatim}
  \end{itemize} 
\end{frame}
%-----------------------------------------------------------

%==============================================================================
%==============================================================================
\begin{frame}[fragile]
  \frametitle{Exercise:}
  \begin{enumerate}
    \pause
    % \overlay{1}
  \item Install bind on your machine:
    \cmd{sudo rpm -Uvh bind-9*.rpm}
    \pause
    % \overlay{2}
  \item Configure a Caching only nameserver on your machine.
    (Make all queries forward to 192.168.223.254)
  \item Make changes to resolv.conf \& nsswitch.conf as required
    (Default domain to use is c223)
    \pause
    % \overlay{3}
  \item Start the named.
    \par
    \cmd{sudo service named start}
    \pause
    % \overlay{4}
  \item Test it out with the host node16.c223 using:
    \begin{itemize}
    \item nslookup
    \item dig
    \item host
    \end{itemize}
    \pause
    % \overlay{5}
  \item Test again this time with the host box16
    \pause
    % \overlay{6}
  \item (For those who want a DNS challenge)
    \begin{enumerate}
    \item Setup a set of zones for the .c223 domain.
    \item Insert the new zone into the main configuration file
    \item Restart the named and test it.
    \end{enumerate}
  \end{enumerate}
\end{frame}
%-----------------------------------------------------------

%==============================================================================
%==============================================================================
\begin{frame}[fragile]
  \frametitle{DNS Name Lookup Procedure}
  \setlength{\unitlength}{3947sp}%
  \begingroup\makeatletter\ifx\SetFigFont\undefined
  % extract first six characters in \fmtname
  \def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
  \expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
  \ifx\x\y   % LaTeX or SliTeX?
  \gdef\SetFigFont#1#2#3{%
    \ifnum #1<17\tiny\else \ifnum #1<20\small\else
    \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
    \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
    \huge\fi\fi\fi\fi\fi\fi
    \csname #3\endcsname}%
  \else
  \gdef\SetFigFont#1#2#3{\begingroup
    \count@#1\relax \ifnum 25<\count@\count@25\fi
    \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
    \expandafter\x
    \csname \romannumeral\the\count@ pt\expandafter\endcsname
    \csname @\romannumeral\the\count@ pt\endcsname
    \csname #3\endcsname}%
  \fi
  \fi\endgroup


  \begin{picture}(4440,2783)(373,-2257)
    {\color[rgb]{1,0,0}\thinlines
      \put(820,-1547){\oval(558,372)}
    }%
    {\color[rgb]{1,0,0}\put(809,-1194){\vector( 0,-1){154}}
    }%
    \put(624,-1534){\makebox(0,0)[lb]{\smash{\SetFigFont{6}{9.6}{sf}{\color[rgb]{1,0,0}IP addr is}%
        }}}
    \put(655,-1657){\makebox(0,0)[lb]{\smash{\SetFigFont{7}{9.6}{sf}{\color[rgb]{1,0,0}1.2.3.4}%
        }}}
    {\color[rgb]{0,.69,0}\put(1459,-1131){\vector(-1, 0){217}}
      \put(1459,-1131){\line( 0,-1){897}}
      \put(1459,-2028){\line( 1, 0){402}}
    }%
    {\color[rgb]{0,.69,0}\put(3996,-2028){\vector(-1, 0){866}}
    }%
    {\color[rgb]{0,.69,0}\put(1906,-2200){\oval( 90, 90)[bl]}
      \put(1906,-1950){\oval( 90, 90)[tl]}
      \put(3085,-2200){\oval( 90, 90)[br]}
      \put(3085,-1950){\oval( 90, 90)[tr]}
      \put(1906,-2245){\line( 1, 0){1179}}
      \put(1906,-1905){\line( 1, 0){1179}}
      \put(1861,-2200){\line( 0, 1){250}}
      \put(3130,-2200){\line( 0, 1){250}}
    }%
    \put(1923,-2059){\makebox(0,0)[lb]{\smash{\SetFigFont{6}{9.6}{sf}{\color[rgb]{0,.69,0}The IP for www.abc.com}%
        }}}
    \put(1954,-2183){\makebox(0,0)[lb]{\smash{\SetFigFont{7}{9.6}{sf}{\color[rgb]{0,.69,0}is 1.2.3.4}%
        }}}
    {\color[rgb]{0,0,0}\put(3996,-2152){\framebox(805,433){}}
    }%
    {\color[rgb]{0,0,1}\put(1906,-1829){\oval( 90, 90)[bl]}
      \put(1906,-1702){\oval( 90, 90)[tl]}
      \put(3302,-1829){\oval( 90, 90)[br]}
      \put(3302,-1702){\oval( 90, 90)[tr]}
      \put(1906,-1874){\line( 1, 0){1396}}
      \put(1906,-1657){\line( 1, 0){1396}}
      \put(1861,-1829){\line( 0, 1){127}}
      \put(3347,-1829){\line( 0, 1){127}}
    }%
    {\color[rgb]{0,0,1}\put(1242,-1069){\line( 1, 0){279}}
      \put(1521,-1069){\line( 0,-1){681}}
      \put(1521,-1750){\vector( 1, 0){340}}
    }%
    {\color[rgb]{0,0,1}\put(3347,-1781){\vector( 1, 0){649}}
    }%
    \put(4213,-1905){\makebox(0,0)[lb]{\smash{\SetFigFont{7}{9.6}{sf}{\color[rgb]{0,0,0}abc.com}%
        }}}
    \put(1923,-1812){\makebox(0,0)[lb]{\smash{\SetFigFont{6}{9.6}{sf}{\color[rgb]{0,0,1}What is IP for www.abc.com?}%
        }}}
    \put(4275,-2090){\makebox(0,0)[lb]{\smash{\SetFigFont{7}{9.6}{sf}{\color[rgb]{0,0,0}DNS}%
        }}}
    {\color[rgb]{0,.69,0}\put(1906,-1303){\oval( 90, 90)[bl]}
      \put(1906,-1053){\oval( 90, 90)[tl]}
      \put(3735,-1303){\oval( 90, 90)[br]}
      \put(3735,-1053){\oval( 90, 90)[tr]}
      \put(1906,-1348){\line( 1, 0){1829}}
      \put(1906,-1008){\line( 1, 0){1829}}
      \put(1861,-1303){\line( 0, 1){250}}
      \put(3780,-1303){\line( 0, 1){250}}
    }%
    {\color[rgb]{0,.69,0}\put(3996,-1194){\vector(-1, 0){216}}
    }%
    {\color[rgb]{0,.69,0}\put(1861,-1194){\line(-1, 0){278}}
      \put(1583,-1194){\line( 0, 1){186}}
      \put(1583,-1008){\vector(-1, 0){341}}
    }%
    \put(1923,-1255){\makebox(0,0)[lb]{\smash{\SetFigFont{6}{9.6}{sf}{\color[rgb]{0,.69,0}the abc.com Nameserver.  Go ask them}%
        }}}
    \put(1923,-1131){\makebox(0,0)[lb]{\smash{\SetFigFont{7}{9.6}{sf}{\color[rgb]{0,.69,0}Don't know, but here is the IP for}%
        }}}
    {\color[rgb]{0,0,0}\put(3996,-1255){\framebox(805,433){}}
    }%
    {\color[rgb]{0,0,1}\put(1906,-932){\oval( 90, 90)[bl]}
      \put(1906,-805){\oval( 90, 90)[tl]}
      \put(3302,-932){\oval( 90, 90)[br]}
      \put(3302,-805){\oval( 90, 90)[tr]}
      \put(1906,-977){\line( 1, 0){1396}}
      \put(1906,-760){\line( 1, 0){1396}}
      \put(1861,-932){\line( 0, 1){127}}
      \put(3347,-932){\line( 0, 1){127}}
    }%
    {\color[rgb]{0,0,1}\put(3347,-884){\vector( 1, 0){649}}
    }%
    {\color[rgb]{0,0,1}\put(1242,-946){\line( 1, 0){341}}
      \put(1583,-946){\line( 0, 1){ 62}}
      \put(1583,-884){\vector( 1, 0){278}}
    }%
    \put(4275,-977){\makebox(0,0)[lb]{\smash{\SetFigFont{7}{9.6}{sf}{\color[rgb]{0,0,0}.com}%
        }}}
    \put(1923,-915){\makebox(0,0)[lb]{\smash{\SetFigFont{6}{9.6}{sf}{\color[rgb]{0,0,1}What is IP for www.abc.com?}%
        }}}
    \put(4275,-1162){\makebox(0,0)[lb]{\smash{\SetFigFont{7}{9.6}{sf}{\color[rgb]{0,0,0}DNS}%
        }}}
    {\color[rgb]{0,.69,0}\put(1906,-344){\oval( 90, 90)[bl]}
      \put(1906,-125){\oval( 90, 90)[tl]}
      \put(3580,-344){\oval( 90, 90)[br]}
      \put(3580,-125){\oval( 90, 90)[tr]}
      \put(1906,-389){\line( 1, 0){1674}}
      \put(1906,-80){\line( 1, 0){1674}}
      \put(1861,-344){\line( 0, 1){219}}
      \put(3625,-344){\line( 0, 1){219}}
    }%
    {\color[rgb]{0,.69,0}\put(3996,-234){\vector(-1, 0){371}}
    }%
    {\color[rgb]{0,.69,0}\put(1521,-884){\vector(-1, 0){279}}
      \put(1521,-884){\line( 0, 1){650}}
      \put(1521,-234){\line( 1, 0){340}}
    }%
    \put(1923,-203){\makebox(0,0)[lb]{\smash{\SetFigFont{7}{9.6}{sf}{\color[rgb]{0,.69,0}Don't know, but here is the IP for}%
        }}}
    \put(1923,-327){\makebox(0,0)[lb]{\smash{\SetFigFont{6}{9.6}{sf}{\color[rgb]{0,.69,0}the .com Nameserver.  Go ask them}%
        }}}
    {\color[rgb]{0,0,0}\put(3996,-327){\framebox(805,433){}}
    }%
    {\color[rgb]{0,0,1}\put(1906, -4){\oval( 90, 90)[bl]}
      \put(1906,123){\oval( 90, 90)[tl]}
      \put(3302, -4){\oval( 90, 90)[br]}
      \put(3302,123){\oval( 90, 90)[tr]}
      \put(1906,-49){\line( 1, 0){1396}}
      \put(1906,168){\line( 1, 0){1396}}
      \put(1861, -4){\line( 0, 1){127}}
      \put(3347, -4){\line( 0, 1){127}}
    }%
    {\color[rgb]{0,0,1}\put(3347, 44){\vector( 1, 0){649}}
    }%
    {\color[rgb]{0,0,1}\put(1242,-822){\line( 1, 0){217}}
      \put(1459,-822){\line( 0, 1){897}}
      \put(1459, 75){\vector( 1, 0){402}}
    }%
    \put(4213,-49){\makebox(0,0)[lb]{\smash{\SetFigFont{7}{9.6}{sf}{\color[rgb]{0,0,0}. (root)}%
        }}}
    \put(1923, 13){\makebox(0,0)[lb]{\smash{\SetFigFont{6}{9.6}{sf}{\color[rgb]{0,0,1}What is IP for www.abc.com?}%
        }}}
    \put(4275,-234){\makebox(0,0)[lb]{\smash{\SetFigFont{7}{9.6}{sf}{\color[rgb]{0,0,0}DNS}%
        }}}
    {\color[rgb]{.63,.25,0}\put(876,-363){\oval(990,496)}
    }%
    {\color[rgb]{.5,.17,0}\put(840,-606){\vector( 0,-1){154}}
    }%
    \put(499,-327){\makebox(0,0)[lb]{\smash{\SetFigFont{6}{9.6}{sf}{\color[rgb]{.63,.25,0}What is IP addr}%
        }}}
    \put(499,-457){\makebox(0,0)[lb]{\smash{\SetFigFont{6}{9.6}{sf}{\color[rgb]{.63,.25,0}for www.abc.com?}%
        }}}
    {\color[rgb]{0,0,0}\put(438,-1194){\framebox(804,434){}}
    }%
    % {\color[rgb]{0,0,0}\put(1861,416){\line( 1, 0){1888}}
    % }%
    \put(655,-946){\makebox(0,0)[lb]{\smash{\SetFigFont{7}{9.6}{sf}{\color[rgb]{0,0,0}LOCAL}%
        }}}
    \put(716,-1100){\makebox(0,0)[lb]{\smash{\SetFigFont{7}{9.6}{sf}{\color[rgb]{0,0,0}DNS}%
        }}}
    % \put(1861,446){\makebox(0,0)[lb]{\smash{\SetFigFont{7}{9.6}{sf}{\color[rgb]{0,0,0}DNS NAME LOOKUP PROCEDURE}%
    %     }}}
  \end{picture}
% \setlength{\unitlength}{1cm}
% \begin{picture}(10,6)
% \put(0,0){blah}
% \put(0,0){\framebox(10,6){}}
% \put(0,2.5){\framebox(1.4,1.4){\parbox{1cm}{Local\\ DNS}}}

% \pause
% %\overlay{1}
% \put(.7,5){\oval(1.4,1)}
% \put(0.1,4.9){\parbox[c]{1.4cm}{\scriptsize IP addr.for\\ google.com?}}
% \put(.7,4.5){\vector(0,-1){.6}}

% \pause
% %\overlay{2}
% \put(4,5.5){\oval(3,.5)}
% \put(2.6,5.4){\parbox[c]{3cm}{\scriptsize IP addr. for google.com?}}
% \end{picture}
\end{frame}
%-----------------------------------------------------------


%==============================================================================
%==============================================================================
% \begin{frame}[fragile]
% \setlength{\unitlength}{1000sp}%
% %\setlength{\unitlength}{3947sp}%
% %
% \begingroup\makeatletter\ifx\SetFigFont\undefined
% % extract first six characters in \fmtname
% \def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
% \expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
% \ifx\x\y   % LaTeX or SliTeX?
% \gdef\SetFigFont#1#2#3{%
%   \ifnum #1<17\tiny\else \ifnum #1<20\small\else
%   \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
%   \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
%      \huge\fi\fi\fi\fi\fi\fi
%   \csname #3\endcsname}%
% \else
% \gdef\SetFigFont#1#2#3{\begingroup
%   \count@#1\relax \ifnum 25<\count@\count@25\fi
%   \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
%   \expandafter\x
%     \csname \romannumeral\the\count@ pt\expandafter\endcsname
%     \csname @\romannumeral\the\count@ pt\endcsname
%   \csname #3\endcsname}%
% \fi
% \fi\endgroup


% \begin{picture}(10733,6732)(380,-6223)
% {\color[rgb]{1,0,0}\thinlines
% \put(1452,-4518){\oval(1350,900)}
% }%
% {\color[rgb]{1,0,0}\put(1426,-3661){\vector( 0,-1){375}}
% }%
% \put(976,-4486){\makebox(0,0)[lb]{\smash{\SetFigFont{17}{20.4}{rm}{\color[rgb]{1,0,0}IP addr is}%
% }}}
% \put(1051,-4786){\makebox(0,0)[lb]{\smash{\SetFigFont{17}{20.4}{rm}{\color[rgb]{1,0,0}1.2.3.4}%
% }}}
% {\color[rgb]{0,.69,0}\put(3001,-3511){\vector(-1, 0){525}}
% \put(3001,-3511){\line( 0,-1){2175}}
% \put(3001,-5686){\line( 1, 0){975}}
% }%
% {\color[rgb]{0,.69,0}\put(9151,-5686){\vector(-1, 0){2100}}
% }%
% {\color[rgb]{0,.69,0}\put(4081,-6106){\oval(210,210)[bl]}
% \put(4081,-5491){\oval(210,210)[tl]}
% \put(6946,-6106){\oval(210,210)[br]}
% \put(6946,-5491){\oval(210,210)[tr]}
% \put(4081,-6211){\line( 1, 0){2865}}
% \put(4081,-5386){\line( 1, 0){2865}}
% \put(3976,-6106){\line( 0, 1){615}}
% \put(7051,-6106){\line( 0, 1){615}}
% }%
% \put(4126,-5761){\makebox(0,0)[lb]{\smash{\SetFigFont{17}{20.4}{rm}{\color[rgb]{0,.69,0}The IP for www.abc.com}%
% }}}
% \put(4201,-6061){\makebox(0,0)[lb]{\smash{\SetFigFont{17}{20.4}{rm}{\color[rgb]{0,.69,0}is 1.2.3.4}%
% }}}
% {\color[rgb]{0,0,0}\put(9151,-5986){\framebox(1950,1050){}}
% }%
% {\color[rgb]{0,0,1}\put(4081,-5206){\oval(210,210)[bl]}
% \put(4081,-4891){\oval(210,210)[tl]}
% \put(7471,-5206){\oval(210,210)[br]}
% \put(7471,-4891){\oval(210,210)[tr]}
% \put(4081,-5311){\line( 1, 0){3390}}
% \put(4081,-4786){\line( 1, 0){3390}}
% \put(3976,-5206){\line( 0, 1){315}}
% \put(7576,-5206){\line( 0, 1){315}}
% }%
% {\color[rgb]{0,0,1}\put(2476,-3361){\line( 1, 0){675}}
% \put(3151,-3361){\line( 0,-1){1650}}
% \put(3151,-5011){\vector( 1, 0){825}}
% }%
% {\color[rgb]{0,0,1}\put(7576,-5086){\vector( 1, 0){1575}}
% }%
% \put(9676,-5386){\makebox(0,0)[lb]{\smash{\SetFigFont{17}{20.4}{rm}{\color[rgb]{0,0,0}abc.com}%
% }}}
% \put(4126,-5161){\makebox(0,0)[lb]{\smash{\SetFigFont{17}{20.4}{rm}{\color[rgb]{0,0,1}What is IP for www.abc.com?}%
% }}}
% \put(9826,-5836){\makebox(0,0)[lb]{\smash{\SetFigFont{17}{20.4}{rm}{\color[rgb]{0,0,0}DNS}%
% }}}
% {\color[rgb]{0,.69,0}\put(4081,-3931){\oval(210,210)[bl]}
% \put(4081,-3316){\oval(210,210)[tl]}
% \put(8521,-3931){\oval(210,210)[br]}
% \put(8521,-3316){\oval(210,210)[tr]}
% \put(4081,-4036){\line( 1, 0){4440}}
% \put(4081,-3211){\line( 1, 0){4440}}
% \put(3976,-3931){\line( 0, 1){615}}
% \put(8626,-3931){\line( 0, 1){615}}
% }%
% {\color[rgb]{0,.69,0}\put(9151,-3661){\vector(-1, 0){525}}
% }%
% {\color[rgb]{0,.69,0}\put(3976,-3661){\line(-1, 0){675}}
% \put(3301,-3661){\line( 0, 1){450}}
% \put(3301,-3211){\vector(-1, 0){825}}
% }%
% \put(4126,-3811){\makebox(0,0)[lb]{\smash{\SetFigFont{17}{20.4}{rm}{\color[rgb]{0,.69,0}the abc.com Nameserver.  Go ask them}%
% }}}
% \put(4126,-3511){\makebox(0,0)[lb]{\smash{\SetFigFont{17}{20.4}{rm}{\color[rgb]{0,.69,0}Don't know, but here is the IP for}%
% }}}
% {\color[rgb]{0,0,0}\put(9151,-3811){\framebox(1950,1050){}}
% }%
% {\color[rgb]{0,0,1}\put(4081,-3031){\oval(210,210)[bl]}
% \put(4081,-2716){\oval(210,210)[tl]}
% \put(7471,-3031){\oval(210,210)[br]}
% \put(7471,-2716){\oval(210,210)[tr]}
% \put(4081,-3136){\line( 1, 0){3390}}
% \put(4081,-2611){\line( 1, 0){3390}}
% \put(3976,-3031){\line( 0, 1){315}}
% \put(7576,-3031){\line( 0, 1){315}}
% }%
% {\color[rgb]{0,0,1}\put(7576,-2911){\vector( 1, 0){1575}}
% }%
% {\color[rgb]{0,0,1}\put(2476,-3061){\line( 1, 0){825}}
% \put(3301,-3061){\line( 0, 1){150}}
% \put(3301,-2911){\vector( 1, 0){675}}
% }%
% \put(9826,-3136){\makebox(0,0)[lb]{\smash{\SetFigFont{17}{20.4}{rm}{\color[rgb]{0,0,0}.com}%
% }}}
% \put(4126,-2986){\makebox(0,0)[lb]{\smash{\SetFigFont{17}{20.4}{rm}{\color[rgb]{0,0,1}What is IP for www.abc.com?}%
% }}}
% \put(9826,-3586){\makebox(0,0)[lb]{\smash{\SetFigFont{17}{20.4}{rm}{\color[rgb]{0,0,0}DNS}%
% }}}
% {\color[rgb]{0,.69,0}\put(4081,-1606){\oval(210,210)[bl]}
% \put(4081,-1066){\oval(210,210)[tl]}
% \put(8146,-1606){\oval(210,210)[br]}
% \put(8146,-1066){\oval(210,210)[tr]}
% \put(4081,-1711){\line( 1, 0){4065}}
% \put(4081,-961){\line( 1, 0){4065}}
% \put(3976,-1606){\line( 0, 1){540}}
% \put(8251,-1606){\line( 0, 1){540}}
% }%
% {\color[rgb]{0,.69,0}\put(9151,-1336){\vector(-1, 0){900}}
% }%
% {\color[rgb]{0,.69,0}\put(3151,-2911){\vector(-1, 0){675}}
% \put(3151,-2911){\line( 0, 1){1575}}
% \put(3151,-1336){\line( 1, 0){825}}
% }%
% \put(4126,-1261){\makebox(0,0)[lb]{\smash{\SetFigFont{17}{20.4}{rm}{\color[rgb]{0,.69,0}Don't know, but here is the IP for}%
% }}}
% \put(4126,-1561){\makebox(0,0)[lb]{\smash{\SetFigFont{17}{20.4}{rm}{\color[rgb]{0,.69,0}the .com Nameserver.  Go ask them}%
% }}}
% {\color[rgb]{0,0,0}\put(9151,-1561){\framebox(1950,1050){}}
% }%
% {\color[rgb]{0,0,1}\put(4081,-781){\oval(210,210)[bl]}
% \put(4081,-466){\oval(210,210)[tl]}
% \put(7471,-781){\oval(210,210)[br]}
% \put(7471,-466){\oval(210,210)[tr]}
% \put(4081,-886){\line( 1, 0){3390}}
% \put(4081,-361){\line( 1, 0){3390}}
% \put(3976,-781){\line( 0, 1){315}}
% \put(7576,-781){\line( 0, 1){315}}
% }%
% {\color[rgb]{0,0,1}\put(7576,-661){\vector( 1, 0){1575}}
% }%
% {\color[rgb]{0,0,1}\put(2476,-2761){\line( 1, 0){525}}
% \put(3001,-2761){\line( 0, 1){2175}}
% \put(3001,-586){\vector( 1, 0){975}}
% }%
% \put(9676,-886){\makebox(0,0)[lb]{\smash{\SetFigFont{17}{20.4}{rm}{\color[rgb]{0,0,0}. (root)}%
% }}}
% \put(4126,-736){\makebox(0,0)[lb]{\smash{\SetFigFont{17}{20.4}{rm}{\color[rgb]{0,0,1}What is IP for www.abc.com?}%
% }}}
% \put(9826,-1336){\makebox(0,0)[lb]{\smash{\SetFigFont{17}{20.4}{rm}{\color[rgb]{0,0,0}DNS}%
% }}}
% {\color[rgb]{.63,.25,0}\put(1588,-1648){\oval(2400,1200)}
% }%
% {\color[rgb]{.5,.17,0}\put(1501,-2236){\vector( 0,-1){375}}
% }%
% \put(676,-1561){\makebox(0,0)[lb]{\smash{\SetFigFont{17}{20.4}{rm}{\color[rgb]{.63,.25,0}What is IP addr}%
% }}}
% \put(676,-1876){\makebox(0,0)[lb]{\smash{\SetFigFont{17}{20.4}{rm}{\color[rgb]{.63,.25,0}for www.abc.com?}%
% }}}
% {\color[rgb]{0,0,0}\put(526,-3661){\framebox(1950,1050){}}
% }%
% \thicklines
% {\color[rgb]{0,0,0}\put(3976,239){\line( 1, 0){4575}}
% }%
% \put(1051,-3061){\makebox(0,0)[lb]{\smash{\SetFigFont{17}{20.4}{rm}{\color[rgb]{0,0,0}LOCAL}%
% }}}
% \put(1201,-3436){\makebox(0,0)[lb]{\smash{\SetFigFont{17}{20.4}{rm}{\color[rgb]{0,0,0}DNS}%
% }}}
% \put(3976,314){\makebox(0,0)[lb]{\smash{\SetFigFont{20}{24.0}{rm}{\color[rgb]{0,0,0}DNS NAME LOOKUP PROCEDURE}%
% }}}
% \end{picture}
% \end{frame}
% %-----------------------------------------------------------

% %==============================================================================
% %==============================================================================
% \begin{frame}[fragile]
% \frametitle{2}

% \setlength{\unitlength}{3947sp}%
% %
% \begingroup\makeatletter\ifx\SetFigFont\undefined
% % extract first six characters in \fmtname
% \def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
% \expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
% \ifx\x\y   % LaTeX or SliTeX?
% \gdef\SetFigFont#1#2#3{%
%   \ifnum #1<17\tiny\else \ifnum #1<20\small\else
%   \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
%   \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
%      \huge\fi\fi\fi\fi\fi\fi
%   \csname #3\endcsname}%
% \else
% \gdef\SetFigFont#1#2#3{\begingroup
%   \count@#1\relax \ifnum 25<\count@\count@25\fi
%   \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
%   \expandafter\x
%     \csname \romannumeral\the\count@ pt\expandafter\endcsname
%     \csname @\romannumeral\the\count@ pt\endcsname
%   \csname #3\endcsname}%
% \fi
% \fi\endgroup
% \begin{picture}(6463,4053)(375,-3532)
% {\color[rgb]{1,0,0}\thinlines
% \put(1023,-2502){\oval(812,542)}
% }%
% {\color[rgb]{1,0,0}\put(1007,-1987){\vector( 0,-1){225}}
% }%
% \put(737,-2483){\makebox(0,0)[lb]{\smash{\SetFigFont{11}{13.2}{rm}{\color[rgb]{1,0,0}IP addr is}%
% }}}
% \put(782,-2663){\makebox(0,0)[lb]{\smash{\SetFigFont{11}{13.2}{rm}{\color[rgb]{1,0,0}1.2.3.4}%
% }}}
% {\color[rgb]{0,.69,0}\put(1955,-1896){\vector(-1, 0){316}}
% \put(1955,-1896){\line( 0,-1){1308}}
% \put(1955,-3204){\line( 1, 0){586}}
% }%
% {\color[rgb]{0,.69,0}\put(5653,-3204){\vector(-1, 0){1263}}
% }%
% {\color[rgb]{0,.69,0}\put(2601,-3460){\oval(120,120)[bl]}
% \put(2601,-3084){\oval(120,120)[tl]}
% \put(4330,-3460){\oval(120,120)[br]}
% \put(4330,-3084){\oval(120,120)[tr]}
% \put(2601,-3520){\line( 1, 0){1729}}
% \put(2601,-3024){\line( 1, 0){1729}}
% \put(2541,-3460){\line( 0, 1){376}}
% \put(4390,-3460){\line( 0, 1){376}}
% }%
% \put(2631,-3249){\makebox(0,0)[lb]{\smash{\SetFigFont{11}{13.2}{rm}{\color[rgb]{0,.69,0}The IP for www.abc.com}%
% }}}
% \put(2676,-3430){\makebox(0,0)[lb]{\smash{\SetFigFont{11}{13.2}{rm}{\color[rgb]{0,.69,0}is 1.2.3.4}%
% }}}
% {\color[rgb]{0,0,0}\put(5653,-3385){\framebox(1173,632){}}
% }%
% {\color[rgb]{0,0,1}\put(2601,-2919){\oval(120,120)[bl]}
% \put(2601,-2723){\oval(120,120)[tl]}
% \put(4646,-2919){\oval(120,120)[br]}
% \put(4646,-2723){\oval(120,120)[tr]}
% \put(2601,-2979){\line( 1, 0){2045}}
% \put(2601,-2663){\line( 1, 0){2045}}
% \put(2541,-2919){\line( 0, 1){196}}
% \put(4706,-2919){\line( 0, 1){196}}
% }%
% {\color[rgb]{0,0,1}\put(1639,-1806){\line( 1, 0){406}}
% \put(2045,-1806){\line( 0,-1){992}}
% \put(2045,-2798){\vector( 1, 0){496}}
% }%
% {\color[rgb]{0,0,1}\put(4706,-2843){\vector( 1, 0){947}}
% }%
% \put(5969,-3024){\makebox(0,0)[lb]{\smash{\SetFigFont{11}{13.2}{rm}{\color[rgb]{0,0,0}abc.com}%
% }}}
% \put(2631,-2889){\makebox(0,0)[lb]{\smash{\SetFigFont{11}{13.2}{rm}{\color[rgb]{0,0,1}What is IP for www.abc.com?}%
% }}}
% \put(6059,-3294){\makebox(0,0)[lb]{\smash{\SetFigFont{11}{13.2}{rm}{\color[rgb]{0,0,0}DNS}%
% }}}
% {\color[rgb]{0,.69,0}\put(2601,-2152){\oval(120,120)[bl]}
% \put(2601,-1776){\oval(120,120)[tl]}
% \put(5278,-2152){\oval(120,120)[br]}
% \put(5278,-1776){\oval(120,120)[tr]}
% \put(2601,-2212){\line( 1, 0){2677}}
% \put(2601,-1716){\line( 1, 0){2677}}
% \put(2541,-2152){\line( 0, 1){376}}
% \put(5338,-2152){\line( 0, 1){376}}
% }%
% {\color[rgb]{0,.69,0}\put(5653,-1987){\vector(-1, 0){315}}
% }%
% {\color[rgb]{0,.69,0}\put(2541,-1987){\line(-1, 0){406}}
% \put(2135,-1987){\line( 0, 1){271}}
% \put(2135,-1716){\vector(-1, 0){496}}
% }%
% \put(2631,-2077){\makebox(0,0)[lb]{\smash{\SetFigFont{11}{13.2}{rm}{\color[rgb]{0,.69,0}the abc.com Nameserver.  Go ask them}%
% }}}
% \put(2631,-1896){\makebox(0,0)[lb]{\smash{\SetFigFont{11}{13.2}{rm}{\color[rgb]{0,.69,0}Don't know, but here is the IP for}%
% }}}
% {\color[rgb]{0,0,0}\put(5653,-2077){\framebox(1173,632){}}
% }%
% {\color[rgb]{0,0,1}\put(2601,-1611){\oval(120,120)[bl]}
% \put(2601,-1415){\oval(120,120)[tl]}
% \put(4646,-1611){\oval(120,120)[br]}
% \put(4646,-1415){\oval(120,120)[tr]}
% \put(2601,-1671){\line( 1, 0){2045}}
% \put(2601,-1355){\line( 1, 0){2045}}
% \put(2541,-1611){\line( 0, 1){196}}
% \put(4706,-1611){\line( 0, 1){196}}
% }%
% {\color[rgb]{0,0,1}\put(4706,-1536){\vector( 1, 0){947}}
% }%
% {\color[rgb]{0,0,1}\put(1639,-1626){\line( 1, 0){496}}
% \put(2135,-1626){\line( 0, 1){ 90}}
% \put(2135,-1536){\vector( 1, 0){406}}
% }%
% \put(6059,-1671){\makebox(0,0)[lb]{\smash{\SetFigFont{11}{13.2}{rm}{\color[rgb]{0,0,0}.com}%
% }}}
% \put(2631,-1581){\makebox(0,0)[lb]{\smash{\SetFigFont{11}{13.2}{rm}{\color[rgb]{0,0,1}What is IP for www.abc.com?}%
% }}}
% \put(6059,-1941){\makebox(0,0)[lb]{\smash{\SetFigFont{11}{13.2}{rm}{\color[rgb]{0,0,0}DNS}%
% }}}
% {\color[rgb]{0,.69,0}\put(2601,-754){\oval(120,120)[bl]}
% \put(2601,-423){\oval(120,120)[tl]}
% \put(5052,-754){\oval(120,120)[br]}
% \put(5052,-423){\oval(120,120)[tr]}
% \put(2601,-814){\line( 1, 0){2451}}
% \put(2601,-363){\line( 1, 0){2451}}
% \put(2541,-754){\line( 0, 1){331}}
% \put(5112,-754){\line( 0, 1){331}}
% }%
% {\color[rgb]{0,.69,0}\put(5653,-588){\vector(-1, 0){541}}
% }%
% {\color[rgb]{0,.69,0}\put(2045,-1536){\vector(-1, 0){406}}
% \put(2045,-1536){\line( 0, 1){948}}
% \put(2045,-588){\line( 1, 0){496}}
% }%
% \put(2631,-543){\makebox(0,0)[lb]{\smash{\SetFigFont{11}{13.2}{rm}{\color[rgb]{0,.69,0}Don't know, but here is the IP for}%
% }}}
% \put(2631,-724){\makebox(0,0)[lb]{\smash{\SetFigFont{11}{13.2}{rm}{\color[rgb]{0,.69,0}the .com Nameserver.  Go ask them}%
% }}}
% {\color[rgb]{0,0,0}\put(5653,-724){\framebox(1173,632){}}
% }%
% {\color[rgb]{0,0,1}\put(2601,-258){\oval(120,120)[bl]}
% \put(2601,-62){\oval(120,120)[tl]}
% \put(4646,-258){\oval(120,120)[br]}
% \put(4646,-62){\oval(120,120)[tr]}
% \put(2601,-318){\line( 1, 0){2045}}
% \put(2601, -2){\line( 1, 0){2045}}
% \put(2541,-258){\line( 0, 1){196}}
% \put(4706,-258){\line( 0, 1){196}}
% }%
% {\color[rgb]{0,0,1}\put(4706,-183){\vector( 1, 0){947}}
% }%
% {\color[rgb]{0,0,1}\put(1639,-1445){\line( 1, 0){316}}
% \put(1955,-1445){\line( 0, 1){1308}}
% \put(1955,-137){\vector( 1, 0){586}}
% }%
% \put(5969,-318){\makebox(0,0)[lb]{\smash{\SetFigFont{11}{13.2}{rm}{\color[rgb]{0,0,0}. (root)}%
% }}}
% \put(2631,-228){\makebox(0,0)[lb]{\smash{\SetFigFont{11}{13.2}{rm}{\color[rgb]{0,0,1}What is IP for www.abc.com?}%
% }}}
% \put(6059,-588){\makebox(0,0)[lb]{\smash{\SetFigFont{11}{13.2}{rm}{\color[rgb]{0,0,0}DNS}%
% }}}
% {\color[rgb]{.63,.25,0}\put(1105,-776){\oval(1444,722)}
% }%
% {\color[rgb]{.5,.17,0}\put(1053,-1130){\vector( 0,-1){225}}
% }%
% \put(556,-724){\makebox(0,0)[lb]{\smash{\SetFigFont{11}{13.2}{rm}{\color[rgb]{.63,.25,0}What is IP addr}%
% }}}
% \put(556,-913){\makebox(0,0)[lb]{\smash{\SetFigFont{11}{13.2}{rm}{\color[rgb]{.63,.25,0}for www.abc.com?}%
% }}}
% {\color[rgb]{0,0,0}\put(466,-1987){\framebox(1173,632){}}
% }%
% {\color[rgb]{0,0,0}\put(2541,359){\line( 1, 0){2751}}
% }%
% \put(782,-1626){\makebox(0,0)[lb]{\smash{\SetFigFont{11}{13.2}{rm}{\color[rgb]{0,0,0}LOCAL}%
% }}}
% \put(872,-1851){\makebox(0,0)[lb]{\smash{\SetFigFont{11}{13.2}{rm}{\color[rgb]{0,0,0}DNS}%
% }}}
% \put(2541,404){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{rm}{\color[rgb]{0,0,0}DNS NAME LOOKUP PROCEDURE}%
% }}}
% \end{picture}

% \end{frame}
% %-----------------------------------------------------------

% %==============================================================================
% %==============================================================================
% \begin{frame}[fragile]
% \frametitle{3}
% \setlength{\unitlength}{3947sp}%
% %
% \begingroup\makeatletter\ifx\SetFigFont\undefined
% % extract first six characters in \fmtname
% \def\x#1#2#3#4#5#6#7\relax{\def\x{#1#2#3#4#5#6}}%
% \expandafter\x\fmtname xxxxxx\relax \def\y{splain}%
% \ifx\x\y   % LaTeX or SliTeX?
% \gdef\SetFigFont#1#2#3{%
%   \ifnum #1<17\tiny\else \ifnum #1<20\small\else
%   \ifnum #1<24\normalsize\else \ifnum #1<29\large\else
%   \ifnum #1<34\Large\else \ifnum #1<41\LARGE\else
%      \huge\fi\fi\fi\fi\fi\fi
%   \csname #3\endcsname}%
% \else
% \gdef\SetFigFont#1#2#3{\begingroup
%   \count@#1\relax \ifnum 25<\count@\count@25\fi
%   \def\x{\endgroup\@setsize\SetFigFont{#2pt}}%
%   \expandafter\x
%     \csname \romannumeral\the\count@ pt\expandafter\endcsname
%     \csname @\romannumeral\the\count@ pt\endcsname
%   \csname #3\endcsname}%
% \fi
% \fi\endgroup


% \begin{picture}(4440,2783)(373,-2257)
% {\color[rgb]{1,0,0}\thinlines
% \put(820,-1547){\oval(558,372)}
% }%
% {\color[rgb]{1,0,0}\put(809,-1194){\vector( 0,-1){154}}
% }%
% \put(624,-1534){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{1,0,0}IP addr is}%
% }}}
% \put(655,-1657){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{1,0,0}1.2.3.4}%
% }}}
% {\color[rgb]{0,.69,0}\put(1459,-1131){\vector(-1, 0){217}}
% \put(1459,-1131){\line( 0,-1){897}}
% \put(1459,-2028){\line( 1, 0){402}}
% }%
% {\color[rgb]{0,.69,0}\put(3996,-2028){\vector(-1, 0){866}}
% }%
% {\color[rgb]{0,.69,0}\put(1906,-2200){\oval( 90, 90)[bl]}
% \put(1906,-1950){\oval( 90, 90)[tl]}
% \put(3085,-2200){\oval( 90, 90)[br]}
% \put(3085,-1950){\oval( 90, 90)[tr]}
% \put(1906,-2245){\line( 1, 0){1179}}
% \put(1906,-1905){\line( 1, 0){1179}}
% \put(1861,-2200){\line( 0, 1){250}}
% \put(3130,-2200){\line( 0, 1){250}}
% }%
% \put(1923,-2059){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{0,.69,0}The IP for www.abc.com}%
% }}}
% \put(1954,-2183){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{0,.69,0}is 1.2.3.4}%
% }}}
% {\color[rgb]{0,0,0}\put(3996,-2152){\framebox(805,433){}}
% }%
% {\color[rgb]{0,0,1}\put(1906,-1829){\oval( 90, 90)[bl]}
% \put(1906,-1702){\oval( 90, 90)[tl]}
% \put(3302,-1829){\oval( 90, 90)[br]}
% \put(3302,-1702){\oval( 90, 90)[tr]}
% \put(1906,-1874){\line( 1, 0){1396}}
% \put(1906,-1657){\line( 1, 0){1396}}
% \put(1861,-1829){\line( 0, 1){127}}
% \put(3347,-1829){\line( 0, 1){127}}
% }%
% {\color[rgb]{0,0,1}\put(1242,-1069){\line( 1, 0){279}}
% \put(1521,-1069){\line( 0,-1){681}}
% \put(1521,-1750){\vector( 1, 0){340}}
% }%
% {\color[rgb]{0,0,1}\put(3347,-1781){\vector( 1, 0){649}}
% }%
% \put(4213,-1905){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{0,0,0}abc.com}%
% }}}
% \put(1923,-1812){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{0,0,1}What is IP for www.abc.com?}%
% }}}
% \put(4275,-2090){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{0,0,0}DNS}%
% }}}
% {\color[rgb]{0,.69,0}\put(1906,-1303){\oval( 90, 90)[bl]}
% \put(1906,-1053){\oval( 90, 90)[tl]}
% \put(3735,-1303){\oval( 90, 90)[br]}
% \put(3735,-1053){\oval( 90, 90)[tr]}
% \put(1906,-1348){\line( 1, 0){1829}}
% \put(1906,-1008){\line( 1, 0){1829}}
% \put(1861,-1303){\line( 0, 1){250}}
% \put(3780,-1303){\line( 0, 1){250}}
% }%
% {\color[rgb]{0,.69,0}\put(3996,-1194){\vector(-1, 0){216}}
% }%
% {\color[rgb]{0,.69,0}\put(1861,-1194){\line(-1, 0){278}}
% \put(1583,-1194){\line( 0, 1){186}}
% \put(1583,-1008){\vector(-1, 0){341}}
% }%
% \put(1923,-1255){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{0,.69,0}the abc.com Nameserver.  Go ask them}%
% }}}
% \put(1923,-1131){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{0,.69,0}Don't know, but here is the IP for}%
% }}}
% {\color[rgb]{0,0,0}\put(3996,-1255){\framebox(805,433){}}
% }%
% {\color[rgb]{0,0,1}\put(1906,-932){\oval( 90, 90)[bl]}
% \put(1906,-805){\oval( 90, 90)[tl]}
% \put(3302,-932){\oval( 90, 90)[br]}
% \put(3302,-805){\oval( 90, 90)[tr]}
% \put(1906,-977){\line( 1, 0){1396}}
% \put(1906,-760){\line( 1, 0){1396}}
% \put(1861,-932){\line( 0, 1){127}}
% \put(3347,-932){\line( 0, 1){127}}
% }%
% {\color[rgb]{0,0,1}\put(3347,-884){\vector( 1, 0){649}}
% }%
% {\color[rgb]{0,0,1}\put(1242,-946){\line( 1, 0){341}}
% \put(1583,-946){\line( 0, 1){ 62}}
% \put(1583,-884){\vector( 1, 0){278}}
% }%
% \put(4275,-977){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{0,0,0}.com}%
% }}}
% \put(1923,-915){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{0,0,1}What is IP for www.abc.com?}%
% }}}
% \put(4275,-1162){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{0,0,0}DNS}%
% }}}
% {\color[rgb]{0,.69,0}\put(1906,-344){\oval( 90, 90)[bl]}
% \put(1906,-125){\oval( 90, 90)[tl]}
% \put(3580,-344){\oval( 90, 90)[br]}
% \put(3580,-125){\oval( 90, 90)[tr]}
% \put(1906,-389){\line( 1, 0){1674}}
% \put(1906,-80){\line( 1, 0){1674}}
% \put(1861,-344){\line( 0, 1){219}}
% \put(3625,-344){\line( 0, 1){219}}
% }%
% {\color[rgb]{0,.69,0}\put(3996,-234){\vector(-1, 0){371}}
% }%
% {\color[rgb]{0,.69,0}\put(1521,-884){\vector(-1, 0){279}}
% \put(1521,-884){\line( 0, 1){650}}
% \put(1521,-234){\line( 1, 0){340}}
% }%
% \put(1923,-203){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{0,.69,0}Don't know, but here is the IP for}%
% }}}
% \put(1923,-327){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{0,.69,0}the .com Nameserver.  Go ask them}%
% }}}
% {\color[rgb]{0,0,0}\put(3996,-327){\framebox(805,433){}}
% }%
% {\color[rgb]{0,0,1}\put(1906, -4){\oval( 90, 90)[bl]}
% \put(1906,123){\oval( 90, 90)[tl]}
% \put(3302, -4){\oval( 90, 90)[br]}
% \put(3302,123){\oval( 90, 90)[tr]}
% \put(1906,-49){\line( 1, 0){1396}}
% \put(1906,168){\line( 1, 0){1396}}
% \put(1861, -4){\line( 0, 1){127}}
% \put(3347, -4){\line( 0, 1){127}}
% }%
% {\color[rgb]{0,0,1}\put(3347, 44){\vector( 1, 0){649}}
% }%
% {\color[rgb]{0,0,1}\put(1242,-822){\line( 1, 0){217}}
% \put(1459,-822){\line( 0, 1){897}}
% \put(1459, 75){\vector( 1, 0){402}}
% }%
% \put(4213,-49){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{0,0,0}. (root)}%
% }}}
% \put(1923, 13){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{0,0,1}What is IP for www.abc.com?}%
% }}}
% \put(4275,-234){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{0,0,0}DNS}%
% }}}
% {\color[rgb]{.63,.25,0}\put(876,-363){\oval(990,496)}
% }%
% {\color[rgb]{.5,.17,0}\put(840,-606){\vector( 0,-1){154}}
% }%
% \put(499,-327){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{.63,.25,0}What is IP addr}%
% }}}
% \put(499,-457){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{.63,.25,0}for www.abc.com?}%
% }}}
% {\color[rgb]{0,0,0}\put(438,-1194){\framebox(804,434){}}
% }%
% {\color[rgb]{0,0,0}\put(1861,416){\line( 1, 0){1888}}
% }%
% \put(655,-946){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{0,0,0}LOCAL}%
% }}}
% \put(716,-1100){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{0,0,0}DNS}%
% }}}
% \put(1861,446){\makebox(0,0)[lb]{\smash{\SetFigFont{8}{9.6}{rm}{\color[rgb]{0,0,0}DNS NAME LOOKUP PROCEDURE}%
% }}}
% \end{picture}


% \end{frame}
% %-----------------------------------------------------------


\mode<presentation>
{%
\begin{frame}
  \frametitle{Topics Covered}
  %\footnotesize
  \begin{multicols}{2}
    \tableofcontents[pausesections,pausesubsections]
  \end{multicols}
  % You might wish to add the option [pausesections]
\end{frame}
}

\section{License Of This Document}
\label{sec:license}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
  \frametitle{License Of This Document}%
  \raggedright%
  Copyright \copyright\ 2005, 2003 Andrew Eager
  <andrew.eager@aes-pl.com.au>, Geoffrey Robertson <ge@ffrey.com> and
  Nick Urbanik <nicku@nicku.org>.
  \par
  Permission is granted to make
  and distribute verbatim copies or modified versions of this document
  provided that this copyright notice and this permission notice are
  preserved on all copies under the terms of the GNU General Public
  License as published by the Free Software Foundation---either
  version 2 of the License or (at your option) any later version.
\end{frame}
\end{document}
