WireGuard otrzymuje natywny port dla jądra systemu Windows

Jeśli korzystasz z systemu Windows, z przyjemnością usłyszysz, że protokół tunelowania VPN nowej generacji, WireGuard, otrzymuje natywny port jądra systemu Windows.

Jeśli często korzystasz z VPN (wirtualnych sieci prywatnych), z pewnością ucieszy Cię wiadomość o nowym projekcie o nazwie WireGuardNT. Dla niezaznajomionych: WireGuard to stosunkowo nowy protokół tunelowania VPN, który wykorzystuje nowoczesne standardy kryptografii, ma bezpieczną bazę kodową i ma świetną wydajność. Jest zintegrowany z Jądro Linuksa w wersji 5.6, ale do tej pory implementacja przestrzeni użytkownika była dostępna tylko w systemie Windows. I tu właśnie pojawia się WireGuardNT: jest to natywny port WireGuarda dla jądra systemu Windows, który obiecuje znacznie przyspieszyć działanie.

WireGuard w systemie Windows korzysta obecnie ze wspólnej bazy kodu Go ze sterownikiem TUN o nazwie Wintun. Działa w przestrzeni użytkownika i jako plik ogłoszenie ujmując to, „przewodzi pakiety do i z interfejsu Wintun”. W WireGuardNT cały protokół jest implementowany bezpośrednio w stosie sieciowym Windows, podobnie jak w Linuksie.

Chociaż wydajność WireGuard w systemie Windows jest już całkiem niezła, planujemy poprawić ją dzięki WireGuardNT. Projekt ten jest jednak wciąż na wczesnym etapie, ale nawet zanim zostaną wprowadzone dodatkowe poprawki i optymalizacje, jest wciąż szybszy dzięki natywnej integracji z jądrem. Można to częściowo przypisać zmniejszonemu narzutowi i opóźnieniom związanym ze wszystkimi przełączaniami kontekstu w starej implementacji wireguard-go/Wintun.

Ale o ile szybsza jest nowa implementacja WireGuardNT w porównaniu ze starą wersją przestrzeni użytkownika? W przypadku połączenia przewodowego programiści zapewniają prędkość sięgającą 7,5 Gb/s; programiści zauważyli również znaczną poprawę wydajności w przypadku Wi-Fi. Na przykład jeden tester z kartą Wi-Fi Intel AC9560 uzyskał ~600 Mb/s bez WireGuard, ~95 Mb/s ze starą wersją przestrzeni użytkownika przez Wi-Fi i ~600 Mb/s z implementacją WireGuardNT przez Wi-Fi. Zasadniczo wyeliminowano problemy związane z wydajnością sieci bezprzewodowej ze starej wersji przestrzeni użytkownika dzięki nowemu natywnemu portowi jądra, a wydajność sieci przewodowej została ulepszona znacznie.

Jak wspomniano, projekt jest wciąż na wczesnym etapie. Aby przygotować go do wydania, projekt w wersji 0.4.z klienta WireGuard dla Windows składa się z trzech faz. W pierwszym etapie, w którym się obecnie znajdujemy, WireGuardNT jest ukryty za pokrętłem rejestru „ExperimentalKernelDriver”, więc jeśli go nie włączysz, nie zostanie on włączony. W drugiej fazie natywna implementacja jądra będzie domyślnie włączona. W trzeciej i ostatniej fazie zostanie usunięta stara implementacja przestrzeni użytkownika wireguard-go/Wintun z klienta Windows, choć nadal będzie ona obsługiwana w celu obsługi innych aplikacji i zastosowań.

Podobnie jak w przypadku takich eksperymentalnych wydań, programista Jason Donenfeld ma nadzieję, że ludzie wypróbują tę wersję, aby znaleźć błędy i podzielić się swoimi opiniami. WireGuardNT jest teraz częścią klienta WireGuard dla systemu Windows i jest w wersji 0.4. Możesz Pobierz to tutajlub możesz przeczytać więcej o projekcie Tutaj.

We wcześniejszej wersji tego artykułu stwierdzono, że wzrost wydajności sieci był znaczący jedynie w przypadku połączenia bezprzewodowego.