Removing T/TCP and replacing it with something simpler

Andre Oppermann andre at freebsd.org
Fri Oct 22 08:55:47 PDT 2004


Brian Fundakowski Feldman wrote:
> 
> On Fri, Oct 22, 2004 at 05:14:07PM +0200, Andre Oppermann wrote:
> > None of it.  Neither NOPUSH nor CORK have any security implications.
> > Those are only with the specification of T/TCP.  Blocking the data
> > is independend of 3WSH.  Normally you have Nagle enabled (default)
> > and when you don't fill an entire packet worth of data it will wait
> > up to 200ms to send the packet in anticipation of more data from the
> > socket.  This screws the responsiveness of your connection.  The first
> > solution is to turn off Nagle (with TCP_NODELAY) but now you get a
> > packet for every single write() you do.  Fine for telnet and ssh but
> > not the right thing for a database server.  There you don't want the
> > delay but at the same time you want several successive write()s that
> > will go in one packet on the wire.  Here NOPUSH and CORK come into
> > play.
> 
> Why is just tuning the delay a bad solution?

If you tune it too low it ain't useful anymore (doesn't gather distant
writes together) and too many timers too often.

-- 
Andre


More information about the freebsd-arch mailing list