Det verkar som det går ganska bra inom WireGuard -projektet, som Jason A. Donenfeld, författare till VPN WireGuard, presenterade WireGuardNT -projektet vilket är en högpresterande WireGuard VPN-port för Windows-kärnan som är kompatibel med Windows 7, 8, 8.1 och 10, och stöder AMD64, x86, ARM64 och ARM -arkitekturer.
Det är viktigt att komma ihåg att under den sista terminen 2019 gjordes korrigeringarna med implementeringen av projektets VPN-gränssnitt i nätverksgrenen, detta eftersom WireGuard-utvecklarna åtagit sig och gick med på att överföra en del av koden till main kärnan, inte som ett separat API, utan som en del av delsystemet Crypto API.
Efter det några månader senare kom projektet till OpenBSD -ändringar för ifconfig- och tcpdump -verktygen med stöd för WireGuard -funktionalitet, dokumentation och mindre ändringar för att integrera WireGuard med resten av systemet och därefter flyttades projektet till kompatibilitet med Android .
WireGuard VPN implementeras på grundval av moderna krypteringsmetoder, ger mycket hög prestanda, är lätt att använda, krångelfri och har visat sig i ett antal stora distributioner som hanterar stora trafikmängder.
Projektet har utvecklats sedan 2015, har klarat en formell granskning och verifiering av de använda krypteringsmetoderna. WireGuard använder begreppet routing av krypteringsnycklar, vilket innebär att man binder en privat nyckel till varje nätverksgränssnitt och använder de offentliga nycklarna för att binda.
Utbytet av offentliga nycklar för att upprätta en anslutning sker analogt med SSH. För att förhandla fram nycklar och ansluta utan att köra en separat daemon i användarutrymme används Noise_IK -mekanismen i Noise Protocol Framework, ungefär som att behålla autoriserade_nycklar i SSH. Dataöverföring sker genom inkapsling i UDP -paket. Stöder ändring av VPN -serverns IP -adress (roaming) utan att bryta anslutningen med automatisk klientrekonfiguration.
Kryptering använder ChaCha20 strömkryptering och Poly1305 meddelande autentisering algoritm (MAC). ChaCha20 och Poly1305 är positionerade som snabbare och säkrare motsvarigheter till AES-256-CTR och HMAC, vars programvaruimplementering gör att du kan uppnå en fast körtid utan att behöva använda särskilt hårdvarustöd.
Och nu projektet kommer som en port för Windows que bygger på den testade kodbasen av WireGuard -kärnans implementering för Linux-kärna, som har översatts för att använda Windows -kärnenheterna och NDIS -nätverksstacken.
Efter många månaders arbete är Simon och jag glada att kunna presentera WireGuardNT -projektet, en inbyggd WireGuard -port för Windows -kärnan.
WireGuardNT, började som en port för Linux -kodbasen ... Efter första portabilitetsförsök lyckades NT -kodbasen snabbt avvika för att passa bra med inbyggda NTism och NDIS (Windows networking stack) API: er. Slutresultatet är en djupt integrerad, högpresterande implementering av WireGuard, som utnyttjar alla funktioner i NT-kärnan och NDIS.
Jämfört med wireguard-go-implementeringen som körs i användarutrymme och använder Wintun-nätverksgränssnittet, WireGuardNT har en betydande prestandaförbättring genom att eliminera kontextväxlingsoperationer och kopiera paketets innehåll från kärnan till användarutrymmet.
I analogi med WireGuardNT -implementeringar för Linux, OpenBSD och FreeBSD fungerar all protokollbehandlingslogik direkt på nätverksstacknivån.
Även om inga specifika optimeringar har gjorts ännu har WireGuardNT redan uppnått en maximal dataöverföringskapacitet på 7,5 Gbps i vår testmiljö med Ethernet.
I riktiga användarsystem med Wi-Fi är prestandan märkbart lägre, men inte mycket annorlunda än direkt dataöverföring. Till exempel, på ett system med ett trådlöst Intel AC9560-kort, var prestandan utan WireGuard 600 Mbps och med WireGuardNT var det också 600 Mbps, medan när du använde wireguard-go / Wintun var det 95 Mbps.
Fuente: https://lists.zx2c4.com/