Hyper-V 拡張可能スイッチの概要
Windows Server 2012 では、Hyper-V 拡張スイッチ (Hyper-V 仮想スイッチとも呼ばれます) が導入されています。これは、Hyper-V 親パーティションの管理オペレーティング システムで実行される仮想イーサネット スイッチです。 このページでは、次の件について取り上げます。
バックグラウンド読み取り
このテクノロジーとその基盤となる技術的な概要の詳細については、次の TechNet ドキュメントを参照してください。
Hyper-V 拡張可能スイッチとネットワーク アダプターの種類
Hyper-V 仮想ネットワーク マネージャーを使用して、次の種類の 1 つ以上の拡張可能スイッチを作成、構成、または削除できます。
1 つの外部ネットワーク アダプターおよび 1 つ以上の仮想マシン (VM) ネットワーク アダプターに接続するポートをサポートする外部拡張可能スイッチ。 この種類のスイッチを使用すると、すべての Hyper-V パーティションとホスト上の物理ネットワーク インターフェイスの間でパケットを送受信できます。
また、管理オペレーティング システムで実行されるアプリケーションとドライバーは、この種類のスイッチを介してパケットを送受信できます。
1 つ以上の内部ネットワーク アダプターと 1 つ以上の VM ネットワーク アダプターに接続するポートをサポートする内部拡張可能スイッチ。 この種類のスイッチを使用すると、Hyper-V 親パーティションとホスト上の 1 つ以上の Hyper-V 子パーティションの間でパケットを送受信できます。
また、管理オペレーティング システムで実行されるアプリケーションとドライバーは、この種類のスイッチを介してパケットを送受信できます。
1 つ以上の VM ネットワーク アダプターに接続するポートをサポートするプライベート拡張可能スイッチ。 この種類のスイッチを使用すると、Hyper-V 子パーティション間でのみパケットを送受信できます。
注: 管理オペレーティング システムで実行されるアプリケーションやドライバーは、この種類のスイッチを介してパケットを送受信できません。
各拡張可能スイッチ モジュールは、Hyper-V の子パーティションと親パーティションで使用されるネットワーク アダプター経由で受信パケットと送信パケットをルーティングします。 これらのネットワーク アダプターには、次のものが含まれます。
ホストで使用可能な物理ネットワーク インターフェイスへの接続を提供する外部ネットワーク アダプター。
この種類のネットワーク アダプターの詳細については、「外部ネットワーク アダプター」を参照してください。
注: 外部ネットワーク アダプターへのアクセスを提供するのは、外部拡張可能スイッチだけです。
Hyper-V 親パーティションの管理オペレーティング システムで実行されるプロセスの拡張可能スイッチへのアクセスを提供する内部ネットワーク アダプター。 これにより、これらのプロセスで拡張可能スイッチ経由でパケットを送受信できます。
この種類のネットワーク アダプターの詳細については、「内部ネットワーク アダプター」を参照してください。
注: 内部ネットワーク アダプターへのアクセスを提供するのは、外部および内部の拡張可能スイッチのみです。
Hyper-V 子パーティションで実行されるゲスト オペレーティング システム内で公開されている VM ネットワーク アダプター。 VM ネットワーク アダプターは、子パーティションのゲスト オペレーティング システムで実行されるプロセスがパケットを送受信するための拡張可能スイッチへの接続を提供します。
この種類のネットワーク アダプターの詳細については、「仮想マシン ネットワーク アダプター」を参照してください。
各 Hyper-V 子パーティションは、1 つ以上の VM ネットワーク アダプターを持つよう構成できます。 各 VM ネットワーク アダプターは、拡張可能スイッチのインスタンスに関連付けられるように構成されています。 これにより、子パーティションを次のように構成できます。
子パーティションは、拡張可能スイッチの 1 つのインスタンスに関連付けられた単一の VM ネットワーク アダプターを持つよう構成できます。
子パーティションは、拡張可能スイッチのインスタンスに関連付けられた各 VM ネットワーク アダプターを使用して、複数の VM ネットワーク アダプターを持つよう構成できます。
子パーティションは、1 つ以上の VM ネットワーク アダプターが拡張可能スイッチの同じインスタンスに関連付けられている複数の VM ネットワーク アダプターを持つよう構成できます。
拡張可能スイッチ拡張機能の種類
Hyper-V 拡張可能スイッチは、独立系ソフトウェア ベンダー (ISV) が次の方法でスイッチ機能を拡張できるインターフェイスをサポートしています。
Hyper-V 拡張可能スイッチは、NDIS フィルター ドライバー (拡張機能と呼ばれます) が拡張可能スイッチ ドライバー スタック内でバインドできるようにするインターフェイスをサポートしています。 これにより、拡張機能は、拡張可能スイッチ ポートにパケットをキャプチャ、フィルター処理、転送できます。 また、これにより、拡張機能で、パケットの挿入、削除、または Hyper-V パーティションで公開されているネットワーク アダプターに接続されているポートへのリダイレクトを行うことができます。
拡張機能をインストールした後は、Hyper-V 拡張可能スイッチの個別のインスタンスで有効または無効にすることができます。 詳細については、「Hyper-V 拡張可能スイッチ拡張機能のインストール」を参照してください。
Windows フィルタリング プラットフォーム (WFP) には組み込みのフィルター拡張機能 (Wfplwfs.sys) が搭載されており、WFP フィルターまたはコールアウト ドライバーで Hyper-V 拡張可能スイッチのデータ パスに沿ったパケットをインターセプトできます。 これにより、WFP フィルターまたはコールアウト ドライバーで、WFP の管理関数とシステム関数を使用して、パケットを検査または変更できるようになります。
WFP の概要については、「Windows フィルタリング プラットフォーム」を参照してください。
WFP コールアウト ドライバーの概要については、「Windows フィルター プラットフォームのコールアウト ドライバー」を参照してください。
注: 拡張可能スイッチ パケット トラフィックの WFP ベースのフィルター処理を実行するには、ISV は、拡張 WFP コールとデータ型を使用するように WFP フィルターとコールアウト ドライバーを拡張するだけで済みます。 ISV は、独自の拡張機能を開発する必要はありません。
拡張可能スイッチ インターフェイスは、次の種類の拡張機能をサポートしています。
キャプチャ拡張機能
パケット トラフィックをキャプチャおよび監視する拡張機能。 この種類の拡張機能では、パケットを変更または削除したり、拡張可能なスイッチ ポートにパケットを配信対象から除外したりすることはできません。 ただし、キャプチャ拡張機能では、パケット トラフィック (拡張機能がホスト アプリケーションに送信するトラフィック統計情報を含むパケットなど) が発生する可能性があります。
拡張可能スイッチの各インスタンスで、複数のキャプチャ拡張機能をバインドして有効にすることができます。
この種類の拡張機能の詳細については、「キャプチャ拡張機能」を参照してください。
フィルター拡張機能
これらの拡張機能には、キャプチャ拡張機能と同じ機能があります。 ただし、この種類の拡張機能は、ポートまたはスイッチのポリシー設定に基づいて、パケットを検査および削除したり、拡張可能なスイッチ ポートへのパケット配信を除外したりできます。 また、フィルター拡張機能は、パケットの発信、複製、複製を行い、拡張可能スイッチのデータ パスに挿入することもできます。
拡張可能スイッチの各インスタンスで、複数のフィルター処理拡張機能をバインドして有効にすることができます。
この種類の拡張機能の詳細については、「フィルター処理拡張機能」を参照してください。
転送拡張機能
これらの拡張機能は、フィルター処理拡張機能と同じ機能を備えていますが、拡張可能スイッチのコア パケット転送およびフィルター処理タスクを実行する役割を担います。 これらのタスクには以下のもが含まれています。
パケットが NVGRE パケットでない限り、パケットの宛先ポートを決定します。 詳細については、「ハイブリッド転送」を参照してください。
セキュリティ、プロファイル、仮想 LAN (VLAN) ポリシーなどの標準ポート ポリシーを適用してパケットをフィルター処理します。
注 : 転送拡張機能が機能拡張スイッチにインストールされていないおよび有効になっていない場合、スイッチはパケットの宛先ポートを決定し、標準ポート設定に基づいてパケットをフィルター処理します。
拡張可能スイッチの各インスタンスでバインドおよび有効にできる転送拡張機能は 1 つだけです。
この種類の拡張機能の詳細については、「転送拡張機能」を参照してください。
Hyper-V 拡張可能スイッチのアーキテクチャ図
次の図は、NDIS 6.40 (Windows Server 2012 R2) 以降の拡張可能スイッチ インターフェイスのコンポーネントを示しています。
次の図は、NDIS 6.30 (Windows Server 2012) の拡張可能スイッチ インターフェイスのコンポーネントを示しています。
拡張可能スイッチ インターフェイスのコンポーネントの詳細については、「Hyper-V 拡張可能スイッチ アーキテクチャ」を参照してください。