OVS には現在 2 つの著名なアーキテクチャがあり、1 つはネイティブ OVS アーキテクチャ (カーネルをデータパスとして使用)、もう 1 つは DPDK ベースのアーキテクチャ (ユーザー空間をデータパスとして使用) です。
ネイティブ OVS
ネイティブ OVS アーキテクチャを以下に示します。これには主に 2 つのコンポーネントが含まれます。
-
openvswitch.ko : カーネル モードでの高速パス データ転送を担当します。転送はフロー テーブルによって行われ、各フロー テーブルには多数の一致するアイテム (一致フィールド) と対応するアクション (アクション) が含まれます。
-
match field : パケットを識別できるヘッダー フィールドを定義します。
-
アクション: このデータ パケットに対して実行できるアクションを定義します。たとえば、VLAN タグの追加または削除、データ パケットの特定のヘッダー フィールドの変更、ポートからのデータ パケットの出入りの制御などです。
-
-
ovs-vswitchd : ユーザー モードでの低速パスのデータ転送を担当します。
-
ofproto : OpenFlow スイッチを実装します
-
netdev : ネットワークデバイス(物理および仮想の両方)と対話するための抽象インターフェイス層
-
dpif : ユーザー空間データ転送パスの実装
-
OVS-DPDK
DPDK ベースの OVS アーキテクチャを以下に示します。暗い部分のモジュールが DPDK の導入に関連するモジュールです。
-
dpif-netdev : ユーザー空間での高速パスの実装。
dpif
モジュール API を実装し、netdev
デバイスを直接操作でき、ユーザー空間でのデータ パケットの高速処理を実現し、カーネル空間とのスイッチング オーバーヘッドを削減できます。 -
ofproto-dpif :レイヤーを
ofproto
直接操作するためのモジュール APIを実装します。dpif
-
netdev-dpdk : DPDK ライブラリを使用して
netdev
モジュール API を実装し、次のようにさまざまなタイプのインターフェイスを提供します。-
物理ポート(PMD)
vfio
:または を使用しigb_uio
て実装されたポート -
virtio /
librte_vhost
_vhost-user
_vhost-cuse
_ vhost は、VM 通信用の高速で安全な標準インターフェイス セットであることが証明されています。 -
dpdkr : 実装に使用します。ユーザーはこのポート タイプに基づいてポートを作成し、ユーザー空間でのデータ転送を完了できます。VM との高速ゼロコピー通信を実現できます (IVSHMEM またはその他のプロセス間通信方法を使用)
librte_ring
。dpdk-ring
-
2 つのアーキテクチャのパフォーマンスの比較
では、これら 2 つのアーキテクチャのどちらがより優れたパフォーマンスを持っているのか、言うまでもなく、それは OVS-DPDK です。話すためにデータを使用します。Intel によって作成された次のパフォーマンス レポートを参照してください (時期は 2015 年ですが、これも参考になります)。
1 つ目は実験環境パラメータです。
physical-to-physical
次に、と2 つのトポロジを含む実験的なトポロジ図を確認しますphysical-to-virtual-to-physical
。
最後に、パフォーマンスの比較を見てみましょう。
次のphysical-to-physical
2physical-to-virtual-to-physical
つのシナリオも含まれています。
P2P シナリオでは、OVS-DPDK のパフォーマンスがネイティブ OVS のパフォーマンスよりもほぼ 12 倍高いことがわかります。
PVP シナリオでは、シングルコアとマルチコアの実験結果を追加します。シングルコアの場合、OVS-DPDK はネイティブ OVS よりも 7 倍高速であり、デュアルコアの場合はほぼ 13 倍です。もっと早く。
DPDK ベースの VNF はデータ プレーンとして OVS を使用します
OVS-DPDK に基づく VNF アーキテクチャを次の図に示します。
DPDK は、OVS データ プレーンを高速化するだけでなく、VNF アプリケーションも高速化します。このソリューションは、プログラム可能で柔軟な純粋なソフトウェアの形式で実装されます。DPDK の参加により、パフォーマンスも大幅に向上します。これは、基本的に、VNF アプリケーションの形式と同等です。純粋なハードウェア。
元のリンク: https://mp.weixin.qq.com/s/We-1j7WZgyu9vHp9UBQVYg
[記事のメリット]: 編集者が個人的に良いと思う学習本やビデオ資料を整理してジュンヤンファイルに共有しましたので、必要に応じて自分で追加することができます。~参加するには 909332607 をクリックしてください(自己収集が必要です)
(情報には次が含まれます: Dpdk/ネットワーク プロトコル スタック/vpp/OvS/DDos/NFV/仮想化、tcp/ip、プラグイン、機能、フレキシブル アレイ、golang、mysql、linux、Redis、 CDN など)、無料共有~
Dpdk/ネットワーク プロトコル スタック/vpp/OvS/DDos/NFV/仮想化/高性能エキスパート学習アドレス: https://ke.qq.com/course/506620