\section{Internet Multicast}

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

   \subsection{Overview}

   \begin{sitem}
      \item IPv4
      \begin{sitem}
         \item class D addresses
         \item demonstrated with MBone
         \item uses tunneling
      \end{sitem} 
      \item Integral part of IPv6
      \begin{sitem}
         \item problem is making it scale
      \end{sitem} 
   \end{sitem}
\end{slide}
% -----------------------------------------------------------------
\begin{slide}{}
 
   \subsection{Link-State Multicast}

   \begin{sitem}
      \item Each host on a LAN periodically announces the groups it belongs
            to (IGMP).
      \item Augment update message (LSP) to include set of groups that 
            have members on a particular LAN.
      \item Each router uses Dijkstra's algorithm to compute shortest-path
            spanning tree for each source/group pair.
      \item Each router caches tree for currently active source/group pairs.
   \end{sitem}
\end{slide}
% -----------------------------------------------------------------
\begin{slide}{}

   \subsection{Example}

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

   \pichere{spmtree.eps,height=5in}

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

   \subsection{Distance-Vector Multicast}

   Reverse Path Broadcast (RPB)
   \begin{sitem}
      \item Each router already knows that shortest path to destination S
            goes through< router N.
      \item When receive multicast packet from S, forward on all outgoing
            links (except the one on which the packet arrived), iff
            packet arrived from N.
      \item Eliminate duplicate broadcast packets by only letting
            ``parent'' for LAN (relative to S) forward
      \begin{sitem}
         \item shortest path to S (learn via distance vector)
         \item smallest address to break ties
      \end{sitem}
   \end{sitem}
\end{slide}
% -----------------------------------------------------------------
\begin{slide}{}

   Reverse Path Multicast (RPM)
   \begin{sitem}
      \item Goal: Prune networks that have no hosts in group G
      \item Step 1: Determine of LAN is a {\it leaf} with no members in G
      \begin{sitem}
         \item leaf if parent is only router on the LAN
         \item determine if any hosts are members of G using IGMP
      \end{sitem}
      \item Step 2: Propagate ``no members of G here'' information
      \begin{sitem}
         \item augment {\tt $\langle$Destination, Cost$\rangle$} update
               sent to neighbors with set of groups for which this network
               is interested in receiving multicast packets.
         \item only happens with multicast address becomes active.
      \end{sitem}
   \end{sitem}
\end{slide}
   
