مشروع VPN الخاص بـ WireGuard أعلن معلم رئيسي لمستخدمي Windows اليوم – تطبيق جديد تمامًا ، في قلب بروتوكول VPN المسمى WireGuardNT. يتيح التطبيق الجديد تحسين الإنتاجية بشكل كبير في اتصالات LAN بسرعة 10 جيجابت في الثانية وكذلك في العديد من اتصالات Wi-Fi.
WireGuard (في Windows) و Wintun
يستخدم تطبيق WireGuard الأصلي في Windows Wireguard-go – وهو تطبيق مساحة مستخدم WireGuard مكتوب بلغة برمجة Google Go. ثم يتم توصيل Wireguard-go بجهاز شبكة افتراضي ، يعيش معظمه أيضًا في مساحة المستخدم. لم يعجب دونينفيلد نوافذ الحنفية، واجهة الشبكة الافتراضية التي يوفرها مشروع OpenVPN – لذلك قام بتنفيذ البديل الخاص به من البداية ، يسمى وينتون.
يعد Wintun تحسنًا كبيرًا مقارنة بمشروع Windows Faucets-OpenVPN نفسه ، وقد قدم دعمًا لـ Wintun ، بشكل مثير للإعجاب نتائج (414 ميجابت في الثانية فوق نوافذ النقر مقارنة بـ 737 ميجابت في الثانية عبر Wintun). ولكن في حين أن استخدام Wintun يعد تحسينًا على نوافذ الصنابير ، إلا أنه لا يغير الحاجة إلى انتقالات اتصال دائمة من مساحة kernel (حيث توجد مكدس الشبكة “الحقيقي”) ومساحة المستخدم (حيث يكون كل من OpenVPN و wireguard-go مباشر ).
من أجل التخلص من الاختناقات المتبقية في الأداء ، يجب سحب المكدس بالكامل – المحول الافتراضي والعملات المشفرة وكل شيء – في القلب. في Linux ، هذا يعني أن تكون وحدة أساسية (DLKM). في Windows ، هذا يعني وجود برنامج تشغيل مناسب داخل النواة.
WireGuardNT و NT kernel
إن تجنب مكونات مكدس WireGuard في Windows ، والاحتفاظ بكل شيء داخل النواة يعني تغيير WireGuard للعمل على Windows لأنه يعمل على Linux بالفعل. في الواقع ، بدأت WireGuardNT كمخرج مباشر لتطبيق WireGuard داخل Linux.
وفقًا لمنشئ WireGuard Jason Donnenfeld ، بمجرد نجاح المنفذ الأولي “تم استنفاد قاعدة رمز NT بسرعة لتلائم بشكل جيد مع NTisms و NT NDIS واجهات برمجة التطبيقات. والنتيجة النهائية هي تطبيق متكامل للغاية مع WireGuard عالي الأداء لنواة NT ، باستخدام مجموعة كاملة من نوى NT و NDIS. “
هذا يعني ، بالطبع ، التخلص من الكثير من تبادل العلاقات أيضًا. نتائج نهائية صلبة: أكثر من ثلاثة أضعاف أعلى أداء ، وفقًا للقياس موقع حول Equinix Metal (packet.net سابقًا) ج 3. قليل حالات.
تمتد فوائد تبديل الاتصال الأقل إلى أبعد من خوادم Xeon بواجهات 10 جيجابت في الثانية – لاحظ Donenfeld أن بعض المختبرين الأوائل أفادوا أن WireGuardNT قد حل مشاكل الأداء الهائلة التي شوهدت أحيانًا عند استخدام اتصال VPN عبر Wi-Fi.
اختبرنا الاختلاف مباشرةً باستخدام HP EliteBook مع بطاقة Intel AX201 Wi-Fi 6 ، المتصلة بوصلة جهاز التوجيه لمجموعة اختبار Wi-Fi 6 Superpods Plume. على الرغم من أن نتائجنا لم تكن مثيرة مثل نتائج بعض المختبرين الأوائل ، إلا أنها تؤكد زيادة كبيرة في الأداء. على نفس الجهاز وبنفس التكوين ، قمنا بقياس تشغيل WireGuardNT iperf3 بسرعة 10 في المائة إلى 25 في المائة أكثر من تلك الموجودة في wireguard-go و Winton.
التحقق من WireGuardNT اليوم
WireGuardNT متاح للاختبار في Windows سحب بالنسبة لـ WireGuard الآن ، بدءًا من الإصدار 0.4. ولكن نظرًا لأنه لا يزال مصنفًا على أنه تجريبي ، فستحتاج إلى إضافة مفتاح تسجيل و DWORD يدويًا لاستخدامه. يفتح regedit
بصفتك مشرفًا ، استعرض وصولاً إلى HKLM-> Software. بعد ذلك ، قم بإنشاء مفتاح يسمى WireGuard ، وداخل هذا المفتاح ، DWORD يسمى ExperimentalKernelDriver.
عندما يتم تعيين ExperimentalKernelDriver على 1 ، ستستخدم أنفاقك الرمز الجديد بدون WireGuardNT (أو عند الضبط على 0) ، سيستخدمون السلوك الافتراضي ، وهو رمز wireguard-go / wintun القديم. لكي يسري التغيير ، عليك النقر بزر الماوس الأيمن فوق رمز WireGuard في علبة النظام والنقر فوق “خروج”. عندما تعيد فتح تطبيق WireGuard ، فسوف يحترم إعداد ExperimentalKernelDriver الخاص بك.
في المستقبل ، سيتم تشغيل WireGuardNT افتراضيًا ، وبدلاً من ذلك ستحتاج إلى إعداد علامة تسجيل إذا كنت تريد الرمز القديم. أبعد من ذلك ، يخطط المشروع في النهاية لغمر Wireguard-go / wintun في الثنائي الكلي تمامًا. ومع ذلك ، ستبقى المشاريع نفسها ، حيث تتمتع بفائدة واسعة تتجاوز عميل WireGuard.