\input{gl2.slide-header-beamer}
\errorcontextlines=99
%% Subtopic Number = '1.112.1'
%% Title from filename: 'Fundamentals of TCP/IP'
%% Weight: 4
%% Description:
%% Candidates should demonstrate a proper understanding of
%%        network fundamentals. This objective includes the understanding of
%%        IP-addresses, network masks and what they mean (i.e. determine a network
%%        and broadcast address for a host based on its subnet mask in "dotted
%%        quad" or abbreviated notation or determine the network address,
%%        broadcast address and netmask when given an IP-address and number of
%%        bits). It also covers the understanding of the network classes and
%%        classless subnets (CIDR) and the reserved addresses for private network
%%        use. It includes the understanding of the function and application of a
%%        default route. It also includes the understanding of basic internet
%%        protocols (IP, ICMP, TCP, UDP) and the more common TCP and UDP ports
%%        (20, 21, 23, 25, 53, 80, 110, 119, 139, 143, 161).
%% Key files, terms, and utilities include:
%%        /etc/services
%%        ftp
%%        telnet
%%        host
%%        ping
%%        dig
%%        traceroute
%%        whois
\title{1.112.1\\Fundamentals of TCP/IP\\Weight 4}
\author[Geoff Robertson]{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.112.1}}%

\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 112 Networking Fundamentals [14]}%
  \framesubtitle{Where we are up to}%
    \begin{description}
    % \uline depends on \usepackage[normalem]{ulem}:
    \item[1.112.1] \textbf{\uline{Fundamentals of TCP/IP [4]}}
    \item[1.112.3] TCP/IP configuration and troubleshooting [7]
    \item[1.112.4] Configure Linux as a PPP client [3]
    \end{description}
\end{frame}

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


\begin{frame}
  %% GENERATED SLIDE
  \frametitle{Description of Objective}%
  \framesubtitle{1.112.1\ \ Fundamentals of TCP/IP}%
  Candidates should demonstrate a proper understanding of network
  fundamentals. This objective includes the understanding of
  IP-addresses, network masks and what they mean (i.e. determine a
  network and broadcast address for a host based on its subnet mask in
  ``dotted quad'' or abbreviated notation or determine the network
  address, broadcast address and netmask when given an IP-address and
  number of bits). It also covers the understanding of the network
  classes and classless subnets (CIDR) and the reserved addresses for
  private network use. It includes the understanding of the function
  and application of a default route. It also includes the
  understanding of basic internet protocols (IP, ICMP, TCP, UDP) and
  the more common TCP and UDP ports (20, 21, 23, 25, 53, 80, 110, 119,
  139, 143, 161).
\end{frame}

\begin{frame}
  %% GENERATED SLIDE
  \frametitle{Key files, terms, and utilities include:}
  \framesubtitle{1.112.1\ \ Fundamentals of TCP/IP}
  \mode<presentation>{\large}%
  \begin{description}
  \item[\texttt{/etc/services}] --- file mapping port numbers to names
  \item[\texttt{ftp}] --- FTP client program
  \item[\texttt{telnet}] --- telnet client program
  \item[\texttt{host}] --- program to test DNS servers
  \item[\texttt{ping}] --- program to test connectivity to other
    machines via ICMP
  \item[\texttt{dig}] --- program to test DNS servers
  \item[\texttt{traceroute}] --- program to test the path to a remote
    machine, showing routers along the way
  \item[\texttt{whois}] --- queries information about the owner of a
    domain
  \end{description}
\end{frame}

%----10->|-----20->|-----30->|-----40->|-----50->|-----60->|-----70->|-----80->

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

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


%==============================================================================
\begin{frame}[fragile]
 %ghr
\frametitle{(2.2) Networking Fundamentals [14]}
\begin{description}
  \item[1.112.1] \textbf{\underline{Fundamentals of TCP/IP [4]}} 
  \item[1.112.3] TCP/IP configuration and troubleshooting [7]
  \item[1.112.4] Configure Linux as a PPP client [3]
\end{description}
\end{frame}
%-----------------------------------------------------------
 
% %==============================================================================
% %==============================================================================
% \begin{frame}[fragile]
%  %ghr
% \frametitle{Fundamentals of TCP/IP [4]}
% \framesubtitle{Objective} 

% Candidates should demonstrate a proper understanding of network
% fundamentals.

% This objective includes the understanding of IP-addresses, network
% masks and what they mean (i.e. determine a network and broadcast
% address for a host based on its subnet mask in "dotted quad" or
% abbreviated notation or determine the network address, broadcast
% address and netmask when given an IP-address and number of bits).

% It also covers the understanding of the network classes and classless
% subnets (CIDR) and the reserved addresses for private network use.

% It includes the understanding of the function and application of a
% default route.

% It also includes the understanding of basic internet protocols (IP,
% ICMP, TCP, UDP) and the more common TCP and UDP ports (20, 21, 23, 25,
% 53, 80, 110, 119, 139, 143, 161).

% \end{frame}
% %-----------------------------------------------------------
 
% %==============================================================================
% \begin{frame}[fragile]
%  %ghr
% \frametitle{Fundamentals of TCP/IP [4]}
% \framesubtitle{Key files, terms, and utilities}
% \begin{semiverbatim}
% /etc/services
% ftp
% telnet
% host
% ping
% dig
% traceroute
% whois
% \end{semiverbatim}
% \end{frame}
% %-----------------------------------------------------------

\section{Resources}
\label{sec:resources}

\begin{frame}[fragile]
 %ghr
\frametitle{Fundamentals of TCP/IP [4]}
\framesubtitle{Resources of interest}
  \begin{thebibliography}{5}
  \beamertemplatebookbibitems
  \bibitem{Ste1994} 
    W. Richard Stevens.
    \newblock \emph{TCP/IP Illustrated, Volume 1: The Protocols}
    \newblock Addison Wesley

  \bibitem{Kir2000}
    Olaf Kirch and Terry Dawson.
    \newblock \emph{Linux Network Administrator's Guide}
    \newblock O'Reilly 2000.
    \newblock \url{http://tldp.org/LDP/nag2/}

  \bibitem{Nash}
    Angie Nash and Jason Nash.
    \newblock \emph{LPIC 1 Certification Bible}
    \newblock Hungry Minds
  \end{thebibliography}
\end{frame}

\section{IP Addressing}
\label{sec:ip-addressing}

 
\begin{frame}
  \frametitle{IP addressing}%
  This objective includes the understanding of:
  \begin{itemize}
  \item IP-addresses, network masks and what they mean, i.e.,
    \begin{itemize}
    \item determine a network and broadcast address for a host based
      on its subnet mask in ``dotted quad'' or abbreviated notation or
    \item determine the network address, broadcast address and netmask
      when given an IP-address and number of bits.
    \end{itemize}
  \end{itemize}
\end{frame}

\section{Classful Addressing (Obsolete)}
\label{sec:classful}

\begin{frame}[fragile]
  \frametitle{IP Address Classes (Classic)}  %  
  \pause
  % \overlay{1}
  \begin{block}{Class A --- 255.0.0.0}
    \mode<presentation>{\small}
\begin{semiverbatim}
\underline{0}0000000.00000000.00000000.00000000 - 0.0.0.0
\underline{0}1111111.11111111.11111111.11111111 - 127.255.255.255
\end{semiverbatim}
  \end{block}
  \pause
  % \overlay{2}
  \begin{block}{Class B --- 255.255.0.0}
    \mode<presentation>{\small}
\begin{semiverbatim}
\underline{10}000000.00000000.00000000.00000000 - 128.0.0.0
\underline{10}111111.11111111.11111111.11111111 - 191.255.255.255
\end{semiverbatim}
  \end{block}
  \pause
  % \overlay{3}
  \begin{block}{Class C --- 255.255.255.0}
    \mode<presentation>{\small}
\begin{semiverbatim}
\underline{110}00000.00000000.00000000.00000000 - 192.0.0.0
\underline{110}11111.11111111.11111111.11111111 - 223.255.255.255
\end{semiverbatim}
  \end{block}
\end{frame}

\section{Loopback address}
\label{sec:loopback}

\begin{frame}
  \frametitle{IP Address - Loopback}%
  \par%
  Reserved Space 127.0.0.0 --- 127.255.255.255
  \par%
  127.0.0.1  localhost
\end{frame}

\section{Private addresses}
\label{sec:private}

\begin{frame}[fragile]
  \frametitle{IP Address - Private Networks}%
  There are IP ranges set aside for privite address spaces.  These
  should not be made visible on the internet.
  \par%
  \begin{block}{Class A}
\begin{semiverbatim}
10.0.0.0 --- 10.255.255.255
\end{semiverbatim}
  \end{block}
  \begin{block}{Class B}
\begin{semiverbatim}
172.16.0.0 --- 172.32.255.255
\end{semiverbatim}
  \end{block}
  \begin{block}{Class C}
\begin{semiverbatim}
192.168.0.0 --- 192.168.255.255
\end{semiverbatim}
  \end{block}
\end{frame}

\section{Subnetting}
\label{sec:subnetting}

\begin{frame}[fragile]
\frametitle{IP Address --- Subneting}%
\begin{semiverbatim}
Network: 192.168.192.0
Subnet:  255.255.255.224
\end{semiverbatim}
\end{frame}

\section{Adding a Default Route}
\label{sec:adding-default-route}

\begin{frame}
  \frametitle{IP Address - Default Route}%
  \cmdbox{sudo route add default gw 192.168.1.1}
\end{frame}

\section{Model of network layers}
\label{sec:network-layers}

\begin{frame}
  \frametitle{DoD Layer Model}%  
  \begin{description}
  \item[Application] ftp, telnet, mail, http protocols
  \item[Transport] TCP , UDP protocols
  \item[Network] IP, ICMP, IGMP protocols
  \item[Link] Ethernet, Token Ring, FDDI
  \end{description}
\end{frame}

\section{Basic Internet Protocols}
\label{sec:basic-internet-protocols}

\begin{frame}[fragile]
  \frametitle{Basic Internet Protocols}%
  \begin{description}
  \item[IP] 
  \item[ICMP] 
  \item[TCP] 
  \item[UDP] 
  \end{description}
\end{frame}

\section{Ports and Port Numbers}
\label{sec:ports}

\subsection{\texttt{/etc/services}}
\label{sec:services}


\begin{frame}[fragile]
  \frametitle{Ports and Port Numbers}5
  \framesubtitle{Listing the Ports}%
  {\mode<presentation>{\small}
\begin{semiverbatim}
$ less /etc/services
ftp            21/tcp
ftp            21/udp      fsp fspd
ssh            22/tcp      # SSH Remote Login Protocol
ssh            22/udp      # SSH Remote Login Protocol
telnet         23/tcp
telnet         23/udp
# 24 - private mail system
smtp           25/tcp      mail
smtp           25/udp      mail
time           37/tcp      timserver
\end{semiverbatim}%$
}
\end{frame}

\subsection{Main port numbers}
\label{sec:main-ports}

\begin{frame}
  \frametitle{Ports and Port Numbers}%
  \begin{description}
  \item[FTP] 20, 21 
  \item[Telnet] 23 
  \item[SSH] 22
  \item[smtp] 25 
  \item[DNS] 53
  \item[http] 80
  \item[pop3] 110
  \item[nntp] 119
  \item[netbios] 137, 138, 139 
  \item[imap2] 143
  \item[snmp] 161  
  \end{description}
\end{frame}

\begin{frame}
  \frametitle{Port Number vRanges} 
  \begin{description}
  \item[1--255] Original reserved ports (till 1992) (256-1023 UNIX)
    \par%
    \hrulefill
    \par%
  \item[1--1023] Well Known or Famous Port Numbers - Reserved
  \item[1024--65535] Unprivileged
  \end{description}
\end{frame}

\section{License of this document}
\label{sec:license}

\begin{frame}
  \frametitle{License Of This Document}%
  \raggedright%
  Copyright \copyright\ 2005, 2003 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}
