[EMAIL PROTECTED] wrote:
Matthias Oertli <[EMAIL PROTECTED]> writes:


On the Debian 2.4.20 box the SYN, CWR and ECN flags are set to which the
printserver replies with RST and ACK set (causing the connection to be
terminated).

CWR=Congestion window reduced, ECN=ECN-Echo - Whatever that means.

This intrigues me. What's going on here, and how would I influence
which flags are initially set? Is this even the problem?
ECN is Explicit Congestion Notification.  This is a new feature
in the TCP protocol.  Before ECN a lost packet was *assumed*
to be lost due to congestion.  That assumption fails for wireless
networks, where there is a high level of natural packet loss.

Being a new feature, some stuff which checks "reserved" bits
breaks.

More info at http://www.icir.org/floyd/ecn.html

Intel no longer makes or supports print servers, so you'll need
to turn off ECN on the Linux box.  Edit /etc/sysctl.conf adding
   net.ipv4.tcp_ecn = 0
and run as root
   sysctl -p

Given Intel's lack of support, you might want to move the
printer to the Linux box and have it act as the print server
(most Linux distributions support lpd, NetWare, Windows and
AppleTalk print protocols).

It's also unwise to put printers in the same VLAN as PCs.
Better that printers have their own VLAN and that a machine
sit between the two VLANs that acts as the spool for all
the printers.  This gives a single way to manage and account
all print traffic.  This is worthwhile even in a small office
with a lot of trust (eg: then an Apple user can delete the
job I submitted from Linux).

I also turn off tcp_timestamps as well, when its on it adds 18 bytes
(from memory) to the tcp header making MSS 1442 (instead of 1460).
Not a good idea.  TCP needs to accurately calculate the round
trip time between the two hosts.  The timestamp allows this
to be done to a greater degree of accuracy than running a
external timer and also gives valid RTT under congestion.

The RTT estimate effects performance so much that you're far
better off having a more accurate RTT than gaining a few
bytes per packet by turning the timestamping off.  One
overly delayed packet will undo all of your byte-by-byte
savings.

You might not wish to run TCP timestamp and TCP selective
acknowledgment if you have a modem link running VJ
TCP/IP header compression.  You should run Timestamps
and SACK in all other scenarios.

--
 Glen Turner                (08) 8303 3936 or +61 8 8303 3936
 Australian Academic and Research Network   www.aarnet.edu.au

--
SLUG - Sydney Linux User's Group - http://slug.org.au/
More Info: http://lists.slug.org.au/listinfo/slug

Reply via email to