36.1.4 Other Configuration Parameters

In addition to the window_ parameter listed above, the TCP agent supports additional configuration variables. Each of the variables described in this subsection is both a class variable and an instance variable. Changing the class variable changes the default value for all agents that are created subsequently. Changing the instance variable of a particular agent only affects the values used by that agent. For example,

  Agent/TCP set window_ 100     # Changes the class variable;
  $tcp set window_ 2.0          # Changes window_ for the $tcp object only;

The default parameters for each TCP agent are:

Agent/TCP set window_   20              # max bound on window size;
Agent/TCP set windowInit_ 1             # initial/reset value of cwnd;
Agent/TCP set windowOption_ 1           # cong avoid algorithm (1: standard);
Agent/TCP set windowConstant_ 4         # used only when windowOption != 1;
Agent/TCP set windowThresh_ 0.002       # used in computing averaged window;
Agent/TCP set overhead_ 0               # !=0 adds random time between sends;
Agent/TCP set ecn_ 0                    # TCP should react to ecn bit ;
Agent/TCP set packetSize_ 1000          # packet size used by sender (bytes);
Agent/TCP set bugFix_ true              # see explanation;
Agent/TCP set slow_start_restart_ true  # see explanation;
Agent/TCP set tcpTick_ 0.1              # timer granulatiry in sec (.1 is NONSTANDARD);
Agent/TCP set maxrto_ 64                # bound on RTO (seconds);
Agent/TCP set dupacks_ 0                # duplicate ACK counter;
Agent/TCP set ack_ 0                    # highest ACK received;
Agent/TCP set cwnd_ 0                   # congestion window (packets);
Agent/TCP set awnd_ 0                   # averaged cwnd (experimental);
Agent/TCP set ssthresh_ 0               # slow-stat threshold (packets);
Agent/TCP set rtt_ 0                    # rtt sample;
Agent/TCP set srtt_ 0                   # smoothed (averaged) rtt;
Agent/TCP set rttvar_ 0                 # mean deviation of rtt samples;
Agent/TCP set backoff_ 0                # current RTO backoff factor;
Agent/TCP set maxseq_ 0                 # max (packet) seq number sent;

For many simulations, few of the configuration parameters are likely to require modification. The more commonly modified parameters include: window_ and packetSize_. The first of these bounds the window TCP uses, and is considered to play the role of the receiver's advertised window in real-world TCP (although it remains constant). The packet size essentially functions like the MSS size in real-world TCP. Changes to these parameters can have a profound effect on the behavior of TCP. Generally, those TCPs with larger packet sizes, bigger windows, and smaller round trip times (a result of the topology and congestion) are more agressive in acquiring network bandwidth.

Tom Henderson 2014-12-17