FYI... PPP, Network errors, packet loss - FIX


Subject: FYI... PPP, Network errors, packet loss - FIX
From: Tim Tuck (tim.tuck@penrith.net)
Date: Tue May 29 2001 - 03:47:51 MDT


Hi all,

In reading some of the email of the last couple of weeks I think some of
you may be coming up against a problem I have found with every distro on
most platforms since version 6.0 Redhat etc....

The problem exist because certain RFC1323 TCPIP variables are turned on
by default and shouldn't be unless your network is 100Mb or faster !

I had terrible troubles with modem and other slow speed links until I
changed these settings. Some of my associates also had their troubles
fixed with transfering large files over a normal ethernet network after
changing these settings.

I have verified that Redhat Linux version 6.x thru 7.1 on Intel, Alpha &
Sparc exhibit this fault and YDL 1.2.1 - I would guess that other
distros based around Redhat would have the same problems but I haven't
had time to try any other different distros although NetBSD 1.5 is next
on my list - just to be different.

There is also a growing problem with the new ECN (Explicit Congestion
Notification RFC 2481) setting it that it seems that a lot of
implementations are broken and thus cause connections to not build at
all. Once I find the article I was reading on it and the associated
variables involved i'll post the fix to the list.

Anyway.... here is how to fix the RFC1323 problems...

To enable an immediate fix, do the following:

echo 0 > /proc/sys/net/ipv4/tcp_sack
echo 0 > /proc/sys/net/ipv4/tcp_timestamps
echo 0 > /proc/sys/net/ipv4/tcp_window_scaling

To ensure that these values are set on boot they need to be set in
/etc/sysctl.conf.

Here is my file with the values set.

------begin /etc/sysctl.conf ---------

# Disables packet forwarding
net.ipv4.ip_forward = 0
#
# Enables source route verification
net.ipv4.conf.all.rp_filter = 1
#
# Disables automatic defragmentation (needed for masquerading, LVS)
net.ipv4.ip_always_defrag = 0
#
# Disables the magic-sysrq key
kernel.sysrq = 0
#
# Turn off rfc1323 stuff which stuffs connections under 10Mbs
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_sack = 0
#
# Change a few other things to more respectable values.
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_keepalive_time = 2
#

------end /etc/sysctl.conf ---------

happy networking

cheers

Tim



This archive was generated by hypermail 2a24 : Tue May 29 2001 - 02:53:54 MDT