Alguns dias atrás euDesenvolvedores OpenVPN lançados a notícia que eles introduziram um módulo de kernel chamado "ovpn-dco" cuja principal tarefa é acelerar significativamente o desempenho da VPN.
Embora o módulo ainda está em desenvolvimento no ramo linux-next e com o estatuto de experimental, já atingiu um nível de estabilidade que permite utilizá-lo para garantir o funcionamento do OpenVPN.
Comparado com a configuração baseada na interface tun, o uso do módulo no lado do cliente e do servidor com o uso de criptografia AES-256-GCM permitiu um aumento de 8 vezes no desempenho (de 370 Mbit / s para 2950 Mbit s).
Ao usar o módulo apenas no lado do cliente, o desempenho triplica para o tráfego de saída e não muda para o tráfego de entrada. Ao usar o módulo apenas no lado do servidor, a taxa de transferência é multiplicada por 4 para o tráfego de entrada e por 35% para o tráfego de saída.
A segurança é uma das coisas mais importantes a se considerar quando você está online. Quanto mais seguras forem suas comunicações online com criptografia, melhor. A criptografia de dados diminuiu a velocidade de computação no passado, o que melhorou com CPUs modernas. Mas nos podemos fazer mais. O OpenVPN acaba de lançar um novo desenvolvimento que aumentará a velocidade para seus usuários quando ficarem sem espaço no kernel: OpenVPN Data Channel Offload (DCO).
A aceleração é alcançada movendo todas as operações criptográficas, processamento de pacotes e gerenciamento de canais para o kernel Linux, eliminando a sobrecarga associada Com a troca de contexto, é possível agilizar o trabalho acessando diretamente as APIs internas do kernel e elimina a transferência lenta de dados entre o kernel e o espaço do usuário. (O módulo executa criptografia, descriptografia e roteamento sem enviar tráfego para um controlador no espaço do usuário.)
Note-se que o impacto negativo no desempenho da VPN é principalmente devido a operações de criptografia que consomem muitos recursos e os atrasos causados pela mudança de contexto. Extensões de processador, como Intel AES-NI, foram usadas para acelerar a criptografia, mas as mudanças de contexto ainda eram um gargalo antes do ovpn-dco.
Além de usar as instruções fornecidas pelo processador para acelerar a criptografia, o módulo ovpn-dco também prevê a divisão das operações de criptografia em segmentos separados e seu processamento em modo multithread, possibilitando o uso de todos os núcleos de CPU disponíveis.
Para uma VPN de espaço do usuário, como OpenVPN, a sobrecarga de criptografia e as mudanças de contexto limitam as velocidades. Com CPUs modernas, a sobrecarga de criptografia foi aprimorada por meio de extensões como Intel AES-NI, que por sua vez melhora a velocidade para usuários OpenVPN.
Mas a sobrecarga com mudanças de contexto ainda precisa ser tratada. À medida que a velocidade da Internet pessoal e empresarial aumenta e os aplicativos usam mais largura de banda, os usuários esperam velocidades mais rápidas com as comunicações online. Portanto, o impacto dessas despesas gerais tornou-se mais perceptível.
Das limitações atuais que são mencionados na implementação e que também serão eliminados no futuro, apenas o Modos AEAD e 'nenhum' (sem autenticação) e cifras AES-GCM e CHACHA20POLY1305.
Também é mencionado que O suporte DCO está planejado para ser incluído no lançamento do a versão de OpenVPN2.6, agendada para o quarto trimestre deste ano. Atualmente, o módulo suporta o cliente OpenVPN3 open beta Linux e as compilações experimentais do servidor OpenVPN para Linux. Um módulo semelhante ovpn-dco-win também está sendo desenvolvido para o kernel do Windows.
Finalmente se você estiver interessado em saber mais sobre isso sobre a nota, você pode verificar os detalhes no link a seguir.