WireGuard krijgt een native poort naar de Windows-kernel

Als u Windows gebruikt, zult u blij zijn te horen dat het next-gen VPN-tunnelprotocol, WireGuard, een native Windows-kernelpoort krijgt.

Als u regelmatig VPN's (virtuele particuliere netwerken) gebruikt, zult u enthousiast zijn over een nieuw project genaamd WireGuardNT. Voor degenen die niet bekend zijn: WireGuard is een relatief nieuw VPN-tunnelprotocol dat gebruik maakt van moderne cryptografiestandaarden, een veilige codebasis heeft en geweldige prestaties levert. Het is geïntegreerd in de Linux-kernel met versie 5.6, maar tot nu toe is er alleen maar een gebruikersruimte-implementatie op Windows geweest. Dat is waar WireGuardNT in beeld komt: het is een native port van WireGuard naar de Windows-kernel en het belooft de zaken veel sneller te maken.

WireGuard op Windows gebruikt momenteel een gedeelde Go-codebase met een zogenaamde TUN-driver Wintun. Het werkt in gebruikersruimte, en als de aankondiging het stelt: het "bewaart pakketten van en naar de Wintun-interface". Met WireGuardNT wordt het hele protocol rechtstreeks in de netwerkstack van Windows geïmplementeerd, net als bij Linux.

Hoewel de prestaties van WireGuard op Windows al behoorlijk goed zijn, is het de bedoeling dat dit nog beter wordt met WireGuardNT. Dit project bevindt zich echter nog in de beginfase, maar zelfs voordat er aanvullende aanpassingen en optimalisaties zijn doorgevoerd, is het nog sneller omdat het native in de kernel is. Dit kan gedeeltelijk worden toegeschreven aan de verminderde overhead en latentie van alle contextwisselingen die plaatsvinden met de oude wireguard-go/Wintun-implementatie.

Maar hoeveel sneller is de nieuwe WireGuardNT-implementatie ten opzichte van de oude gebruikersruimteversie? Via een bekabelde verbinding zien de ontwikkelaars snelheden tot wel 7,5 Gbps; de ontwikkelaars hebben ook aanzienlijke prestatieverbeteringen opgemerkt via Wi-Fi. Eén tester met een Intel AC9560 WiFi-kaart haalde bijvoorbeeld ~600Mbps zonder WireGuard, ~95Mbps met de oude gebruikersruimteversie via WiFi, en ~600Mbps met de WireGuardNT-implementatie via WiFi. Kortom, de draadloze prestatiehit van de oude gebruikersruimteversie is geëlimineerd dankzij de nieuwe native kernelpoort, en de bekabelde prestaties zijn geüpgraded aanzienlijk.

Zoals gezegd bevindt het project zich nog in de beginfase. Om het klaar te maken voor release, zijn er drie fasen in het project in versie 0.4.z van de WireGuard voor Windows-client. In de eerste fase, waar we ons nu in bevinden, is WireGuardNT verborgen achter de registerknop 'ExperimentalKernelDriver', dus als je deze niet inschakelt, wordt deze niet ingeschakeld. In de tweede fase wordt de native kernelimplementatie standaard ingeschakeld. In de derde en laatste fase wordt de oude wireguard-go/Wintun-gebruikersruimte-implementatie van de Windows-client verwijderd, hoewel deze nog steeds wordt onderhouden om andere apps en toepassingen te ondersteunen.

Zoals het geval is met dit soort experimentele releases, hoopt ontwikkelaar Jason Donenfeld dat mensen het zullen uitproberen om bugs te vinden en feedback achter te laten. WireGuardNT maakt nu deel uit van de WireGuard-client voor Windows en bevindt zich in versie 0.4. Jij kan download het hier, of lees meer over het project hier.

In een eerdere versie van dit artikel werd gesteld dat de prestatiewinst op het netwerk alleen significant was via een draadloze verbinding.