Progetto VPN WireGuard annunciare Una pietra miliare importante per gli utenti Windows di oggi: una nuovissima implementazione in modalità kernel del protocollo VPN chiamato WireGuardNT. La nuova app consente un significativo miglioramento del throughput sulle connessioni LAN a 10 Gbps e anche su molte connessioni Wi-Fi.
WireGuard (su Windows) e Wintun
L’implementazione nativa di WireGuard su Windows utilizza Wireguard-go, un’implementazione nello spazio utente di WireGuard scritta nel linguaggio di programmazione Google Go. Wireguard-go viene quindi collegato a una macchina di rete virtuale, la maggior parte delle quali risiede anche nello spazio degli utenti. A Donenfeld non è piaciuto finestre del rubinetto, l’interfaccia di rete virtuale fornita dal progetto OpenVPN – quindi ha implementato la sua variante da zero, chiamata Winton.
Wintun è un chiaro miglioramento rispetto a tap-windows: lo stesso progetto OpenVPN ha implementato il supporto Wintun, in modo impressionante Risultati (414Mbps su Windows Tap vs 737Mbps su Wintun). Ma mentre l’utilizzo di Wintun è un miglioramento rispetto a clickwindows, non cambia la necessità di un cambio di contesto statico dallo spazio del kernel (dove risiede lo stack di rete «reale») e dello spazio utente (dove vengono eseguiti sia OpenVPN che wireguard-go).
Per eliminare i colli di bottiglia delle prestazioni rimanenti, l’intero stack (lo switch virtuale, l’encoder, tutto) deve essere inserito nel kernel. Su Linux, questo significa DLKM (Dynamic Loadable Kernel Module). Su Windows, ciò significa che un driver di dispositivo nel kernel è appropriato.
WireGuardNT e kernel NT
Abbandonare i componenti dello spazio utente dello stack WireGuard su Windows e mantenere tutto nel kernel significa cambiare WireGuard in modo che funzioni su Windows come già funziona su Linux. In effetti, WireGuardNT è iniziato come una porta diretta dell’applicazione WireGuard nel kernel di Linux.
Secondo il creatore di WireGuard Jason Dunnfield, una volta che il porting iniziale ha avuto successo «il database NT si è rapidamente discostato per adattarsi perfettamente agli NTism e all’NTism originale» NDIS Interfacce di programmazione applicativa. Il risultato finale è un’implementazione altamente integrata e ad alte prestazioni di WireGuard per il kernel NT, che sfrutta l’intera gamma di kernel NT e funzionalità NDIS.
Questo, ovviamente, significa anche sbarazzarsi di molti cambi di contesto. I risultati finali sono solidi: più di tre volte le prestazioni eccezionali, misurate utilizzando Etere Su un paio di Equinix Metal (precedentemente packet.net) c3. piccolo casi.
I vantaggi della commutazione senza contesto si estendono ben oltre i server Xeon con interfacce a 10 Gbps, tuttavia — Donenfeld ha affermato che alcuni dei primi tester hanno riferito che WireGuardNT a volte ha risolto gli enormi risultati delle prestazioni osservati quando si utilizza la connessione VPN tramite Wi-Fi.
Abbiamo testato la differenza dal vivo, utilizzando un HP EliteBook con una scheda Intel AX201 Wi-Fi 6, collegata al nodo del router della nostra suite di test Plume Wi-Fi 6 Superpods. Sebbene i nostri risultati non siano stati così entusiasmanti come quelli ottenuti da alcuni dei nostri primi tester, confermano un significativo aumento delle prestazioni. Sulla stessa macchina e con le stesse configurazioni, abbiamo misurato WireGuardNT iperf3 che funziona dal 10% al 25% più velocemente di Wireguard-go e Wintun.
Test WireGuardNT oggi
WireGuardNT è disponibile per i test in Windows pubblico Scarica Per WireGuard ora, a partire dalla versione 0.4. Ma poiché è ancora classificato come sperimentale, dovrai aggiungere manualmente una chiave di registro e DWORD per usarlo. Aprire regedit
Come amministratore, vai a HKLM -> Programmi. Quindi, crea una chiave denominata WireGuard e, all’interno di quella chiave, un DWORD denominato ExperimentalKernelDriver.
Con ExperimentalKernelDriver impostato su 1, i tuoi tunnel utilizzeranno il nuovo codice WireGuardNT – senza di esso (o con ExperimentalKernelDriver impostato su 0), utilizzeranno il comportamento predefinito, che è il vecchio codice wireguard-go/wintun. Per rendere effettive le modifiche, dovrai fare clic con il pulsante destro del mouse sull’icona WireGuard nella barra delle applicazioni e fare clic su Fine. Quando apri di nuovo l’app WireGuard, rispetterà la tua impostazione ExperimentalKernelDriver.
In futuro, WireGuardNT sarà abilitato per impostazione predefinita e invece dovrai impostare un flag di registro se desideri il codice legacy. Oltre a ciò, il progetto alla fine prevede di porre fine del tutto a Wireguard-go/wintun nel duo generico. D’altra parte, i progetti stessi rimarranno, poiché hanno un’ampia utilità oltre il client WireGuard.
More Stories
Microsoft dice que Call of Duty: Black Ops 6 establece un récord en la cantidad de “adiciones de suscriptores de Game Pass el día del lanzamiento”.
Las descargas de Call of Duty: Black Ops 6 maximizan su uso de Internet
Nada hace que el teléfono brille en la oscuridad