SSH隧道慢

我刚刚在全球一半的地方移动,出现了一个奇怪的连接问题。 我有一个4 Mbps的DSL连接,可以成功SSH入我的服务器,并build立一个隧道。 我使用PuTTY(在我的桌面 – PC上)和terminal(在我的Mac上)。 我的桌面速度平均达到0.5 Mbps。 如果我直接testing速度到最近的服务器(即没有代理/隧道)到我的服务器,但是我得到了4 Mbps的广告。

唯一的区别是桌面是在CAT5连接上,而Mac是通过DSL路由器无线的。 我通过将电缆插入到Mac中来检查电缆,并将隧道的速度提高到了4 Mbps。 到路由器的其他以太网连接也获得了4 Mbps的速度。

下面是putty.log。 我不确定是否是路由器或腻子连接的configuration,并且在Google上花了4个小时之后我不知所措。

任何帮助,将不胜感激。 服务器本身正在运行Ubuntu 10.04。

2011-08-01 14:14:13 Looking up host "xxxx" 2011-08-01 14:14:13 Connecting to xxxx port 22 2011-08-01 14:14:13 Server version: SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu7 2011-08-01 14:14:13 We claim version: SSH-2.0-PuTTY_Release_0.60 2011-08-01 14:14:13 Using SSH protocol version 2 2011-08-01 14:14:14 Doing Diffie-Hellman group exchange 2011-08-01 14:14:14 Doing Diffie-Hellman key exchange with hash SHA-256 2011-08-01 14:14:14 Host key fingerprint is: 2011-08-01 14:14:14 ssh-rsa 2048 aa:bb:cc:dd:0f:a3:1e:06:bc:c8:7d:dd:cc:bb:aa:11 2011-08-01 14:14:14 Initialised AES-256 SDCTR client->server encryption 2011-08-01 14:14:14 Initialised HMAC-SHA1 client->server MAC algorithm 2011-08-01 14:14:14 Initialised AES-256 SDCTR server->client encryption 2011-08-01 14:14:14 Initialised HMAC-SHA1 server->client MAC algorithm 2011-08-01 14:14:15 Reading private key file "C:\key.ppk" 2011-08-01 14:14:17 Offered public key 2011-08-01 14:14:18 Offer of public key accepted 2011-08-01 14:14:20 Access granted 2011-08-01 14:14:21 Opened channel for session 2011-08-01 14:14:21 Local port 1080 SOCKS dynamic forwarding 2011-08-01 14:14:21 Allocated pty (ospeed 38400bps, ispeed 38400bps) 2011-08-01 14:14:21 Started a shell/command 

作为ssh连接/隧道速度的一般规则,Putty是单线程应用程序,因此即使在多核系统上,也受单CPU速度的限制。 对于高速,请select快速密码 – Blowfish。 要么在putty中configuration它,要么使用命令行ssh,指定ssh -c blowfish ...来使用它。 使用这个,你将仍然被限制在最大值。 在Gbit本地networking上10 MB / s。

我用WinSCP(基于PuTTY的SSH实现)在大西洋的高延迟链路上遇到类似的问题。 PuTTY和WinSCP将处理其networking缓冲区的方式不允许TCP窗口缩放来完成其工作,这对于高延迟链接来说是非常必要的。 它总是发送两个数据包,一个大,一个小。 第一个将有一个1460字节的有效载荷,第二个将有76个字节。

这个线程有一个很好的解释,为什么1460 + 76字节是重要的。

无论如何,我通过放弃PuTTY / WinSCP来支持Bitvise Tunnilier ,解决了这个问题,而Bitvise Tunnilier并没有出现这种缓冲/窗口缩放的问题。