Possibilidade de otimização de WAN para tráfego SSH

2

Embora eu entenda que o SSH por si só é um protocolo de utilização de largura de banda muito baixa, às vezes ele está sufocando a largura de banda durante os horários de pico em nosso ambiente de escritório. Eu quero saber se em tudo é possível reduzir / otimizar o tráfego SSH (rsync) através da WAN?

Eu percebi que o leito do rio não pode fazer isso. Que tipo de outros projetos (proxies) posso pensar, ignorando problemas de segurança como MiTM, DPI, etc. O TrafficSqueezer, o WANProxy ou o OpenNOP podem ser úteis aqui?

Além disso, sugira se houver outras idéias para fazer backup dos dados (se houver algum) que não sejam o rsync. É possível pensar em descriptografar o SSH com um servidor proxy antes de chegar à Riverbed e transportá-lo pela WAN para o outro lado.

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

Topologia atual:

100's of Users (rsync) --> Source Riverbed --> (passed through traffic/unoptimized)  -->  Destination Riverbed --> Remote Machine
    
por deppfx 18.10.2014 / 14:57

2 respostas

3

Inicialmente eu ia ser um opositor da idéia de tentar "otimizar a WAN" do tráfego rsync, mas quanto mais eu pensava nisso, mais eu decidi que era possível.

Um compressor de dicionário baseado em TCP (que acredito que os equipamentos Steelhead da Riverbed podem fazer) provavelmente beneficiaria um fluxo rsync não criptografado. Presumivelmente, os dispositivos da Riverbed podem fazer criptografia no tráfego "otimizado", portanto, a execução do rsync não criptografado não deve comprometer a integridade ou a confidencialidade do tráfego para a WAN. (Entre o servidor de origem e o dispositivo Riverbed pode ser uma história diferente.)

Você não precisa executar o rsync por SSH. Ele funcionará perfeitamente bem em TCP ou qualquer outro transporte de fluxo confiável.

Parece que uma boa arquitetura de aceleração de WAN seria contrária a uma boa arquitetura de segurança, já que o tráfego criptografado seria de alta entropia e baixa redundância e não propiciaria a compactação. Acho que essas são preocupações que você precisa equilibrar. Eu não acompanho a Riverbed há alguns anos, mas isso realmente parece ser um lugar onde a descriptografia man-in-the-middle de protocolos criptografados pode fazer muito sentido (embora isso torne o acelerador WAN em um enorme alvo de ataques).

Editar:

Estou voltando a essa resposta algumas horas depois porque, francamente, está me mantendo acordada à noite.

Eu quero esclarecer algumas suposições que estou fazendo. Eu estou assumindo:

  • Você está trabalhando com links WAN significativamente mais lentos que uma LAN - 100 Mbps ou menos.

  • Você está realizando backups nesses links WAN que você gostaria de acelerar, em termos de tempo de exibição.

  • Os servidores que hospedam os arquivos de origem e destino têm conectividade de rede e CPU suficiente para saturar completamente o link WAN e a WAN é realmente o gargalo.

  • Você está usando sistemas operacionais com implementações TCP que podem dimensionar razoavelmente a janela de recebimento para acomodar o produto de atraso de largura de banda do seu link WAN.

Se os servidores não puderem saturar o link da rede, seu gargalo estará em outro lugar. Basicamente, estou assumindo que você tem um pequeno canal que seus servidores podem saturar ao executar backups. Se você está fazendo um gargalo na CPU ou na E / S dos servidores, nenhuma quantidade de "mágica" relacionada à rede irá ajudá-lo.

Falando sem rodeios, me sinto um pouco bobo falando positivamente sobre os dispositivos de aceleração de WAN. Eu tenho sido menos do que impressionado com eles no passado (principalmente a partir de uma perspectiva de ROI e custo) e desconfiado deles depois de ouvir inúmeras histórias de horror sobre o aplicativo e sistema operacional "estranheza" que desaparecem quando os aceleradores WAN foram desativados. Suspeitei deles como uma "tecnologia" e geralmente senti que eles são um sintoma do uso de protocolos mal planejados, decisões ruins sobre a colocação de servidores ou uma arquitetura de rede ruim.

Passei a maior parte de duas horas lendo em compressores de protocolo baseados em dicionário e brincando com o rsync. Eu acho que, dependendo da quantidade de redundância nas mudanças que você está sincronizando com o rsync, há realmente um potencial para ver alguma melhoria de desempenho menor usando um acelerador de WAN baseado em dicionário. Vai depender muito do aspecto dos seus dados.

Eu não tenho números usando um acelerador de WAN real para fazer isso. Também não tenho nenhuma experiência pessoal com aceleradores de WAN em uso de produção, muito menos "acelerando" o protocolo rsync. Eu certamente não iria sair e comprar algo baseado no que estou dizendo aqui, mas se você já tem algo em prática, eu consideraria rodar algum tráfego rsync não criptografado através dele para ver o que ele faz.

    
por 19.10.2014 / 01:52
3

Definitivamente, veja as respostas em: Por que meu rsync é tão lento?

Eu confiei em soluções baseadas em rsync para replicação e backup por muitos anos. Nunca precisei usar qualquer forma de aceleração de WAN (usando um appliance).

Com o passar dos anos, minhas abordagens de rsync evoluíram; da compressão básica para usar "-e ssh -c arcfour" como uma cifra mais leve, para usar HPN-SSH para poder controlar janelas TCP e desabilitar criptografia em links de longa distância e, mais recentemente, quebra automática de rsync com UDR / UDT para ter transferências rsync baseadas em UDP. Devo acrescentar que o UDT é o núcleo de algumas produções de aceleração de WAN no mercado.

Essas são soluções esotéricas, mas eu começaria realmente a entender o que você está fazendo hoje. Vamos ver suas cadeias de caracteres rsync atuais e tentar ver se elas podem ser otimizadas.

  • O que você está fazendo backup?
  • A que distância está o alvo da fonte?
  • Quais são seus recursos / limitações de largura de banda?

Editar:

Você está falando sobre dados binários sendo transferidos a longa distância com uma capacidade de largura de banda de 400Mbps. E isso parece ser vários fluxos de tráfego bidirecional desencadeada em horários aleatórios do dia.

Se a saturação de largura de banda é sua preocupação, você não poderia simplesmente limitar as transferências de rsync com:

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

Ou, se os seus dispositivos de rede forem capazes, isso pode se tornar um exercício de modelagem de tráfego ou qualidade de serviço . Mas no final, parece que é uma questão de pessoas / política.

Editar:

Minha sugestão para UDR envia o rsync não criptografado por padrão nas portas UDP 9000-9100. Isso não exige muita alteração na linha de comando, em comparação com a execução do rsync no modo daemon. Isso é possivelmente no âmbito de algo que pode ser abordado por suas unidades da Riverbed. Não ficou claro a partir de sua pergunta inicial quanto ao escopo, número de usuários ou se você ainda tinha os aceleradores WAN no lugar.

    
por 19.10.2014 / 02:39