تم تقديم وحدة kernel يمكنها تسريع OpenVPN بشكل كبير

قدم مطورو حزمة الشبكات الافتراضية الخاصة OpenVPN وحدة ovpn-dco kernel، والتي يمكنها تسريع أداء VPN بشكل كبير. على الرغم من أن الوحدة لا تزال قيد التطوير مع التركيز فقط على فرع Linux التالي ولها حالة تجريبية، فقد وصلت بالفعل إلى مستوى من الاستقرار يسمح باستخدامها لضمان تشغيل خدمة OpenVPN Cloud.

بالمقارنة مع التكوين القائم على واجهة tun، فإن استخدام الوحدة النمطية على جانبي العميل والخادم باستخدام تشفير AES-256-GCM جعل من الممكن تحقيق زيادة بمقدار 8 أضعاف في الإنتاجية (من 370 ميجابت/ثانية إلى 2950 ميجابت/ثانية) /س). عند استخدام الوحدة النمطية فقط على جانب العميل، زاد معدل النقل ثلاثة أضعاف بالنسبة لحركة المرور الصادرة ولم يتغير بالنسبة لحركة المرور الواردة. عند استخدام الوحدة فقط على جانب الخادم، زادت الإنتاجية بمقدار 4 مرات لحركة المرور الواردة وبنسبة 35% لحركة المرور الصادرة.

تم تقديم وحدة kernel يمكنها تسريع OpenVPN بشكل كبير

يتم تحقيق التسريع عن طريق نقل جميع عمليات التشفير ومعالجة الحزم وإدارة قنوات الاتصال إلى جانب نواة Linux، مما يلغي الحمل المرتبط بتبديل السياق، ويجعل من الممكن تحسين العمل عن طريق الوصول مباشرة إلى واجهات برمجة التطبيقات الداخلية للنواة ويزيل بطء نقل البيانات بين النواة ومساحة المستخدم (يتم تنفيذ التشفير وفك التشفير والتوجيه بواسطة الوحدة دون إرسال حركة المرور إلى معالج في مساحة المستخدم).

تجدر الإشارة إلى أن التأثير السلبي على أداء VPN يرجع بشكل أساسي إلى عمليات التشفير كثيفة الاستخدام للموارد والتأخير الناجم عن تبديل السياق. تم استخدام امتدادات المعالج مثل Intel AES-NI لتسريع التشفير، لكن مفاتيح التبديل السياقية ظلت تمثل عنق الزجاجة حتى ظهور ovpn-dco. بالإضافة إلى استخدام الإرشادات التي يقدمها المعالج لتسريع التشفير، تضمن وحدة ovpn-dco بالإضافة إلى ذلك تقسيم عمليات التشفير إلى أجزاء منفصلة ومعالجتها في وضع متعدد الخيوط، مما يسمح باستخدام جميع مراكز وحدة المعالجة المركزية المتاحة.

تتضمن قيود التنفيذ الحالية التي سيتم معالجتها في المستقبل دعم أوضاع AEAD و"لا شيء" فقط، وشفرات AES-GCM وCHACHA20POLY1305. من المقرر أن يتم تضمين دعم DCO في إصدار OpenVPN 2.6، المقرر إطلاقه في الربع الرابع من هذا العام. الوحدة مدعومة حاليًا في عميل OpenVPN4 Linux للاختبار التجريبي والإصدارات التجريبية لخادم OpenVPN لنظام التشغيل Linux. يتم أيضًا تطوير وحدة مماثلة، ovpn-dco-win، لـ Windows kernel.

المصدر: opennet.ru

إضافة تعليق