Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 Jan 2004 16:30:06 +0100
From:      Bernd Walter <ticso@cicely12.cicely.de>
To:        Andre Oppermann <andre@freebsd.org>
Cc:        current@freebsd.org
Subject:   Re: the TCP MSS resource exhaustion commit
Message-ID:  <20040109153005.GQ51502@cicely12.cicely.de>
In-Reply-To: <3FFEC4E2.96DF5ED@freebsd.org>
References:  <20040109085522.GB4246@tybalt.nev.psi.de> <3FFE8232.730F70B8@freebsd.org> <20040109132453.GD2031@tybalt.nev.psi.de> <3FFEB979.3C705A85@freebsd.org> <20040109150625.GP51502@cicely12.cicely.de> <3FFEC4E2.96DF5ED@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jan 09, 2004 at 04:12:34PM +0100, Andre Oppermann wrote:
> Bernd Walter wrote:
> > 
> > What about ACKs from a simple TCP device such as a microcontroller?
> > Or slip connects with MTU of 300?
> > Many smaller controllers don't have enough RAM to do delayed acks
> > or run at MTU 1500.
> > Even a hand full public webservers are running on such systems!
> > I'm a bit worried about having such a feature enabled by default to
> > break TCP communication with specialised hardware.
> 
> If the microcontroller doesn't have enough RAM to do delayed ACKs
> I highly doubt that it is capable to generate 1,000 packet per
> second.

I'm personally running controllers at 16MIPS with only 1k RAM doing
TCP over slip and I also run controllers with 4k RAM over Ethernet
with the same IP Stack because I need most of the 4k for other things.
1,000 packets/s is not impossible for simplified IP systems.
 
> The detection logic only applies to TCP packets containing payload,
> not to ACKs or anything else.

OK - thats sound great - also I've read that MTU 300 is not a problem
by itself as the trigger value is smaller.

But what I do in one application is modbus protocol, which has a packet
payload of something around 10 to 256 bytes - small sizes are more
common.
The protocol has his ancours is half duplex serial lines and waits for
response on each command so packet aggregation is impossible.
It defines interleaving over TCP, but implementation isn't a
requirement.
See www.modbus.org for details.

For the same reasons I could easily imagine RPC over TCP to create small
packets.

-- 
B.Walter                   BWCT                http://www.bwct.de
ticso@bwct.de                                  info@bwct.de



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040109153005.GQ51502>