[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Frequent download time outs - Solved?



I have figured out a way to solve my problem.  Using tcpdump I was able
to determine that the problem always occurred when the exchange was
doing SACK (Selective Acknowledgement).  This is a feature turned on by
default in the 2.2.x kernels (actually since 2.1.??).  It is intended
to increase performance in the face of packet loss.  Turning SACK off
has solved the problem.  It also explains some of the variability I
have seen.  Some sites are not SACK compatible, so the download happens
fine.  Some sites do not generate the packet loss problems which start
SACK options being exercised (at least not all the time).  Later, the
same site might be much more congested and start having problems.

The way I turned off SACK is to execute the following (as root):

   echo "0" > /proc/sys/net/ipv4/tcp_sack

Since this has corrected the problem, I have updated
/etc/init.d/networking to include this step.

I am not sure why SACK is not working properly.  At least now I know
what to search for and have found several references on the kernel
mailing list regarding problems seen with SACK implementations.  There
seems to be a good deal of disagreement about whether the problem is in
the linux implementation or the implementation used by various ISP's. 
Since I get these problems trying to download Debian files, I suspect I
am talking linux to linux.  As time permits I will try to troubleshoot
this further and document it with tcpdump output.  For now, I would
like to see if the above fix corrects the problem for others who are
seeing the same timeout problems.

Regards,
   Jeff



Reply to: