On Fri, Feb 15, 2008 at 12:27:19PM +0000, Darren J Moffat wrote:
> Nicolas Williams wrote:
> >   Do we want to provide an option for the 'none' SSHv2 cipher?
> 
> I don't.  I think it is a very bad idea. However I would be willing to 
> reassess this after the networking changes have been done if they still 
> don't show good enough performance.

I agree.

> Other things to consider are how to get ride of the pipe(2) between 
> sftp/scp and ssh on the client side.  Also consider if it would help if 
> sftp-server were integrated into sshd on the server side.

I agree.  I think sftp-server could easily be integrated into sshd since
it's entirely driven by input packets and it doesn't block (unless it's
serving NFS, and even then, running the sftp-server in a separate thread
would be fine).  Its event loop should be easily modified to fit into
sshd's, and all the process*() functions in sftp-server.c should be
augmented to have all currently global state passed in (primarily the
Buffer instances uses to interface with sshd).

Integrating the SFTP client into ssh(1) will be more complicated since
it will require creating an IPC between the actual sftp(1) and ssh(1),
and it will erquire either running a thread in ssh for each SFTP channel
or splitting many functions in sftp-client.c into pairs and adding a
dispatch for the replies (but again, to avoid having ssh block on NFS
threads would be better).

> Basically I'm not convinced enough that the crypto (once we can use the 
> hardware) is actually the biggest performance problem with scp/sftp.

Me either.  I really think that the TCP auto-tuning issue is the most
significant.

BTW, we could implement auto-tuning in ssh/sshd for SFTP since we have a
way to measure RTTs -- we don't have an easy way to determine max
bandwidth (of local interfaces), but we can heuristically manage the
SNDBUF/RCVBUF sizes and SSHv2 channel window sizes (basically: increase
until the observed BDP stops growing).

Nico
-- 

Reply via email to