\section{Bridges and Extended LANs}

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

   \subsection{Overview}

   \begin{sitem}
      \item LANs have physical limitations (e.g., 1500m Ethernet)
      \item Connect two or more LANs with a {\it bridge}
      \begin{sitem}
         \item accept and forward strategy
         \item level 2 connection (does not add packet header)
      \end{sitem}

      \pichere{elan1.eps,height=1in}

      \item Collection of LANs connected by bridges called an {\it extended 
            LAN} 
   \end{sitem}
\end{slide}

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

   \subsection{Learning Bridges}
   \begin{sitem}
      \item Do not forward when unnecessary
      
      \pichere{elan2.eps,height=2in}

      \item Maintain forwarding table

\begin{center}
\begin{tabular}{l|l}
\hline
Host & Port \\
\hline
A & 1  \\
B & 1  \\
C & 1  \\
X & 2  \\
Y & 2  \\
Z & 2  \\
\hline
\end{tabular}
\end{center}

      \item Learn table entries based on source address

      \item Table is an optimization; need not be complete

      \item Always forward broadcast frames
   \end{sitem}
\end{slide}

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

   \subsection{Spanning Tree Algorithm}

   Extended LANs sometimes have loops

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

   Bridges run a distributed spanning tree algorithm  
   \begin{sitem}
      \item Select which bridges actively forward frames
      \item Developed by Radia Perlman at DEC
      \item Now IEEE 802.1 specification
   \end{sitem}

   \pichere{graphs.eps,height=1.5in}
\end{slide}

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

   \subsection{Algorithm Overview}

   \begin{sitem}
      \item Each bridge has a unique id (e.g., B1, B2, B3)
      \item Select bridge with smallest id as root
      \item Select bridge on each LAN that is closest to the root as that 
            LAN's designated bridge (use id to break ties)
      \item Each bridge forwards frames over each LAN for which it is the      
            designated bridge
   \end{sitem}     
   
   \pichere{elan4.eps,height=3in}
\end{slide}

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

   \subsection{Algorithm Detail}

   \begin{sitem}
      \item Bridges exchange configuration messages
      \begin{sitem}
         \item id for bridge sending the message
         \item id for what the sending bridge believes to be root bridge
         \item distance (hops) from sending bridge to root bridge
      \end{sitem}
      \item Each bridge records current best configuration message for each 
            port
      \item Initially, each bridge believes it is the root
      \item When learn not root, stop generating configuration message
      \begin{sitem}
         \item in steady state, only root generates configuration messages
      \end{sitem}
      \item When learn not designated bridge, stop forwarding configuration 
            messages
      \begin{sitem}
         \item in steady state, only designated bridges forward configuration 
               messages
      \end{sitem}
      \item Root bridge continues to send configuration messages periodically 
      \item If any given bridge does not receive configuration message after 
            a period of time, starts generating configuration messages 
            claiming to be to be the root
   \end{sitem}     
\end{slide}

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

   \subsection{Broadcast and Multicast}

   \begin{sitem}
      \item Forward all broadcast/multicast frames (current 
            practice)
      \item Learn when no group members downstream
      \item Accomplished by having each member of group G send a frame to 
            bridge multicast address with G in source field
   \end{sitem}
   
   \pichere{elan3.eps,height=3in}
\end{slide}

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

   \subsection{Limitations of Bridges}

   \begin{sitem}
      \item Do not scale
      \begin{sitem}
         \item spanning tree algorithm does not scale      
         \item broadcast does not scale
      \end{sitem}
      \bigskip
      \item Do not accommodate heterogeneity
      \bigskip
      \item Caution: beware of transparency
   \end{sitem}
\end{slide}
