\documentclass[a4paper,french,12pt]{article}

\title{Networks and Protocols --- Wireshark Lab}
\author{Tunui Franken}

\usepackage{../cours}

\begin{document}

\maketitle
\clearpage

\section{TCP}

    \subsection{A first look at the captured trace}

        \begin{enumerate}

            \item What is the IP address and TCP port number used by your client computer (source) to transfer the file to \texttt{gaia.cs.umass.edu}?

                The client's socket is \texttt{192.168.1.102:1161}.

            \item What is the IP address of \texttt{gaia.cs.umass.edu}? On what port number is it sending and receiving TCP segments for this connection?

                The server's socket is \texttt{128.119.245.12:80}.

            \item \texttt{[Trace used]}

        \end{enumerate}

    \subsection{TCP Basics}

        \begin{enumerate}\setcounter{enumi}{3}

            \item What is the sequence number of the TCP SYN segment that is used to initiate the TCP connection between the client computer and \texttt{gaia.cs.umass.edu}?
                What is it in the segment that identifies the segment as a SYN segment?

                The value of the sequence number is \texttt{232129012} (relative 0).
                The flag that identifies it as a SYN segment is set to \texttt{0x002}.

            \item What is the sequence number of the SYNACK segment sent by \texttt{gaia.cs.umass.edu} to the client computer in reply to the SYN\@?
                What is the value of the Acknowledgement field in the SYNACK segment?
                How did \texttt{gaia.cs.umass.edu} determine that value?
                What is it in the segment that identifies the segment as a SYNACK segment?

                The value of the sequence number is \texttt{883061785} (relative 0).
                The value of the acknowledgement number is \texttt{232129013} (relative 1).
                It is set to the sequence number of the received SYN segment, incremented by 1.
                The flag that identifies it as a SYNACK segment is set to \texttt{0x012}.

            \item What is the sequence number of the TCP segment containing the HTTP POST command?

                The value of the sequence number is \texttt{232293053} (relative 164041).

            \item Consider the TCP segment containing the HTTP POST as the first segment in the TCP connection.
                What are the sequence numbers of the first six segments in the TCP connection?
                At what time was each segment sent?
                When was the ACK for each segment received?
                Given the difference between when each TCP segment was sent, and when its acknowledgement was received, what is the RTT value for each of the six segments?
                What is the \texttt{EstimatedRTT} value after the receipt of each ACK\@?

                \begin{enumerate}

                    \item Seq = 164041 sent at \texttt{Aug 21, 2004 15:44:25.867722000 CEST}

                    \item Seq = 1 sent at \texttt{Aug 21, 2004 15:44:25.959852000 CEST}

                    \item Seq = 1 sent at \texttt{Aug 21, 2004 15:44:26.018268000 CEST}

                    \item Seq = 1 sent at \texttt{Aug 21, 2004 15:44:26.026211000 CEST}

                    \item Seq = 1 sent at \texttt{Aug 21, 2004 15:44:26.031556000 CEST}

                    \item Seq = 164091 sent at \texttt{Aug 21, 2004 15:44:26.221522000 CEST}

                \end{enumerate}

            \item What is the length of each of the first six TCP segments?

                \begin{enumerate}

                    \item 104 bytes

                    \item 60 bytes

                    \item 60 bytes

                    \item 60 bytes

                    \item 784 bytes

                    \item 54 bytes

                \end{enumerate}

            \item What is the minimum amount of available buffer space advertised at the received end for the entire trace?
                Does the lack of receiver buffer space ever throttle the sender?

                The windows size is advertised as 17520, which is more that the length of each TCP segment, so none of them throttle the sender.

            \item Are there any retransmitted segments in the trace file?
                What did you check for (in the trace) in order to answer this question?

                There are no retransmitted segments in the trace.
                The value to check for is \texttt{analysis}, which will mention any retransmitted segments.

            \item How much data does the receiver typically acknowledge in an ACK\@?
                Can you identify cases where the receiver is ACKing every other received segment?

                The ACK acknowledges the total amount of received data.
                In the trace, the segments 14--17 are ACKing every other received segment.

            \item What is the throughput (bytes transferred per unit time) for the TCP connection?
                Explain how you calculated this value.

                First calculate the total sum of transferred data (length).
                Then divide that value by the \texttt{Time since first frame in this TCP stream} (field of the last TCP segment of the stream).
                So it this case: $\frac{159388}{5.297257} = 30088.779910$ bytes/sec.

        \end{enumerate}

    \subsection{TCP congestion control in action}

        \begin{enumerate}\setcounter{enumi}{9}

            \item Can you identify where TCP's slowstart phase begins and ends, and where congestion avoidance takes over?
                Comment on ways in which the measured data differs from the idealized behavior of TCP that we've studied in the text.

                The slowstart phase begins at the beginning of the stream, and ends at frame 13.
                Then the avoidance takes over and allows the sender to wait a certain amount of time before sending more packets.

        \end{enumerate}

\end{document}
