Version 9 (modified by Ben Newton, 7 years ago) (diff)


Details of Tmix

Tmix generates realistic TCP traffic by "replaying" a TCP/IP header trace collected from a real link. This page will give more details on Tmix, and how it generates traffic.

The a-b-t Model

A TCP/IP header trace is obtained from a real-world link, and is then "reverse compiled" into a higher-level representation. For every TCP/IP connection in the trace a connection vector is generated. The connection vector represents an entire single connection between "a", the connection initiator, and "b", the connection accepter. Rather than modeling the individual packets or TCP segments, Tmix instead uses inferences to characterize connections as a sequence of request-response exchanges between "a" and "b". Each request or response transfers one application-data unit (ADU), which is a generic term for the object or protocol element being transferred. Further, each exchange (request then response) is called an epoch, and includes the sizes of the ADUs transferred, and the requester side "think" or processing time, "t". More formally, a simulation would consist of a set of n connection vectors C1...n, each including a set of k epochs, Ci=<E1,E2,..., Ek>, where each epoch is defined by Ei = (ai,bi,ti).

where each epoch includes ai, the size of the ith ADU sent f

Note that Tmix does not require any knowledge about what the application layer, or application layer headers.

Note that the data units used in this model are not packets or TCP segments, but rather objects or protocol elements.