Saturday, June 5, 2010

F-RTO response


$cat /proc/sys/net/ipv4/tcp_frto_response
0
$



When F-RTO has detected that a TCP retransmission timeout was spurious (i.e, the timeout would have been avoided had TCP set a
longer retransmission timeout), TCP has several options what to do
next. Possible values are:

0 Rate halving based; a smooth and conservative response,
results in halved cwnd and ssthresh after one RTT

1 Very conservative response; not recommended because even
though being valid, it interacts poorly with the rest of
Linux TCP, halves cwnd and ssthresh immediately

2 Aggressive response; undoes congestion control measures
that are now known to be unnecessary (ignoring the
possibility of a lost retransmission that would require
TCP to be more cautious), cwnd and ssthresh are restored
to the values prior timeout

Default: 0 (rate halving based)

source : Linux kernel source documentation.


Slow-start threshold (ssthresh) state variable is used to determine

whether the slow-start or congestion avoidance algorithm is used to

control data transmission.

source : http://www.opalsoft.net/qos/TCP-1010.htm




qw_tools/System.map
25124: c03764a0 D sysctl_tcp_ecn
25125: c03764a4 D sysctl_tcp_frto_response
25126: c03764a8 D sysctl_tcp_nometrics_save
github.com/vjosech/QemuWatcher.git - Unknown

code/ns-2/?raw-diff/1056ff50e303/tcp/tcp.h
445: + /* for experimental high-speed TCP */
446: + /* These four parameters define the HighSpeed response function. */
447: + int low_window_; /* window for turning on high-speed TCP */
448: + int high_window_; /* target window for new response function */
449: + double high_p_; /* target drop rate for new response function */
yans.inria.fr/code/ns-2/?raw-diff/1056ff50e303/tcp/tcp.h - BSD - C++ -


Research Paper.

http://www.jeffrin.in/wp-content/uploads/2010/06/2008_Enhanced-Response-Algorithm-for-Spurious-TCP.pdf