Le nouveau WireGuardNT brise les plafonds de productivité sous Windows

Oubliez les téléphones portables pliables - nous nous en tenons aux téléphones mobiles haut de gamme qui fonctionnent.
Zoom / Oubliez les téléphones portables pliables – nous nous en tenons aux téléphones mobiles haut de gamme qui fonctionnent.

Projet VPN WireGuard annoncer Une étape majeure pour les utilisateurs de Windows aujourd’hui – une toute nouvelle implémentation en mode noyau du protocole VPN appelé WireGuardNT. La nouvelle application permet un débit considérablement amélioré sur les connexions LAN 10 Gbit/s – et sur de nombreuses connexions WI-Fi également.

WireGuard (sous Windows) et Wintun

L’implémentation native de WireGuard sur Windows utilise Wireguard-go – une implémentation de l’espace utilisateur de WireGuard écrite dans le langage de programmation Google Go. Wireguard-go est ensuite attaché à une machine réseau virtuelle, dont la plupart vivent également dans l’espace des utilisateurs. Donenfeld n’a pas aimé fenêtres de robinet, l’interface réseau virtuelle fournie par le projet OpenVPN – il a donc implémenté sa variante à partir de zéro, appelée Winton.

Wintun est une nette amélioration par rapport aux tap-windows – le même projet OpenVPN a implémenté la prise en charge de Wintun, de manière impressionnante Résultats (414 Mbps sur Windows Tap vs 737 Mbps sur Wintun). Mais bien que l’utilisation de Wintun soit une amélioration par rapport à clickwindows, cela ne change pas le besoin d’un changement de contexte statique entre l’espace noyau (où réside la « vraie » pile réseau) et l’espace utilisateur (où OpenVPN et wireguard-go s’exécutent tous les deux).

Afin d’éliminer les goulots d’étranglement de performances restants, l’ensemble de la pile (le commutateur virtuel, l’encodeur, tout) doit être intégré au noyau. Sous Linux, cela signifie qu’il s’agit d’un DLKM (Dynamic Loadable Kernel Module). Sous Windows, cela signifie qu’un pilote de périphérique dans le noyau est approprié.

WireGuardNT et noyau NT

Abandonner les composants de l’espace utilisateur de la pile WireGuard sur Windows et conserver tout dans le noyau signifie changer WireGuard pour qu’il fonctionne sous Windows de la même manière qu’il fonctionne déjà sous Linux. En fait, WireGuardNT a commencé comme un port direct de l’application WireGuard Linux intégrée au noyau.

Selon le créateur de WireGuard Jason Donenfield, une fois le port initial réussi, « la base de données NT a rapidement divergé pour s’adapter parfaitement au NTism d’origine et NDIS Interfaces de programmation d’applications. Le résultat final est une implémentation hautement intégrée et hautes performances de WireGuard pour le noyau NT, qui tire parti de la gamme complète du noyau NT et des capacités NDIS.

Cela signifie aussi, bien sûr, se débarrasser de beaucoup de changements de contexte. Les résultats finaux sont solides : plus de trois fois les performances exceptionnelles, mesurées à l’aide de Éther Sur une paire d’Equinix Metal (anciennement packet.net) c3. petit cas.

Cependant, les avantages de la commutation sans contexte s’étendent bien au-delà des serveurs Xeon avec des interfaces 10 Gbit/s — Donenfeld a mentionné que certains des premiers testeurs ont signalé que WireGuardNT résolvait parfois les résultats de performances énormes observés lors de l’utilisation de leur connexion VPN via Wi-Fi.

Nous avons testé la différence en direct, en utilisant un HP EliteBook avec une carte Intel AX201 Wi-Fi 6, connecté au nœud de routeur de notre suite de tests Plume Wi-Fi 6 Superpods. Bien que nos résultats ne soient pas aussi passionnants que ceux obtenus par certains de nos premiers testeurs, ils confirment une augmentation significative des performances. Sur la même machine et avec les mêmes configurations, nous avons mesuré WireGuardNT iperf3 qui s’exécute 10 à 25 % plus rapidement que Wireguard-go et Wintun.

Testez WireGuardNT aujourd’hui

WireGuardNT est disponible pour les tests dans Windows public Télécharger Pour WireGuard maintenant, à partir de la version 0.4. Mais comme il est toujours classé comme expérimental, vous devrez ajouter manuellement une clé de registre et DWORD pour l’utiliser. Ouvert regedit En tant qu’administrateur, accédez à HKLM -> Programmes. Ensuite, créez une clé nommée WireGuard, et à l’intérieur de cette clé, un DWORD nommé ExperimentalKernelDriver.

Avec ExperimentalKernelDriver défini sur 1, vos tunnels utiliseront le nouveau code WireGuardNT – sans lui (ou avec ExperimentalKernelDriver défini sur 0), ils utiliseront le comportement par défaut, qui est l’ancien code wireguard-go/wintun. Pour que votre modification prenne effet, vous devrez cliquer avec le bouton droit sur l’icône WireGuard dans la barre d’état système et cliquer sur Terminer. Lorsque vous ouvrez à nouveau l’application WireGuard, elle respectera votre paramètre ExperimentalKernelDriver.

À l’avenir, WireGuardNT sera activé par défaut, et à la place, vous devrez définir un indicateur de registre si vous voulez le code hérité. Au-delà de cela, le projet prévoit finalement de mettre fin à Wireguard-go/wintun dans le duo générique. D’un autre côté, les projets eux-mêmes resteront, car ils ont une large utilité au-delà du client WireGuard.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *