O novo WireGuardNT está quebrando os limites de produtividade no Windows

Ampliação / Esqueça os telefones celulares flexíveis, nós nos limitamos aos jogos para celular.

Projeto VPN WireGuard anunciar Um marco importante para os usuários do Windows hoje – uma implementação de modo kernel totalmente nova do protocolo VPN chamado WireGuardNT. O novo aplicativo permite uma melhoria significativa de rendimento em conexões LAN de 10 Gbps – e em muitas conexões WI-Fi também.

WireGuard (no Windows) e Wintun

A implementação nativa do WireGuard no Windows usa Wireguard-go – uma implementação de espaço do usuário do WireGuard escrita na linguagem de programação Google Go. O Wireguard-go é então conectado a uma máquina de rede virtual, a maioria das quais também vivem no espaço dos usuários. Donenfeld não gostou janelas de torneira, a interface de rede virtual fornecida pelo projeto OpenVPN – então implementou sua variante do zero, chamada Winton.

Wintun é uma melhoria clara em relação às janelas de toque – o mesmo projeto OpenVPN implementou o suporte Wintun, de forma impressionante Resultados (414 Mbps no windows tap vs 737 Mbps no Wintun). Mas, embora o uso do Wintun seja uma melhoria em relação às janelas de clique, ele não muda a necessidade de uma mudança de contexto estático do espaço do kernel (onde reside a pilha de rede “real”) e do espaço do usuário (onde o OpenVPN e o wireguard-go são executados).

Para eliminar os gargalos de desempenho remanescentes, toda a pilha – o switch virtual, o codificador, tudo – deve ser inserida no kernel. No Linux, isso significa DLKM (Dynamic Loadable Kernel Module). No Windows, isso significa que um driver de dispositivo embutido no kernel é apropriado.

Kernel WireGuardNT e NT

Abandonar os componentes do espaço do usuário da pilha do WireGuard no Windows e manter tudo no kernel significa mudar o WireGuard para funcionar no Windows da maneira que já funciona no Linux. Na verdade, o WireGuardNT começou como uma porta direta do aplicativo WireGuard no kernel do Linux.

READ  Mi 11 Ultra da Xiaomi ganha uma edição muito limitada na Índia

De acordo com o criador do WireGuard, Jason Dunnfield, uma vez que a versão inicial foi bem-sucedida, “o banco de dados do NT rapidamente divergiu para se encaixar perfeitamente com os NTismos e o NTismo original” NDIS Interfaces de programação de aplicativos. O resultado final é uma implementação altamente integrada e de alto desempenho do WireGuard para o kernel NT, que aproveita toda a gama de recursos do kernel NT e NDIS. ”

Isso também, é claro, significa livrar-se de muitas mudanças de contexto. Os resultados finais são sólidos: mais de três vezes o desempenho excepcional, medido usando Éter Em um par de Equinix Metal (anteriormente packet.net) c3. pequeno casos.

Os benefícios da comutação sem contexto estendem-se muito além dos servidores Xeon com interfaces de 10 Gbps, no entanto – Donenfeld mencionou que alguns dos primeiros testadores relataram que o WireGuardNT às vezes resolvia os resultados de desempenho massivos vistos ao usar sua conexão VPN por Wi-Fi.

Testamos a diferença ao vivo, usando um HP EliteBook com uma placa Intel AX201 Wi-Fi 6, conectada ao nó do roteador de nossa suíte de teste Plume Wi-Fi 6 Superpods. Embora nossos resultados não sejam tão empolgantes quanto os obtidos por alguns de nossos primeiros testadores, eles confirmam um aumento significativo no desempenho. Na mesma máquina e com as mesmas configurações, medimos o WireGuardNT iperf3, que funciona de 10% a 25% mais rápido do que o Wireguard-go e o Wintun.

Teste WireGuardNT hoje

WireGuardNT está disponível para teste em Windows público baixar Para WireGuard agora, a partir da versão 0.4. Mas, como ainda é classificado como experimental, você precisará adicionar manualmente uma chave de registro e DWORD para usá-lo. Aberto regedit Como administrador, navegue até HKLM -> Programas. Em seguida, crie uma chave chamada WireGuard e, dentro dessa chave, um DWORD chamado ExperimentalKernelDriver.

Com ExperimentalKernelDriver definido como 1, seus túneis usarão o novo código WireGuardNT – sem ele (ou com ExperimentalKernelDriver definido como 0), eles usarão o comportamento padrão, que é o antigo código wireguard-go / wintun. Para que sua alteração tenha efeito, você precisará clicar com o botão direito do mouse no ícone do WireGuard na bandeja do sistema e clicar em Concluir. Quando você abrir o aplicativo WireGuard novamente, ele respeitará a configuração do ExperimentalKernelDriver.

No futuro, o WireGuardNT será habilitado por padrão e, em vez disso, você precisará definir um sinalizador de registro se quiser o código legado. Além disso, o projeto eventualmente planeja encerrar Wireguard-go / wintun na dupla genérica. Por outro lado, os próprios projetos permanecerão, uma vez que possuem uma ampla utilidade além do cliente WireGuard.

Heinrich Meier

"Entusiasta de viagens ruins. Viciado em internet nojento e vil. Álcool sem motivo.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Back to top