iitis-generator-traffic - iitis-generator traffic description file
iitis-generator(1) is a tool for distributed, statistical evaluation of wireless networks. Each
network node that takes part in an evaluation experiment runs the
iitis-generator program. This
manual page documents format of the file describing the traffic to be generated in test networkss.
The traffic file is a text file. Each line is a statement and can be treated as an independent traffic generator. The file is common for the whole network. Exemplary few lines below.
# on time 3.5s, on interface 0, generate a 100B frame from node 7->4 3 500 0 7 4 0 0 packet 100 # after 0.25s, send quickly 30 frames of size 200B in the opposite direction 3 750 0 4 7 0 0 packet size=200 rep=30 T=10 # on time 10s + random 0-1000 ms, send final, big frame; bitrate 54Mbps and no ACK 10 uniform(0,1000) 0 7 4 54 1 packet size=1500
Comments start with a hash (#). At most 1000 lines is allowed. Functions can be used as values, e.g. in order to obtain a random start moment (see FUNCTIONS).
Generator lines follow the following syntax:
s ms interface_num srcid dstid rate noack? command [params...]
Meaning of line columns:
s: start time (integer 0+, seconds)
Time is given in seconds after the whole experiment start moment (which is synchronized across all nodes).
ms: start time milisecond fraction (integer 0-999, miliseconds)
interace_num: interface number (integer 0+)
Decides on which interface the traffic should be generated. Numbering starts at 0, so first interface is 0, second is 1, and so on.
srcid: source node ID (integer 1+)
Defines which node should generate the traffic.
dstid: destination node ID (integer 1+)
Defines which node should receive the traffic.
rate: wireless bitrate (float value, Mbps)
PHY layer speed to send the frames with. Notice that this may disable WiFi retry mechanism (can be verified using frame dump files).
There is only a limited set of possible values for this option. Run
iw phy and in the
"Bitrates" section check if the value you want to use is valid. However, usually:
Use 0 for automatic selection by the driver.
noack?: disable WiFi ACK mechanism (bool)
Use either value 0 (enable ACK) or 1 (disable ACK).
command: line command (see below)
params...: optional command parameters
Parameters can be either given with their names (e.g.
size=1500), or without. However, in latter
case, strict order must be retained.
The command sends a simple frame, optionally repeated with a time period. Command syntax:
packet size= rep= T= burst=
Frame length, default 100B (integer 100-1500).
This defines the total frame length in the air, ie. it includes the IEEE 802.11, LLC and
iitis-generator headers. If there is a remaining space, frame payload is filled with line
definition, and repeated until frame is full.
Number of repetitions, default 1 (integer 1+).
Repetition period in miliseconds, default 1000 (integer 1+).
Number of frames to send in each repetition, default 1 (integer 1+).
The command mimics the TFTP protocol in a simplified manner. The difference is that file transfer is initiated by the server, and the data rate is fixed, regardless any TFTP ACK frames. Syntax:
ttftp size= rep= T= rate= MB=
See THE packet COMMAND.
Data rate, in megabits per second, default 1 (integer 1+).
Virtual file size, in megabytes, i.e. amount of data to send in single request. Value of 0 means an infinite buffer. Default 1 (integer 1+).
Following functions are supported:
Generate a constant value of
Generate a random number in range [
val2] according to uniform distribution.