セキュリティは、オンラインのときに考慮すべき最も重要なことの1つです。オンライン通信が暗号化で保護されているほど、優れています。データ暗号化は、過去にコンピューティング速度を低下させてきましたが、これは最新のCPUで向上しています。しかし、もっとできることがあります。 OpenVPNは、カーネルスペースを使い果たすことでユーザーの速度を上げる新しい開発、OpenVPNデータチャネルオフロード(DCO)を導入しました。
カーネルスペースとは何ですか?
カーネルは、(オペレーティングシステムに関係なく)コンピューターの電源を入れたときに読み込まれるものです。これは、他のすべてのレイヤーのベースレイヤーです。ハードウェアが基盤を構成し、その上にカーネルスペースがあり、その後にユーザースペースが続きます。一番上にあるのは、使用するプログラムです。レイヤーの上位にあるほど、ハードウェアから離れ、プログラムの実行速度が低下します。したがって、データの暗号化について考えるとき、それは困難な場合があります。これら2つのレイヤー間でデータを交換すると、処理能力が低下し、OpenVPNの速度にボトルネックが生じます。
OpenVPNのようなユーザースペースVPNの場合、暗号化オーバーヘッドとコンテキストスイッチによって速度が制限されます。最新のCPUでは、Intel AES-NIなどの拡張機能によって暗号化のオーバーヘッドが改善され、OpenVPNユーザーの速度が向上しています。ただし、コンテキストスイッチのオーバーヘッドには対処する必要があります。個人およびビジネスのインターネット速度が向上し、アプリケーションがより多くの帯域幅を使用するにつれて、ユーザーはオンライン通信での高速化を期待しています。したがって、このオーバーヘッドの影響はより顕著になりました。
従来の知識を頭に浮かび上がらせる:OpenVPN DCO
これで、OpenVPNデータチャネルオフロード(ovpn-dco)ができました。 OpenVPN DCOは、OpenVPNデータチャネルを処理するLinuxカーネルモジュールを実装します。 OpenVPNは、ルーティングおよび暗号化/復号化のために、ユーザーとカーネルスペース間でデータトラフィックを送信しなくなりました。ペイロードの操作は、パフォーマンスを最適化するLinuxカーネルで行われます。これにより、ユーザーとカーネルスペース間のペイロード転送の遅延とコストが削減されます。
その上、暗号化はマルチスレッドになりました。マルチスレッドは、タスクまたはジョブをより小さなユニットに分割し、それらを異なるCPUに割り当てるプロセスです。それはエンドユーザーにとってどういう意味ですか?データ転送ははるかに高速に行われます。
OpenVPNのCTOであるJamesYonanは、オフロードの重要性について次のように語っています。ハードウェアを使用すれば、パフォーマンスをワイヤ速度の限界まで押し上げることができます。」
OpenVPN DCOは、OpenVPNデータチャネル全体をカーネルモジュールに組み込み、制御チャネルをカーネルの外部に維持し、TLS1.3機能のサポートを含む標準のSSL/TLSプロトコルを引き続き使用します。
速度の向上を理解するために、OpenVPN2.6dco開発バージョンを3つの異なる構成で使用したテスト結果を以下に示します。
以下のパフォーマンス数値は、LinuxおよびWindowsゲストを使用してハイパーバイザーとしてHyper-Vを実行しているAMDThreadRipper3970xシステムで実施されたiperf3テスト結果です。使用される暗号化アルゴリズムはAES-256-GCMです。
OpenVPNDCOの可用性
次世代VPNであるOpenVPNCloudは、すでに本番環境でDCOを開始しており、サーバー側で桁違いのパフォーマンスの向上が見られ、クライアント側でovpn-dcoが普及すると、クライアントでも同様の向上が見込まれます。
この悪名高いボトルネックを解消することは、長期的な将来の高尚な目標ではないため、この開発は非常にエキサイティングです。すでに実現しています。
- OpenVPN3Linuxクライアントはベータ版として利用できます。
- ovpn-dco-winは現在、技術プレビューとして利用可能であり、2021年第4四半期の2.6リリースの一部として正式に利用可能になります。
- DCOモジュールと組み合わせたLinuxOpenVPNサーバーは、本当に印象的な速度を実現します。技術プレビューは、現在幅広いリリースに取り組んでいる開発者とともに公開されています。
OpenVPN Inc.はオープンソースを信じており、これを完全に支持しています。 OpenVPN3とOpenVPNCloudに取り組んでいる開発者は、これらの印象的な新機能を利用して、コミュニティに還元します。今年の第4四半期にOpenVPN2.6.0をリリースし、DCOサポートを含めます。 OpenVPN 2.6開発ビルドを使用している限り、オープンソースのDCOモジュールをWindowsまたはLinuxプラットフォームにインストールすると、データ転送速度が大幅に向上します。また、将来のリリースでは、Windows用のDCOモジュールをOpenVPNConnectv3に組み込む予定です。このようにして、すべてのWindowsユーザーはこの高速化の恩恵を受けることができます。 OpenVPN Access Serverは、OpenVPN Access Serverの将来のリリースでこの機能を導入するときに、Linux用のDCOモジュールの恩恵も受けます。