44.2.1 Original Connection Vector Format

Examples of the original format of connection vectors as described in [] are shown in Figure 44.2.

Figure 44.2: Original Connection Vector Format Example. In the comments, we abbreviate the initiator as init and the acceptor as acc.
\begin{figure}\makebox[\columnwidth]{\hrulefill}
\small
\begin{verbatim}SEQ 68...
...nd then sends FIN\end{verbatim}
\makebox[\columnwidth]{\hrulefill}\end{figure}
Sequential and concurrent connection vectors are differentiated by the starting string in the first line: SEQ for a sequential connection and CONC for a concurrent connection. The second field in the first line gives the starting time for the connection in microseconds from time 0 (the start of the simulation). For sequential connections, the third field indicates the number of ADU exchanges, or epochs, present in the connection. For concurrent connections, the third field indicates the number of ADUs that the initiator sends, and the fourth field indicates the number of ADUs that the acceptor sends. The final two fields in the first line are identification numbers, of which only the final ID is used in ns-2.

The second line in each, starting with w, gives the window sizes of the initiator and acceptor, respectively, in bytes. The third line, starting with r, gives the minimum RTT in microseconds between the initiator and acceptor. The fourth line, starting with l, provides the loss rates involved in each direction of the connection. The remaining lines in the connection vector show the ADU exchanges.

In a sequential connection vector, the ADUs are shown in increasing order by the times at which they are sent. The lines starting with $>$ show the sizes of the ADUs sent by the initiator to the acceptor, and the lines starting with $<$ show the sizes of the ADUs sent by the acceptor to the initiator. Note that there is a time dependency in case of sequential connection vectors. One side of the connection is dependent on the other side of the connection sending it an ADU.

In case of sequential connections, the line containing t can appear in any of the following four scenarios:

  1. After a line beginning with $>$ and before a line beginning with $<$.
  2. After a line beginning with $<$ and before a line beginning with $>$.
  3. At the end of the connection vector, after a line beginning with $>$.
  4. At the end of the connection vector, after a line beginning with $<$.
Depending on its placement, the semantics associated with the t value change. In case 1, t denotes the amount of time the acceptor has to wait after receiving an ADU from initiator before it can send its next ADU. In case 2, the t denotes the amount of time the initiator has to wait after receiving an ADU from acceptor before it can send its next ADU. In case 3, the t denotes the time the initiator has to wait after sending its last ADU and before closing the connection. In case 4, the t denotes the time that the acceptor has to wait after sending its last ADU and before closing the connection.

For a concurrent connection vector, lines starting with c$>$ indicate the bytes sent by the initiator, and lines starting with c$<$ indicate the bytes sent by the acceptor. Lines starting with t$>$ indicate the time the initiator waits before sending the next ADU (or sending the FIN, if the last ADU has been sent). Likewise with lines beginning with t$<$ and the acceptor. Note that there is no time dependence between the initiator and acceptor in case of a concurrent connection vector. The waiting times are between consecutive sends and are not dependent upon receiving an ADU from the other side.

Tom Henderson 2011-11-05