Aceleração da transferência UDP do Filemail
Atualmente, na Internet, são utilizados dois protocolos principais: TCP e UDP. O TCP é o cavalo de batalha da Internet. A aceleração de transferência UDP é o puro-sangue, feito para a velocidade.
O que é o TCP?
Este protocolo tem mecanismos de fiabilidade incorporados, o que significa que o remetente retransmitirá automaticamente um pacote TCP ao destinatário se este se perder no caminho.
TCP: a espinha dorsal da Internet
Firewalls, roteadores e switches são altamente otimizados para o tráfego TCP, o que torna o TCP a escolha natural para a maioria das tarefas realizadas na Internet atualmente. Navegadores da Web, clientes de e-mail, Facebook, Instagram, Snapchat, Stock tickers, Spotify, Slack e clientes FTP são alguns dos aplicativos que normalmente usam TCP. Se estiver a utilizar uma solução de transferência de ficheiros através de um navegador, é muito provável que esteja a utilizar TCP.
Garantir a fiabilidade: O papel das mensagens Ack no TCP
Quando um destinatário recebe um pacote TCP, uma mensagem ACK (Acknowledge) é enviada de volta, para confirmar ao remetente que o pacote foi recebido corretamente. Este mecanismo relativamente simples torna o protocolo TCP muito fiável e fácil de utilizar pelos programadores.
O envio de mensagens ACK para o remetente pode limitar seriamente o desempenho (uma vez que o remetente deve esperar pelo ACK do pacote-1 antes de enviar o pacote-2). Para atenuar alguns dos problemas que afectam o TCP, foram introduzidas muitas melhorias no protocolo ao longo dos anos.
Tamanho da janela escalável
Permite que o remetente envie vários pacotes e espere por vários ACKs ao mesmo tempo. Os dados enviados mas ainda não ACK-ed são frequentemente referidos como dados em voo. O remetente tem um limite para a quantidade de dados que pode ter em voo, o que significa que o remetente não envia dados para o destinatário mais rapidamente do que o destinatário pode suportar.
Limitação da largura de banda
Essencialmente, permite que um cliente de 10 Mbit comunique com um servidor de 1000 Mbit sem ficar sobrecarregado com o tráfego do servidor. No TCP, baseia-se na ideia de que só deve haver um determinado número de dados a circular num dado momento.
ACKs selectivos
Permite que o destinatário receba pacotes ACK em qualquer ordem. Se o pacote-1 se perdeu, isso não impede que o pacote-2 seja enviado e ACK-ed antes de reenviar o pacote-1.
As desvantagens do TCP
Ao enviar tráfego TCP numa grande distância geográfica, o desempenho diminui significativamente. Como o tráfego (e os ACKs) tem de passar por mais routers e infra-estruturas de rede para chegar ao destinatário, demora mais tempo.
O tempo que demora é designado por latência. Se estiver a navegar num sítio Web alojado no mesmo país, a latência é, por vezes, tão baixa como 10 milissegundos. Ao navegar num sítio Web alojado noutro continente, verá imediatamente que as páginas demoram mais tempo a carregar devido ao aumento da latência.
O problema de latência do TCP torna-se extremamente evidente quando se transferem ficheiros entre continentes. Tanto o remetente como o destinatário podem estar em fantásticas ligações de 1000/1000 megabits, mas obtêm apenas 10 megabits de largura de banda de rede efectiva quando transferem ficheiros devido à latência que os impede de comunicar eficazmente quando utilizam o TCP.
O que é o UDP?
O UDP é o irmão do TCP. A principal diferença é que um pacote UDP nunca é ACK-ed. O remetente não tem qualquer ideia se o pacote UDP chegou ao destinatário, pelo que não é um protocolo fiável. Mas é extremamente rápido, uma vez que não há ACK-ing.
UDP: Dar prioridade à velocidade em detrimento da fiabilidade
O UDP é ótimo para chamadas de vídeo e jogos online. Nesses casos, não importa se alguns pacotes UDP são descartados. Os pacotes UDP são enviados continuamente, pelo que não se nota no fluxo de vídeo. O mesmo acontece com os jogos em linha, em que recebe um novo pacote UDP com as últimas actualizações em poucos milissegundos. Perder alguns pacotes UDP de vez em quando não é um problema. É mais importante transferir dados rapidamente com a menor latência possível.
Tornando o UDP confiável para transferências de arquivos
Inicialmente, o UDP pode parecer uma escolha horrível para a transferência de ficheiros. A total falta de fiabilidade significaria ficheiros corrompidos por todo o lado devido à queda de pacotes UDP. A falta de limitação da largura de banda levaria a que os clientes fossem inundados com tráfego e, essencialmente, ficassem offline. Para que o UDP seja útil na transferência de ficheiros, tem de ser fiável, tal como o TCP. Para começar, os pacotes perdidos têm de ser reenviados e a limitação da largura de banda tem de ser possível. A segurança também precisa de ser abordada.
Protocolo de Aceleração de Transferência UDP do Filemail
O Filemail UDP Acceleration Protocol (UAP) é um protocolo de transferência de ficheiros feito à medida, construído em cima do UDP, que oferece velocidades de transferência extremamente rápidas, mesmo em ambientes de alta latência. Ultrapassa facilmente todos os protocolos baseados em TCP, tais como HTTP e FTP - especialmente quando envia ficheiros através de grandes distâncias geográficas onde a latência ultrapassa os 50 ms.
Até 200 vezes mais rápido
Os benchmarks mostram que a aceleração da transferência UDP do Filemail é por vezes até 200 vezes mais rápida do que o FTP, HTTP e outros métodos de transferência baseados em TCP.
O Filemail UAP foi construído de baixo para cima com um objetivo em mente: transferir arquivos extremamente rápido de A para B da maneira mais segura e confiável possível. Abaixo estão algumas das caraterísticas deste protocolo revolucionário.
Largura de banda de transferência efectiva ao transferir ficheiros da Europa para a Austrália através de 21 saltos de rede. Ambas as extremidades estão ligadas numa ligação de 1000/1000 Mbit.
Comparações não oficiais com soluções de transferência baseadas em UDP da IBM Aspera, GlobalScape e Signiant mostram que o Filemail é mais rápido em praticamente todos os casos. Algumas das diferenças de desempenho podem ser devidas ao facto de o Filemail utilizar também aceleração de hardware - usando especificamente o conjunto de instruções AES-NI. Além disso, os protocolos do IBM Aspera e do Signiant usam um canal TCP separado (SSH) para fazer a limitação da largura de banda, ACK'ing, etc. O Filemail UAP não se baseia no protocolo TCP mais lento - usa UDP para transferir dados, ACK'ing, limitação de largura de banda e encriptação.
Segurança
Todo o tráfego de dados UDP é protegido por encriptação AES Galois/Counter Mode (AES-GCM). Esta é a norma de ouro da encriptação atual e garante que os dados transferidos não podem ser interceptados por terceiros. Cada sessão de transferência tem uma chave separada, a qual é trocada entre o cliente e o servidor utilizando a encriptação Rivest-Shamir-Adleman (RSA).
Encriptação acelerada por hardware
O Filemail UAP utiliza o conjunto de instruções AES-NI introduzido pela AMD e Intel há alguns anos atrás. Este conjunto de instruções permite ao Filemail UAP usar componentes de hardware dedicados para a encriptação e desencriptação de dados. Isto faz uma enorme diferença quando se trata de velocidades de transferência. O AES-NI é suportado em sistemas operativos como o Microsoft Windows, macOS, Linux, iOS e Android. Fabricantes de hardware como Intel, AMD, ARM, VIA, Atmel, Samsung, Qualcomm, NXP e Broadcom também o suportam.
Requisitos de software e hardware
O Filemail UAP é escrito em C++ de baixo nível e pode ser executado em praticamente todos os dispositivos e sistemas operacionais. Versões binárias estão atualmente disponíveis para Windows, macOS e Linux. O Filemail Desktop é a nossa principal ferramenta de transferência que utiliza o UAP. Aplicações de consola também estão disponíveis. O UAP do Filemail foi fortemente otimizado e tem uma pegada de memória extremamente baixa de apenas alguns megabytes, enquanto ainda maximiza o rendimento da largura de banda. Também utiliza tipicamente menos de 5% de CPU quando envia ficheiros à velocidade máxima.
Aceleração de transferência bidirecional
O Filemail UAP é utilizado tanto no carregamento como no descarregamento de ficheiros com o Filemail Desktop. Isto significa que você E os seus clientes e parceiros de negócios podem tirar partido desta tecnologia.
Começando com a Aceleração de Transferência UDP do Filemail
A Aceleração de Transferência UDP do Filemail está integrada na nossa aplicação Filemail Desktop e é activada automaticamente ao enviar e descarregar ficheiros. A Aceleração de Transferência UDP está disponível nos nossos planos Business e Enterprise.