\section{End-to-End (Transport) Protocols}

% -----------------------------------------------------------------
\begin{slide}{}
   \begin{sitem}
      \item Underlying best-effort network
      \begin{sitem}
         \item drops messages
         \item re-orders messages
         \item delivers duplicate copies of a given message
         \item limits messages to some finite size
         \item delivers messages after an arbitrarily long delay
      \end{sitem}
      \item Common end-to-end services
      \begin{sitem}
         \item guarantee message delivery
         \item deliver messages in the same order they are sent
         \item deliver at most one copy of each message
         \item support arbitrarily large messages
         \item support synchronization
         \item allow the receiver to apply flow control to the sender
         \item support multiple application processes on each host
      \end{sitem}
   \end{sitem}
\end{slide}
% -----------------------------------------------------------------

\section{Simple Demultiplexor (UDP)}
\begin{slide}{}

   \begin{sitem}
      \item Unreliable and unordered datagram service 
      \item Adds multiplexing
      \item No flow control
      \item Endpoints identified by ports
      \begin{sitem}
         \item servers have {\it well-known} ports
         \item see {\tt /etc/services} on Unix
      \end{sitem}
      \item Optional checksum
      \begin{sitem}
         \item pseudo header + udp header + data
      \end{sitem}
      \item Header format
      \pichere{udp_format.eps,height=0.75in}
   \end{sitem}
\end{slide}




