create new tag
, view all tags
I am having an inordinate number of "timeout(s) on server" as I try to use twiki.org (over my dial-up connection).

I'm looking for a solution, like maybe a way to increase the timeout setting (which, I believe, is at my end (in the browser)).




tcp-ecn flag

This post to 201585@bugsPLEASENOSPAM.debian.org suggested that I check that the tcp-ecn flag was not set in the kernel (and clearing it if set), using these instructions:

laze:~# cat /proc/sys/net/ipv4/tcp_ecn 
laze:~# nc -w 2 www.netscape.com 80
netscape.com [] 80 (www) : Connection timed out
laze:~# echo 0 > /proc/sys/net/ipv4/tcp_ecn 

On my Knoppix 3.2 system, the flag was already set to zero, so I didn't bother changing it.

Oh, OK, I'll try changing it anyway.

Hmm, on the first preview and save cycles, it doesn't seem any worse (both worked on the first try -- but still a fairly long delay). I'll leave it this way for a while and see what happens.

Update (this is extremely preliminary, but) it seems there is a definite improvement. In two edit -> preview -> save cycles, about 2/3 of my requests have worked, and if they haven't worked the first time, the second request has worked. (Recently I've been doing much worse, perhaps as little as 1/5 of my requests working, and sometimes trying many times before succeeding.) But, at a high costI've already run into one site () that doesn't seem to work at all with the flag set, so, I may have to set up a little batch file to easily toggle that flag. It's not what I hoped for, so I want to keep looking for something better. (If this is the best that can be done, or even if it's not, maybe it should be easily readable and toggleable from your web browser (or some (G)UI to the TCP stack or something similar) — I'm still thinking that increasing the timeout in your browser is more direct, but if this does help (which it seems to so far), maybe both are appropriate. Maybe it (and the browser timeout) should be configurable on either a per (browser) tab or per URL (or domain) basis.

What is the tcp-ecn flag?

Start with RFC 2884 - Performance Evaluation of Explicit Congestion Notification (ECN) in IP Networks. Based on what I read (skimmed) there, it might be a little surprising that this helps.

IIUC, ECN is not what I'd call a brute force method (like increasing the priority of my messages so they get through at the expense of someone else's messages), but quite a bit more subtle — it provides an earlier warning of impending congestion (or buffer overfill on the receiving end) and signals the sending end to slow down before the buffer overfills. As long as the buffer does not overfill, packets are not dropped (at least not because of buffer overflow) — if packets are not dropped they don't have to be resent, and if packets are not resent, there is less congestion on the link. (I didn't read all of the RFC, in fact, this might have been one of the precursors of the ECN method — nevertheless, it indicates to me that someone out there is thinking.

The RFC also explains what is required at routers to support ECN (which may hint at why some sites (so far) seem to work worse (or not at all) when the ECN is set.

Some Sites that Don't Work with ECN

This is not intended to be a comprehensive list, but more a list of some sites that don't seem to work with ECN that I might use to experiment with other solutions:

  • http://www.kdedevelopers.org — on 30-31 August 2003, in 30 plus tries on the home and sub pages, this did not load once with the ecn flag set but it worked very well (better than SourceForge (twiki.org)) with the flag not set — I should write to them and ask if they know about the problem and can fix it

Other ECN Resources

This is turning into a page on ECN instead of the server timeout problem — at some point I should probably move the ECN stuff to a dedicated page.

There are still some old firewalls and routers out on the Internet that will filter away all IP packets that has the ECN bits set. They are fairly uncommon these days, but if you are unlucky, you may run into them. If you do experience connection problems to specific hosts, try turning ECN off and see how things go. If you find the actual host blocking the ECN packets, try getting in touch with the administrators and warn them about this. A deeper explanation of the problem, as well as a list of the most common hardware that causes this trouble is available, and can be found in the Other resources appendix, under the ECN-under-Linux Unofficial Vendor Support Page heading.


  • () RandyKramer - 30 Aug 2003
  • If you edit this page: add your name here; move this to the next line; and if you've used a comment marker (your initials in parenthesis), include it before your WikiName.

Revision Comment

  • %DATE% —

Page Ratings

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r3 - 2003-10-05 - RandyKramer
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by PerlCopyright 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding WikiLearn? WebBottomBar">Send feedback
See TWiki's New Look