มีการแนะนำโมดูลเคอร์เนลที่สามารถเพิ่มความเร็ว OpenVPN ได้อย่างมาก

ผู้พัฒนาแพ็คเกจเครือข่ายส่วนตัวเสมือน OpenVPN ได้เปิดตัวโมดูลเคอร์เนล ovpn-dco ซึ่งสามารถเร่งประสิทธิภาพของ VPN ได้อย่างมาก แม้ว่าโมดูลจะยังคงได้รับการพัฒนาโดยจับตาดูสาขา linux-next เท่านั้นและมีสถานะทดลอง แต่ก็มีระดับความเสถียรที่อนุญาตให้ใช้เพื่อให้แน่ใจว่าการทำงานของบริการ OpenVPN Cloud

เมื่อเปรียบเทียบกับการกำหนดค่าตามอินเทอร์เฟซ Tun การใช้โมดูลบนฝั่งไคลเอ็นต์และเซิร์ฟเวอร์โดยใช้การเข้ารหัส AES-256-GCM ทำให้สามารถบรรลุปริมาณงานเพิ่มขึ้น 8 เท่า (จาก 370 Mbit/s เป็น 2950 Mbit /วินาที) เมื่อใช้โมดูลเฉพาะบนฝั่งไคลเอ็นต์ ปริมาณงานจะเพิ่มขึ้นสามเท่าสำหรับการรับส่งข้อมูลขาออก และไม่เปลี่ยนแปลงสำหรับการรับส่งข้อมูลขาเข้า เมื่อใช้โมดูลเฉพาะบนฝั่งเซิร์ฟเวอร์ ปริมาณงานจะเพิ่มขึ้น 4 เท่าสำหรับการรับส่งข้อมูลขาเข้า และ 35% สำหรับการรับส่งข้อมูลขาออก

มีการแนะนำโมดูลเคอร์เนลที่สามารถเพิ่มความเร็ว OpenVPN ได้อย่างมาก

การเร่งความเร็วทำได้โดยการย้ายการดำเนินการเข้ารหัส การประมวลผลแพ็กเก็ต และการจัดการช่องทางการสื่อสารทั้งหมดไปยังฝั่งเคอร์เนล Linux ซึ่งช่วยลดค่าใช้จ่ายที่เกี่ยวข้องกับการสลับบริบท ทำให้สามารถปรับการทำงานให้เหมาะสมโดยการเข้าถึง API เคอร์เนลภายในโดยตรง และกำจัดการถ่ายโอนข้อมูลที่ช้าระหว่างเคอร์เนล และพื้นที่ผู้ใช้ (การเข้ารหัส การถอดรหัส และการกำหนดเส้นทางจะดำเนินการโดยโมดูลโดยไม่ส่งการรับส่งข้อมูลไปยังตัวจัดการในพื้นที่ผู้ใช้)

มีข้อสังเกตว่าผลกระทบด้านลบต่อประสิทธิภาพของ VPN ส่วนใหญ่เกิดจากการดำเนินการเข้ารหัสที่ใช้ทรัพยากรจำนวนมาก และความล่าช้าที่เกิดจากการสลับบริบท ส่วนขยายโปรเซสเซอร์เช่น Intel AES-NI ถูกนำมาใช้เพื่อเร่งความเร็วการเข้ารหัส แต่สวิตช์บริบทยังคงเป็นปัญหาคอขวดจนกระทั่งการถือกำเนิดของ ovpn-dco นอกเหนือจากการใช้คำแนะนำจากโปรเซสเซอร์เพื่อเพิ่มความเร็วในการเข้ารหัสแล้ว โมดูล ovpn-dco ยังช่วยให้มั่นใจได้ว่าการดำเนินการเข้ารหัสจะถูกแบ่งออกเป็นเซ็กเมนต์แยกกันและประมวลผลในโหมดมัลติเธรด ซึ่งช่วยให้สามารถใช้คอร์ CPU ที่มีอยู่ทั้งหมดได้

ข้อจำกัดในการใช้งานปัจจุบันที่จะได้รับการแก้ไขในอนาคต ได้แก่ การรองรับโหมด AEAD และ 'none' เท่านั้น และการเข้ารหัส AES-GCM และ CHACHA20POLY1305 การสนับสนุน DCO ได้รับการวางแผนที่จะรวมไว้ในการเปิดตัว OpenVPN 2.6 ซึ่งมีกำหนดในไตรมาสที่ 4 ของปีนี้ ขณะนี้โมดูลได้รับการสนับสนุนในไคลเอนต์ OpenVPN3 Linux ที่ทดสอบเบต้าและรุ่นทดลองของเซิร์ฟเวอร์ OpenVPN สำหรับ Linux โมดูลที่คล้ายกัน ovpn-dco-win ก็ได้รับการพัฒนาสำหรับเคอร์เนล Windows เช่นกัน

ที่มา: opennet.ru

เพิ่มความคิดเห็น