May I make a reply to my own question regarding: CONFIG_INET_ECN=y ?
I found the following by using google. Maybe Mandrake should consider
turning this option off as the average user will not know what is going on.
And, furthermore, nobody seemed to know on yhis list either.....
-- Bjarne
By Scott Courtney
Your upgrade to kernel 2.4.0, or anything later, went perfectly, or so you thought.
You downloaded all the files you needed, built the kernel, upgraded modutils, and
booted.
Voila! Working system! So you played around a bit, decided it was working fine, and
went
back to your normal work.
Around noontime you decided to check your stock portfolio on E-Trade or to look at the
financial
news on the NASDAQ web site. "Gee!" you thought as your browser failed to connect,
"It's amazing
that both of these major financial sites are down at the same time!" So you went back
to what
you were doing. A couple of hours later they were still unreachable, and you began to
wonder if
the problem was really at their end, or at yours.
Since the only thing you changed was the kernel, you rebooted under your old kernel
and tried NASDAQ. It was working fine now. Boot
the 2.4.x kernel and it's gone again. What's going on here?
The answer is that Linux is once again on the cutting edge of networking technology
with its
implementation of an experimental protocol called Explicit Congestion Notification, or
ECN.
The technical details of ECN are described in a Request for Comment (RFC) document
published
by the Internet Engineering Task Force (IETF). RFC 2481 is the relevant document, with
RFC 2884
providing additional information. (http://www.ietf.org/).
In layman's terms, ECN is a way to improve the speed of the Internet for everyone by
allowing
hosts or routers to specifically notify one another when there is congestion due to
heavy traffic.
With the existing TCP/IP standards, the only way to detect congestion was that routers
would drop
packets when they had no bandwidth available. These packets would be automatically
retransmitted
by the sending host, but the host would (presumably) notice that packets were being
dropped
and would decrease its transmission rate.
ECN changes all that by allowing routers to notify hosts that the packet they just
received
experienced congestion delays as it wended its way across the Internet. The
presumption is
that the hosts become active partners with the Internet infrastructure, helping to
manage the
overall traffic pattern by making more reasonable requests of the infrastructure.
The problem with Linux 2.4.x and ECN is that not all of the existing routers and other
devices
on the Internet can support ECN. In fact, some older devices actually treat ECN
packets as
invalid, and discard them altogether. This explains the problem with NASDAQ and
E-Trade's web
sites, both of which (as of a few days ago) did not support ECN packets. There are
other sites
with this problem as well, and in fact Internet.com had to upgrade some of its own
equipment
several months ago as a result of this new protocol.
Eventually, the network infrastructure will be updated so that this new protocol
(currently
experimental) is supported everywhere, but what can a Linux user do about the problem
in the
meantime? The good news is that there is an easy workaround, and it doesn't involve
staying
with the 2.2.x kernel.
In configuring the 2.4.x kernels, you can disable ECN by turning off the
CONFIG_INET_ECN
option (titled "IP: TCP Explicit Congestion Notification" in the interactive
configurators)
before building the kernel. This completely removes ECN support from the kernel, but
of course
you then have no way to test with it to see when you might turn it back on.
Another, perhaps simpler, approach is to use the sysctl feature of the /proc virtual
filesystem to turn off ECN at runtime. Executing this command:
echo "0" > /proc/sys/net/ipv4/tcp_ecn
will turn off ECN support until the next reboot, while replacing "0" with "1" in the
above
command will turn ECN back on. You can safely put this command in your rc.local or
other
bootup script, or make it part of your SysV init processing.
With Explicit Congestion Notification turned off, Linux 2.4.x kernels have no trouble
accessing NASDAQ, E-Trade, or other sites that don't yet support ECN. Once the
infrastructure
catches up, use of ECN by Linux (and other) clients will hopefully bring better
Internet
speed to all of us.
S/MIME Cryptographic Signature