\section{Ethernet}

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

   \subsection{Overview}

   \begin{sitem}
      \item History
      \begin{sitem}
         \item Developed by Xerox PARC in mid-1970s
         \item Roots in Aloha packet-radio network
         \item Standardized by Xerox, DEC, and Intel in 1978
         \item Similar to IEEE 802.3 standard
      \end{sitem}

      \bigskip
      \item CSMA/CD
      \begin{sitem}
         \item carrier sense
         \item multiple access
         \item collision detection
      \end{sitem}

      \bigskip
      \item Bandwidth: 10Mbps and 100Mbps

      \bigskip
         \item Problem: Distributed algorithm that provides fair
               access to a shared medium 
      \end{sitem}
\end{slide}

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

   \subsection{Physical Properties}

   \begin{sitem}
      \item Classical Ethernet (thick-net)
      \begin{sitem}
         \item maximum segment of 500m
         \item transceiver taps at least 2.5m apart
         \item connect multiple segments with repeaters
         \item no more than 2 repeaters between any pair of nodes (1500m total)
         \item maximum of 1024 hosts
         \item also called 10Base5
      \end{sitem}

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

      \item Alternative technologies
      \begin{sitem}      
         \item 10Base2 (thin-net): 200m; daisy-chain configuration
         \item 10BaseT (twisted-pair): 100m; star configuration
      \end{sitem}
   \end{sitem}
\end{slide}

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

   \subsection{Frame Format}

   \pichere{enet_format.eps,height=0.75in}

   Addresses:
   \begin{sitem}
      \item Unique, 48-bit unicast address assigned to each adaptor
      \item Example: {\tt 8:0:2b:e4:b1:2}
      \item Broadcast: all {\tt 1}s
      \item Multicast: first bit is {\tt 1}
   \end{sitem}

   \bigskip
   Adaptor receives all frames; it accepts (passes to host):
   \begin{sitem}
      \item Frames addressed to its own unicast address
      \item Frames addressed to the broadcast address
      \item Frames addressed to any multicast address it has been
            programmed to accept
      \item All frames when in promiscuous mode
   \end{sitem}
\end{slide}

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

   \subsection{Transmitter Algorithm}

   If line is idle:
   \begin{sitem}
      \item Send immediately
      \item Upper bound message size of 1500 bytes
      \item Must wait 51$\mu$s between back-to-back frames
   \end{sitem}

   \bigskip
   If line is busy:
   \begin{sitem}
      \item Wait until idle and transmit immediately 
      \item Called {\it 1-persistent} (special case of {\it p-persistent})
   \end{sitem}

   \bigskip
   If collision:
   \begin{sitem}
      \item jam for 512 bits, then stop transmitting frame
      \item minimum frame is 64 bytes (header + 46 bytes of data)
      \item delay and try again
      \begin{sitem}
         \item 1st time: uniformly distributed between 0 and 51.2$\mu$s
         \item 2nd time: uniformly distributed between 0 and 102.4$\mu$s
         \item 3rd time: uniformly distributed between 0 and 204.8$\mu$s
         \item give up after several tries (usually 16)
         \item exponential backoff
      \end{sitem}
   \end{sitem}
\end{slide}

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

   \subsection{Experiences}

   Observe in Practice
   \begin{sitem}
      \item 10-200 hosts (not 1024)
      \item Length shorter than 1500m (RTT closer to 5$\mu$ than 51$\mu$)
      \item Packet length is bimodal
      \item High-level flow control and host performance limit load
   \end{sitem}

   \bigskip
   Recommendations
   \begin{sitem}
      \item Do not overload (30\% utilization is about max)
      \item Implement controllers correctly
      \item Use large packets
      \item Get the rest of the system right (broadcast, retransmission)
   \end{sitem}
\end{slide}

