广域网优化SSH通信的可能性

虽然我知道SSH本身就是一个带宽利用率非常低的协议,但是在办公环境的繁忙时间里,有时候会带来带宽的匮乏。 我想知道是否有可能通过广域网减less/优化SSH(rsync)stream量?

我意识到河床不能做到这一点。 什么样的其他devise(代理),我可以想到,忽略像MiTM,DPI等安全问题可以TrafficSqueezer,WANProxy或OpenNOP在这里有什么用处?

此外,请build议是否有任何其他想法来备份rsync以外的数据(如果有)。 我甚至有可能在到达Riverbed之前使用代理服务器解密SSH,然后通过WAN将其传输到另一端。

Sender (RSYNC) Server --> Proxy (Decrypt SSH) --> Sending Riverbed --> Receiving Riverbed --> Receiver Server 

当前拓扑:

 100's of Users (rsync) --> Source Riverbed --> (passed through traffic/unoptimized) --> Destination Riverbed --> Remote Machine 

我最初想要尝试“广域网优化”rsyncstream量的想法,但我越想越多,我决定这是可能的。

基于TCP的字典压缩器(我相信Riverbed Steelhead设备可以这样做)可能会使未encryption的rsyncstream受益。 据推测,Riverbed设备可以对“优化”stream量进行encryption,因此,运行未encryption的rsync不应损害到WAN的stream量的完整性或机密性。 (在源服务器和Riverbed设备之间可能是不同的故事。)

您不必通过SSH运行rsync。 它将通过TCP或任何其他可靠的stream传输完美运行。

看起来好的广域网加速体系结构与安全体系结构有些相反,因为encryption的stream量将是高熵和低冗余度,并且根本不利于压缩。 我认为这些是你必须平衡的担忧。 我好几年没跟上Riverbed,但实际上这似乎是一个对encryption协议进行中间解密可能很有意义的地方(尽pipe把WAN加速器变成了一个巨大的攻击目标)。

编辑:

几个小时后,我回到这个答案,坦率地说,这是在晚上让我起床。

我想澄清一些我正在做的假设。 我假设:

  • 您正在使用的WAN链路速度远远低于LAN – 100Mbps或更低。

  • 就挂钟时间而言,您正在通过这些WAN链接执行备份,以便加快速度。

  • 托pipe源文件和目标文件的服务器具有足够的CPU和networking连接,以完全饱和WAN链接,WAN确实是瓶颈。

  • 您正在使用具有TCP实现的操作系统,可以合理缩放接收窗口以适应WAN链路的带宽延迟产品。

如果服务器不能饱和networking连接,那么你的瓶颈就在别的地方。 基本上,我假设你有一个小的pipe道,当运行备份时,你的服务器可以饱和。 如果你在服务器的CPU或I / O瓶颈,那么没有任何networking相关的“魔术”将帮助你。

说得很直白,我对WAN加速设备感到有点愚蠢。 在过去,我一直没有对他们留下深刻的印象(主要是从投资回报率和成本angular度来看),并且在听到许多有关应用程序和操作系统“奇怪”的恐怖故事时,他们会警惕,这些故事在广域网加速器被禁用时会消失。 我一直怀疑他们是一个“技术”,一般都觉得他们是使用糟糕的工程协议,糟糕的服务器安置决定,或糟糕的networking架构的症状。

我已经花了两个小时的时间来阅读基于字典的协议压缩器,并使用rsync进行游戏。 我认为,根据与rsync进行同步的更改中冗余的数量,使用基于字典的WAN加速器实际上可能会看到一些小的性能提升。 这将取决于你的数据是什么样子。

我没有任何使用实际WAN加速器的数字来支持它。 在生产使用中我也没有使用WAN加速器的个人经验,更不用说“加速”rsync协议了。 我当然不会根据我在这里说的去买东西,但是如果你已经有了一些东西,我会考虑通过它运行一些未encryption的rsyncstream量来看看它是做什么的。

肯定看到答案: 为什么我的rsync如此之慢?

多年来,我一直依靠基于rsync的复制和备份解决scheme。 我从来不需要使用任何forms的WAN加速(使用设备)。

多年来,我的rsync方法已经演变, 从基本压缩到使用“-e ssh -c arcfour”作为一个轻量级的密码,使用HPN-SSH能够控制TCP窗口,并在较长距离的链路上禁用encryption,最近, 使用UDR / UDT有基于UDP的rsync传输。 我想补充一点, UDT是市场上一些WAN加速产品的核心。

这些都是非常深奥的解决scheme,但是我真的会开始理解你今天在做什么。 让我们看看你当前的rsync命令string,并尝试查看它们是否可以优化。

  • 你在备份什么?
  • 目标的来源有多远?
  • 什么是你的带宽能力/限制?

编辑:

您正在谈论的是以400Mbps的带宽传输长距离的二进制数据。 这似乎是在一天的随机时间触发的多个双向stream量的stream量 。

如果你关心带宽饱和,你不能简单地限制你的rsync传输:

 --bwlimit=KBPS limit I/O bandwidth; KBytes per second 

或者,如果您的networking设备有能力,这可能会成为stream量调整或服务质量的练习。 但最终,这似乎是一个人/政策问题。

编辑:

我对UDR的build议默认通过UDP端口9000-9100发送rsync。 这在命令行中不需要太多的改动,而在守护进程模式下运行rsync。 这可能是您的Riverbed部门可以解决的问题。 从您最初的问题来看,并不清楚您的范围,用户数量,甚至是否有WAN加速器。