VMQ 受信キュー

仮想マシン キュー (VMQ) サービス プロバイダーは、VMQ 受信キューを割り当てます。 キューに設定されているフィルター テストにパケットが合格した場合、ネットワーク アダプター ハードウェアは受信ネットワーク データ パケットをキューに割り当てます。

VMQ 受信キューは次のプロパティを持ちます。

  • キュー識別子は、関連付けられているネットワーク アダプターに一意です。

  • 割り込みに関するプロセッサ アフィニティ。

  • キューに設定されているフィルター。

  • キューに割り当てられている受信バッファー。

次のプロパティを持つ既定のキューもあります。

  • 既定のキューは常に存在します。 他のキューを割り当てる必要があります。

  • 既定のキューは、他のキューについてフィルター テストに合格しないパケットを受信します。

ミニポート ドライバーは、VMQ に関連付けられている受信バッファーの共有メモリを割り当てます。 ミニポート ドライバーは、Windows Server のバージョンに応じて、次のセクションで説明しているバッファー割り当てのガイドラインに従う必要があります。

VMQ 共有メモリの要件は、仮想マシン (VM) の潜在的なセキュリティの問題に対処するように設計されています。 VMQ のセキュリティの問題の詳細については、「NDIS 仮想マシン (VM) 共有メモリに関するセキュリティの問題」を参照してください。

VMQ 受信バッファーの共有メモリの割り当て (Windows Server 2008 R2)

ミニポート ドライバーがパケット データを個別の先読みバッファーに分割する機能をサポートしている場合、Windows Server 2008 R2 の NDIS 6.20 は次の方法で共有メモリを割り当てることができます。

  • ミニポート ドライバーは、Hyper-V 親パーティションで実行される管理オペレーティング システムのアドレス空間から先読みバッファーの共有メモリを割り当てます。 先読みバッファーは、管理オペレーティング システムによって検査されるパケットの一部です。

  • ミニポート ドライバーは、Hyper-V 親パーティションで実行される管理オペレーティング システムのアドレス空間から先読み後バッファーの共有メモリを割り当てます。 先読み後バッファーは、管理オペレーティング システムによって検査されるパケットの一部です。

    Hyper-V 子パーティションは VM とも呼ばれます。

次の図は、キュー内の共有メモリ、管理オペレーティング システム、およびゲスト オペレーティング システムを示しています。

diagram illustrating the shared memory in the queues, the management operating system partition, and the vm partitions.

この図では、キュー内の各パケットが、管理オペレーティング システムのアドレス空間から割り当てられたヘッダー情報と、ゲスト オペレーティング システムのアドレス空間から割り当てられたデータとともに示されています。

VMQ 受信バッファーの共有メモリの割り当て (Windows Server 2012 以降のバージョン)

NDIS 6.30 以降では、VMQ 受信バッファーを個別の先読みバッファーに分割する機能はサポートされなくなりました。 ミニポート ドライバーは、管理オペレーティング システムのアドレス空間から各受信バッファーのメモリを割り当てる必要があります。