44.2.2 Alternate Connection Vector Format

To disambiguate the multiple possible interpretations of the t value with sequential connections, we have modified the connection vector format into an alternate format. The basic idea is that in the case of sequential connection vectors, there really exist two times associated with the initiator or acceptor while sending an ADU to the other side:

  1. The amount of time the initiator/acceptor has to wait before sending the next ADU after sending its previous ADU (send_wait_time).
  2. The amount of time the initiator/acceptor has to wait before sending the next ADU after receiving an ADU from the other side (recv_wait_time).
Note that only one of the above two values is used by an initiator/acceptor while sending its ADU to the other side, i.e., the initiator/acceptor schedules sending its next ADU with respect to the event of receiving a ADU from the other side or with respect to the event of sending a previous ADU. The initiator/acceptor does not use both of these values at the same time, so in the new format one of these values is always set to 0. Also note that at the beginning of the connection, the side sending the first ADU will have both send_wait_time and recv_wait_time set to 0. In case of the t values appearing at the end of a connection vector in the original format, we introduce a dummy ADU with size 0 to represent the FIN that will be sent by the initiator/acceptor that sends the last ADU.

This same alternate representation can be used for concurrent connection vectors also. But because there is no time dependence between the sides of the connection, each side schedules sending its next ADU with respect to time at which it sent its last ADU. Therefore, in case of concurrent connection vectors, recv_wait_time is not applicable and is always set to 0. Also, in case of concurrent connection vectors, both the sides start sending their messages at the same time.

We keep the header lines of the connection vectors (those containing the start time, window size, RTT, and loss rates) in the same format as the original, except that we replace SEQ with S and CONC with C. Lines beginning with I denote actions for the initiator, and lines beginning with A show actions for the acceptor. The remaining format of these lines is send_wait_time recv_wait_time bytes. Figure 44.3 shows the alternate connection vector format corresponding to the sequential and concurrent connections shown in Figure 44.2.

Figure 44.3: Alternate Connection Vector Example. In the comments, we abbreviate the initiator as init and the acceptor as acc.
\begin{figure}\makebox[\columnwidth]{\hrulefill}
\small
\begin{verbatim}S 6851...
...nd then sends FIN\end{verbatim}
\makebox[\columnwidth]{\hrulefill}\end{figure}

Tom Henderson 2011-11-05