[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Question about tcpTick_
Amr -
>I have a question regarding the tcpTick_ parameter which sets the timer
>granuality of a tcp tick in seconds. I was looking at tcp.h and it states
>that for BSD the value should be 0.3, but should not it be 0.5. Isn't
>the rtt tick in BSD equal to 500ms ?
Yes, BSD TCP generally has the tcp tick set to 500ms. When I put that
comment in, I was using machines that allowed users to set tcp tick
values of 100ms and 300ms, so 100ms and 300ms struck me as
sufficiently-realistic values.
>Also does this granuality only control the estimates (rtt, srtt (with 3
>bits on right), and rttvar(with two bits on right) ), or does it also
>control the granuality of the timeout value (rto) ?
It controls both. The test suite that tests both tcpTick_ and
retransmit timers is run by "./test-all-tcp" in tcl/test,
and is described in tcl/test/test-suite-tcp.txt. The current
retransmit timeout value, before any retransmit timer backoffs are
added in, is as follows in the code:
//
// Current retransmit value is
// (unscaled) smoothed round trip estimate
// plus 4 times (unscaled) rttvar.
//
t_rtxcur_ = (((t_rttvar_ << (2 + (T_SRTT_BITS - T_RTTVAR_BITS))) +
t_srtt_) >> T_SRTT_BITS ) * tcp_tick_;
- Sally