A connection vector is a representation of an observed TCP connection.
Each connection vector has several fields which specify the type of
connection (sequential or concurrent), connection start time, loss
rate, window size, etc. Each connection vector also contains an
arbitrary number of application data units (ADUs). Each ADU represents
data to be sent over the network by either the initiator or the
acceptor of the TCP connection. ADUs also specify when data should be
sent relative to either the reception of an ADU or the completed
sending of a previous ADU. A file containing an arbitrary number of
connection vectors must be supplied to Tmix in order for any traffic
to be generated.

Connection vectors are either sequential or concurrent.
Sequential connection vectors are the most common and represent a
request-reply type connection, where a new ADU is sent only after the
previous ADU has been received. Concurrent connection vectors allow
for deviation from the sequential pattern. For a concurrent
connection, new ADUs are sent a certain amount of time after the
previous ADU was sent and do not depend upon when ADUs were
received. Examples of this type of application protocol include
HTTP/1.1 (pipelining) and the BitTorrent file-sharing protocol.

Tmix in ns-2 can handle two different connection vector formats, which
we term as original and alternate. We have provided a Perl
script (ns/tmix/cvec-orig2alt.pl) to convert from the original format to
the alternate format. The Tmix module in ns-2 can automatically
detect the format of the given connection vector file.