Noul WireGuardNT sparge plafoanele de productivitate pe Windows

Uitați de telefoanele mobile pliabile - rămânem la telefoanele mobile premium care funcționează.
Zoom / Uitați de telefoanele mobile pliabile – rămânem la telefoanele mobile premium care funcționează.

Proiectul WireGuard VPN anunță O etapă majoră pentru utilizatorii de Windows de astăzi – o nouă implementare în modul kernel a protocolului VPN numit WireGuardNT. Noua aplicație permite un transfer semnificativ îmbunătățit pe conexiunile LAN de 10 Gbps – și pe multe conexiuni WI-Fi.

WireGuard (pe Windows) și Wintun

Implementarea nativă WireGuard pe Windows folosește Wireguard-go – o implementare spațială pentru utilizator a WireGuard scrisă în limbajul de programare Google Go. Wireguard-go este apoi atașat la o mașină de rețea virtuală, dintre care majoritatea locuiesc și în spațiul utilizatorilor. Lui Donenfeld nu i-a plăcut ferestrele robinetului, interfața de rețea virtuală furnizată de proiectul OpenVPN – așa că și-a implementat varianta de la zero, numită Winton.

Wintun este o îmbunătățire clară față de tap-windows – același proiect OpenVPN a implementat suportul Wintun, în mod impresionant Rezultate (414 Mbps peste Windows Tap vs 737 Mbps peste Wintun). Dar, în timp ce utilizarea Wintun este o îmbunătățire față de clickwindows, nu schimbă necesitatea unui comutator de context static din spațiul kernel (unde trăiește stiva de rețea „reală”) și spațiul utilizatorilor (unde rulează OpenVPN și wireguard-go).

Pentru a elimina blocajele de performanță rămase, întreaga stivă – comutatorul virtual, codificatorul, totul – trebuie trasă în nucleu. Pe Linux, asta înseamnă că este un DLKM (Dynamic Loadable Kernel Module). Pe Windows, aceasta înseamnă că un driver de dispozitiv din nucleu este adecvat.

Kernel WireGuardNT și NT

Abandonarea componentelor spațiului utilizator al stivei WireGuard pe Windows și păstrarea a tot în nucleu înseamnă schimbarea WireGuard pentru a funcționa pe Windows așa cum funcționează deja pe Linux. De fapt, WireGuardNT a început ca un port direct al aplicației Linux WireGuard in-kernel.

READ  Noua înlocuire a aplicației Android Auto de la Google se lansează în mai multe țări - iată lista

Potrivit creatorului WireGuard Jason Donenfield, odată ce portul inițial a avut succes “baza de date NT a divergut rapid pentru a se potrivi frumos cu NTismul original și NDIS Interfețe de programare a aplicațiilor. Rezultatul final este o implementare extrem de integrată și performantă a WireGuard pentru kernelul NT, care profită de gama completă de kernel NT și capabilități NDIS. ”

Aceasta înseamnă, de asemenea, bineînțeles că scăpați de o mulțime de schimbări de context. Rezultatele finale sunt solide: de peste trei ori performanța remarcabilă, măsurată cu ajutorul Eter Pe o pereche de metal Equinix (anterior packet.net) c3. mic cazuri.

Beneficiile comutării fără context se extind mult dincolo de serverele Xeon cu interfețe de 10 Gbps, totuși – Donenfeld a menționat că unii testeri timpurii au raportat că WireGuardNT a rezolvat uneori rezultatele masive de performanță văzute atunci când se utilizează conexiunea VPN prin Wi-Fi.

Am testat diferența în timp real, folosind un HP EliteBook cu un card Intel AX201 Wi-Fi 6, conectat la nodul routerului din suita noastră de testare Plume Wi-Fi 6 Superpods. Deși rezultatele noastre nu au fost la fel de interesante ca cele obținute de unii dintre testerii noștri timpurii, confirmă o creștere semnificativă a performanței. Pe aceeași mașină și cu aceleași configurații, am măsurat WireGuardNT iperf3, care rulează cu 10-25% mai repede decât Wireguard-go și Wintun.

Test WireGuardNT astăzi

WireGuardNT este disponibil pentru testare în Windows public Descarca Pentru WireGuard acum, începând cu versiunea 0.4. Dar, deoarece este încă clasificat ca experimental, va trebui să adăugați manual o cheie de registry și DWORD pentru ao utiliza. Deschis regedit Ca administrator, apoi navigați la HKLM -> Programe. Apoi, creați o cheie numită WireGuard și, în interiorul acelei chei, un DWORD numit ExperimentalKernelDriver.

Cu ExperimentalKernelDriver setat la 1, tunelurile dvs. vor folosi noul cod WireGuardNT – fără acesta (sau cu ExperimentalKernelDriver setat la 0), vor folosi comportamentul implicit, care este vechiul cod wireguard-go / wintun. Pentru ca modificarea dvs. să aibă efect, va trebui să faceți clic dreapta pe pictograma WireGuard din bara de sistem și să faceți clic pe Finalizare. Când deschideți din nou aplicația WireGuard, aceasta va respecta setarea ExperimentalKernelDriver.

În viitor, WireGuardNT va fi activat în mod implicit și, în schimb, va trebui să setați un flag de registru dacă doriți codul vechi. Dincolo de asta, proiectul intenționează în cele din urmă să pună capăt Wireguard-go / wintun în duo-ul generic. Pe de altă parte, proiectele în sine vor rămâne, deoarece au o utilitate largă dincolo de clientul WireGuard.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *