OpenSSH by default enables NODELAY flags on the TCP socket, so each key stroke that you make is send as a separate packet. In some situation it is not a very good idea and you would like to have Nagle algorithm enabled.
Nothing ground braking, you can "enable" it by using a simple script (version written in C which is using TCP_CORK socket option) and ProxyCommand option.
The usage, run ssh command like that (or change your ~/.ssh/config):
ssh -o "proxycommand nagle.py %h %p" user@host
and read man ssh :)
you can modify the Nagle parameters by changing those variables:
n_l = 5 # how many timeout do we wait for
n_tout = 0.1 # actual max wait is n_tout*n_l
n_size = 1024 # minimum size of the packet
maybe this will be useful for somebody :)
PS. Just to add, there is also a SOCKS client that has Nagle support.
PS2. Interesting socket options in Linux and FreeBSD TCP_CORK and TCP_NOPUSH
PS3. Of course you could also just use socat like this, it also works nicely:
ProxyCommand /usr/bin/socat - TCP:%h:%p,cork
Similar post: SSH over SSL
Post a Comment