Timestamp option and srtt
kapiltj at yahoo.com
Tue Jun 19 19:15:28 UTC 2007
I have a question about the RTT/srtt calculation in presence of the
If timestamp is nor present, RTT is not calculated for retransmits due
to karn's algorithm. However with timestamps even retransmits factor
into the RTT calculation. I understand that this is useful in general.
Now consider a scenario where some intermediate link/router goes down
for 30 secs, then the packet would be retransmitted lets say
+1,+2,+4,+8,+16 seconds. Now lets say the 4th transmissions comes back
before the timeout expires but it takes it 10 secs (due to the timing
of the intermediate coming up). In this case we would end up with a
huge srtt value giving the next timeout to be ~30 secs. This will
then decrease very slowly with valid acks coming in. This failure was
one -time but it still affects throughput quite a bit.
Now if this link/router keeps going down for 20-30 secs, every few
minutes then the srtt will never really go to normal values, though
during the duration that the router is up the rtt is very small.
Is this the expected behaviour ? This could cause problems with protocols such as BGP which have a hold-timer and will then reset the connection even for one Keep-alive loss.
Could we have an option to turnoff RTT updates for retransmissions even when TS option is turned on?
Or have a way to reset the timeout back to initial value
instead of it starting from a huge value after a link failure?
More information about the freebsd-net