[PATCH] Using TCP_NODELAY unconditionally

Nicolas Williams Nicolas.Williams at ubsw.com
Wed Jan 23 09:22:39 EST 2002


On Tue, Jan 22, 2002 at 01:53:53PM -0800, Rick Jones wrote:
>  
> > The latter.
> 
> Then port forwarding trumps.

Ok. OpenSSH team? :)

> > The main SSH abstraction that you should be interested in, wrt this
> > discussion, is the channels abstraction, whereby SSHv2 multiplexes
> > multiple streams onto one TCP session - some channels may be
> > associated with, say, a login session, whereas others may be
> > associated with X11 forwarding.
> 
> So, ssh is both the floor wax and the desert topping... 

Yes. It's the transport layer. As such you'd expect the underlying
transport that SSH uses (TCP) should not implement Nagle and that
Nagle should be implemented at the SSH layer, if at all.

> Modulo all the vendors having been forced to kludge their telnets to
> disable nagle by default (grrrr) I would say that an interactive session
> should start with nalge still on (my quixotic hope of undoing the
> aforementioned telnet kludges) but when ssh is acting as a session-layer
> mux that the presence of a second session over the same TCP connection
> calls for setting TCP_NODELAY. Otherwise, two applicatoins that know
> nothing about one another, which would otherwise _not_ run afould of the
> interaction between nagle and delayed ack on their own would start to
> run afould of it.

OpenSSH currently turns off Nagle only when an interactive session is
running. You suggest that the reverse should be the case.

OpenSSH Team: why is Nagle turned off only for interactive sessions?

OpenSSH Team: what are your objections to reverse the current situation,
with respect to Nagle, or even just turning it off altogether?

Should Nagle-at-the-SSH-layer be advocated at the IETF SECSH working
group?

> I still hold-onto the quixotic hope of keeping nagle on for single
> session connections.

Your hope is quixotic alright. I think there's a better chance of the
SSHv2 protocol being changed to implement Nagle on a per-channel basis
at the SSHv2 layer than there is of making Nagle-at-the-TCP-layer work
well with SSHv2, interoperably well that is.

> rick jones


Cheers,

Nico
--
-DISCLAIMER: an automatically appended disclaimer may follow. By posting-
-to a public e-mail mailing list I hereby grant permission to distribute-
-and copy this message.-

Visit our website at http://www.ubswarburg.com

This message contains confidential information and is intended only 
for the individual named.  If you are not the named addressee you 
should not disseminate, distribute or copy this e-mail.  Please 
notify the sender immediately by e-mail if you have received this 
e-mail by mistake and delete this e-mail from your system.

E-mail transmission cannot be guaranteed to be secure or error-free 
as information could be intercepted, corrupted, lost, destroyed, 
arrive late or incomplete, or contain viruses.  The sender therefore 
does not accept liability for any errors or omissions in the contents 
of this message which arise as a result of e-mail transmission.  If 
verification is required please request a hard-copy version.  This 
message is provided for informational purposes and should not be 
construed as a solicitation or offer to buy or sell any securities or 
related financial instruments.




More information about the openssh-unix-dev mailing list