WireGuard får en innebygd port til Windows-kjernen

Hvis du kjører Windows, vil du bli glad for å høre at neste generasjons VPN-tunnelprotokoll, WireGuard, får en innebygd Windows-kjerneport.

Hvis du ofte bruker VPN-er (virtuelle private nettverk), vil du bli spent på å høre om et nytt prosjekt kalt WireGuardNT. For de som ikke er kjent, er WireGuard en relativt ny VPN-tunnelprotokoll som bruker moderne kryptografistandarder, har en sikker kodebase og har god ytelse. Den er integrert i Linux-kjerne med versjon 5.6, men til dags dato har det bare noen gang vært en brukerromsimplementering på Windows. Det er her WireGuardNT kommer inn: Det er en naturlig port av WireGuard til Windows-kjernen, og den lover å gjøre ting mye raskere.

WireGuard på Windows bruker for tiden en delt Go-kodebase med en TUN-driver kalt Wintun. Det fungerer i brukerområdet, og som kunngjøring sier det, "gjeter pakker til og fra Wintun-grensesnittet". Med WireGuardNT implementeres hele protokollen direkte i Windows' nettverksstabel, akkurat som på Linux.

Selv om ytelsen til WireGuard på Windows allerede er ganske bra, er planen at den skal bli bedre med WireGuardNT. Dette prosjektet er fortsatt i de tidlige stadiene, men selv før ytterligere justeringer og optimaliseringer er gjort, er det fortsatt raskere ved å være innebygd i kjernen. Dette kan delvis tilskrives redusert overhead og latens fra alle kontekstsvitsjene som skjer med den gamle wireguard-go/Wintun-implementeringen.

Men hvor mye raskere er den nye WireGuardNT-implementeringen i forhold til den gamle versjonen av brukerrom? Over en kablet tilkobling ser utviklerne hastigheter så høye som 7,5 Gbps; Utviklerne har også lagt merke til betydelige ytelsesforbedringer over Wi-Fi. For eksempel fikk en tester med et Intel AC9560 WiFi-kort ~600 Mbps uten WireGuard, ~95 Mbps med den gamle brukerromsversjonen over WiFi, og ~600 Mbps med WireGuardNT-implementeringen over WiFi. I utgangspunktet er det trådløse ytelsestreffet fra den gamle brukerromsversjonen eliminert takket være den nye opprinnelige kjerneporten, og den kablede ytelsen er oppgradert betydelig.

Som nevnt er prosjektet fortsatt i startfasen. For å gjøre det klart for utgivelse er det tre faser i prosjektet i versjon 0.4.z av WireGuard for Windows-klienten. Den første fasen, som vi er i akkurat nå, ser WireGuardNT gjemt bak 'ExperimentalKernelDriver'-registerknappen, så hvis du ikke slår den på, vil den ikke bli aktivert. Den andre fasen vil se den opprinnelige kjerneimplementeringen aktivert som standard. Den tredje og siste fasen vil se fjerning av den gamle wireguard-go/Wintun userspace-implementeringen fra Windows-klienten, selv om den fortsatt vil opprettholdes for å støtte andre apper og bruksområder.

Som tilfellet er med eksperimentelle utgivelser som dette, håper utvikler Jason Donenfeld at folk vil prøve det ut for å finne feil og gi tilbakemelding. WireGuardNT er en del av WireGuard-klienten for Windows nå, og den er i versjon 0.4. Du kan last den ned her, eller du kan lese mer om prosjektet her.

En tidligere versjon av denne artikkelen uttalte at gevinsten i nettverksytelse bare var betydelig over en trådløs tilkobling.