WireGuard får en indbygget port til Windows-kernen

Hvis du kører Windows, vil du blive glad for at høre, at den næste generation af VPN-tunnelingsprotokol, WireGuard, får en indbygget Windows-kerneport.

Hvis du ofte bruger VPN'er (virtuelle private netværk), vil du blive spændt på at høre om et nyt projekt kaldet WireGuardNT. For dem, der ikke kender til, er WireGuard en relativt ny VPN-tunnelingsprotokol, der anvender moderne kryptografistandarder, har en sikker kodebase og har fantastisk ydeevne. Det er integreret i Linux-kerne med version 5.6, men til dato har der kun været en implementering af et brugerområde på Windows. Det er her, WireGuardNT kommer ind: Det er en indbygget port af WireGuard til Windows-kernen, og det lover at gøre tingene meget hurtigere.

WireGuard på Windows bruger i øjeblikket en delt Go-kodebase med en TUN-driver kaldet Wintun. Det fungerer i brugerområdet, og som bekendtgørelse siger det, "hyrder pakker til og fra Wintun-grænsefladen". Med WireGuardNT implementeres hele protokollen direkte i Windows' netværksstack, ligesom på Linux.

Selvom ydeevnen af ​​WireGuard på Windows allerede er ret stor, er det planen, at det skal blive bedre med WireGuardNT. Dette projekt er dog stadig i sine tidlige stadier, men selv før yderligere tweaks og optimeringer er lavet, er det stadig hurtigere ved at være indbygget i kernen. Dette kan til dels tilskrives den reducerede overhead og latens fra alle kontekstskift, der sker med den gamle wireguard-go/Wintun-implementering.

Men hvor meget hurtigere er den nye WireGuardNT-implementering i forhold til den gamle brugerrumsversion? Over en kablet forbindelse ser udviklerne hastigheder så hurtige som 7,5 Gbps; Udviklerne har også bemærket betydelige ydeevneforbedringer over Wi-Fi. For eksempel fik en tester med et Intel AC9560 WiFi-kort ~600 Mbps uden WireGuard, ~95 Mbps med den gamle version af brugerområdet over WiFi og ~600 Mbps med WireGuardNT-implementeringen over WiFi. Grundlæggende er det trådløse præstationshit fra den gamle brugerrumsversion blevet elimineret takket være den nye native kerneport, og den kablede ydeevne er blevet opgraderet væsentligt.

Projektet er som nævnt stadig i startfasen. For at gøre det klar til udgivelse er der tre faser til projektet i version 0.4.z af WireGuard til Windows-klienten. Den første fase, som vi er i lige nu, ser WireGuardNT skjult bag 'ExperimentalKernelDriver'-registreringsknappen, så hvis du ikke slår den til, vil den ikke blive aktiveret. Den anden fase vil se den oprindelige kerneimplementering aktiveret som standard. Den tredje og sidste fase vil se fjernelse af den gamle wireguard-go/Wintun userspace implementering fra Windows-klienten, selvom den stadig vil blive vedligeholdt for at understøtte andre apps og anvendelser.

Som det er tilfældet med eksperimentelle udgivelser som denne, håber udvikler Jason Donenfeld, at folk vil prøve det for at finde fejl og give feedback. WireGuardNT er en del af WireGuard-klienten til Windows nu, og den er i version 0.4. Du kan download den her, eller du kan læse mere om projektet her.

En tidligere version af denne artikel sagde, at netværkets ydeevnegevinster kun var betydelige over en trådløs forbindelse.