Modul kernel telah diperkenalkan yang dapat mempercepat OpenVPN secara signifikan

Pengembang paket jaringan pribadi virtual OpenVPN telah memperkenalkan modul kernel ovpn-dco, yang dapat mempercepat kinerja VPN secara signifikan. Terlepas dari kenyataan bahwa modul ini masih dikembangkan dengan tujuan hanya untuk cabang linux-next dan memiliki status eksperimental, modul ini telah mencapai tingkat stabilitas yang memungkinkannya digunakan untuk memastikan pengoperasian layanan OpenVPN Cloud.

Dibandingkan dengan konfigurasi berdasarkan antarmuka tun, penggunaan modul di sisi klien dan server menggunakan cipher AES-256-GCM memungkinkan pencapaian peningkatan throughput 8 kali lipat (dari 370 Mbit/s menjadi 2950 Mbit /S). Saat menggunakan modul hanya di sisi klien, throughput meningkat tiga kali lipat untuk lalu lintas keluar dan tidak berubah untuk lalu lintas masuk. Saat menggunakan modul hanya di sisi server, throughput meningkat 4 kali lipat untuk lalu lintas masuk dan 35% untuk lalu lintas keluar.

Modul kernel telah diperkenalkan yang dapat mempercepat OpenVPN secara signifikan

Akselerasi dicapai dengan memindahkan semua operasi enkripsi, pemrosesan paket, dan manajemen saluran komunikasi ke sisi kernel Linux, yang menghilangkan overhead yang terkait dengan peralihan konteks, memungkinkan untuk mengoptimalkan pekerjaan dengan mengakses langsung API kernel internal dan menghilangkan transfer data yang lambat antar kernel dan ruang pengguna (enkripsi, dekripsi, dan perutean dilakukan oleh modul tanpa mengirimkan lalu lintas ke pengendali di ruang pengguna).

Perlu dicatat bahwa dampak negatif terhadap kinerja VPN terutama disebabkan oleh operasi enkripsi yang intensif sumber daya dan penundaan yang disebabkan oleh peralihan konteks. Ekstensi prosesor seperti Intel AES-NI digunakan untuk mempercepat enkripsi, namun peralihan konteks tetap menjadi hambatan hingga munculnya ovpn-dco. Selain menggunakan instruksi yang diberikan oleh prosesor untuk mempercepat enkripsi, modul ovpn-dco juga memastikan bahwa operasi enkripsi dibagi menjadi beberapa segmen terpisah dan diproses dalam mode multi-utas, yang memungkinkan penggunaan semua inti CPU yang tersedia.

Keterbatasan implementasi saat ini yang akan diatasi di masa depan mencakup dukungan untuk mode AEAD dan 'tidak ada' saja, serta sandi AES-GCM dan CHACHA20POLY1305. Dukungan DCO rencananya akan disertakan dalam rilis OpenVPN 2.6 yang dijadwalkan pada kuartal ke-4 tahun ini. Modul ini saat ini didukung dalam pengujian beta klien OpenVPN3 Linux dan versi eksperimental server OpenVPN untuk Linux. Modul serupa, ovpn-dco-win, juga sedang dikembangkan untuk kernel Windows.

Sumber: opennet.ru

Tambah komentar