仮想マシン ネットワーク アダプター
仮想マシン (VM) ネットワーク アダプターは、Hyper-V 子パーティションで実行されているゲスト オペレーティング システムで公開されます。
手記
Hyper-V では、子パーティションは VM とも呼ばれます。
VM ネットワーク アダプターでは、次の仮想化の種類がサポートされています。
合成ネットワーク アダプター: VM ネットワーク アダプターは、ネットワーク アダプターの合成仮想化である可能性があります。 この場合、VM で実行されるネットワーク仮想サービス クライアント (NetVSC) によって、この仮想ネットワーク アダプターが公開されます。 NetVSC は、VM バス (VMBus) 経由で拡張可能スイッチ ポートとの間でパケットを転送します。
エミュレートされたネットワーク アダプター: VM ネットワーク アダプターは、物理ネットワーク アダプターのエミュレートされた仮想化である可能性があります。 この場合、VM ネットワーク アダプターは Intel ネットワーク アダプターを模倣し、ハードウェア エミュレーションを使用して拡張可能スイッチ ポートとの間でパケットを転送します。
次の図は、VM ネットワーク アダプターと拡張可能スイッチ NDIS 6.40 (Windows Server 2012 R2) 以降の間のインターフェイスを示しています。
次の図は、VM ネットワーク アダプターと NDIS 6.30 (Windows Server 2012) の拡張可能スイッチの間のインターフェイスを示しています。
Hyper-V VM の起動
ユーザーが Hyper-V VM を起動すると、次の手順が実行されます。
拡張可能スイッチのプロトコルエッジは、オブジェクト識別子 (OID) OID_SWITCH_PORT_CREATE のセット要求を拡張可能スイッチドライバースタックの下へ発行します。 この OID 要求は、VM のポートが作成されていることを基になる拡張可能スイッチ拡張機能に通知します。
拡張可能スイッチのプロトコルエッジは、OID_SWITCH_NIC_CREATE の OID セット要求を拡張可能スイッチのドライバースタックに発行します。 この OID 要求は、以前に作成された VM ポートに対して VM ネットワーク アダプターのネットワーク接続が作成されていることを、基になる拡張可能スイッチ拡張機能に通知します。
ネットワーク スタックが動作していて、VM ネットワーク アダプターにバインドされている場合、拡張可能スイッチのプロトコル エッジが、OID_SWITCH_NIC_CONNECT の OID セット要求を拡張可能スイッチ ドライバー スタックに発行します。 この OID 要求は、基になる拡張可能スイッチ拡張機能に、VM ネットワーク アダプターのネットワーク接続が接続され、動作していることを通知します。 この時点で、拡張機能は、VM ネットワーク アダプターに接続されているポートにパケットを検査、挿入、転送できます。
Hyper-V VM の停止
ユーザーが Hyper-V VM を停止すると、次の手順が実行されます。
拡張可能スイッチのプロトコル エッジは、OID_SWITCH_NIC_DISCONNECT OID セット要求を拡張可能スイッチ ドライバー スタック に下る形で発行します。 この OID 要求は、VM ネットワーク アダプターへの接続が切断されていることを基になる拡張可能スイッチ拡張機能に通知します。
ネットワーク接続を対象とするすべてのパケット トラフィックと OID 要求が完了すると、拡張可能スイッチのプロトコル エッジは、拡張可能スイッチ ドライバー スタック OID_SWITCH_NIC_DELETE の OID セット要求を発行します。 この OID 要求は、VM ネットワーク アダプターへの接続が正常に切断され、削除されたことを、基になる拡張可能スイッチ拡張機能に通知します。
拡張可能スイッチのプロトコル エッジは、OID_SWITCH_PORT_TEARDOWN のOIDセット要求を拡張可能スイッチドライバースタックに発行します。 この OID 要求は、VM ネットワーク アダプター接続に使用されたポートが切断されていることを、基になる拡張可能スイッチ拡張機能に通知します。
拡張可能スイッチのプロトコル エッジは、OID設定要求 OID_SWITCH_PORT_DELETE を拡張可能スイッチ ドライバー スタックに発行します。 この OID 要求は、VM ポートが破損して削除されたことを、基になる拡張可能スイッチ拡張機能に通知します。