転送拡張機能

転送拡張機能は、フィルター拡張機能と同じ機能を持ちますが、拡張可能スイッチのコア パケット転送およびフィルター処理タスクを実行する役割を担います。 これらのタスクには、次のものが含まれます。

  • パケット宛先ポートを決定する。

    注: パケットが NVGRE パケットの場合、拡張可能スイッチの Hyper-V ネットワーク仮想化 (HNV) コンポーネントが宛先ポートを決定し、パケットを転送します。 詳細については、「ハイブリッド転送」を参照してください。

  • セキュリティ、プロファイル、仮想 LAN(VLAN)ポリシーなどの、標準ポート ポリシーを適用して、パケットをフィルタリングします。

    注: 拡張可能スイッチは、組み込みポリシーに基づいてフィルタリングを実行します。 これらのポリシーには、アクセス制御リスト (ACL) とサービス品質 (QoS) が含まれます。

注: 拡張可能スイッチに転送拡張機能がインストールされておらず、有効になっていない場合、スイッチはパケットの宛先ポートを決定し、標準ポート設定に基づいてパケットをフィルタリングします。

転送拡張機能は、エグレスおよびイングレス データ パスの拡張可能スイッチ拡張機能ミニポート ドライバーのすぐ上に階層化されます。 これらのデータ パスの詳細については、「 Hyper-V 拡張可能スイッチのデータ パス」を参照してください。

転送拡張機能は、イングレス データ パスで取得されたパケットに対して、次の操作を実行することができます。

  • パケットトラフィックをフィルタリングし、拡張可能スイッチを介したパケット配信にカスタム、および標準のポート、またはスイッチポリシーを適用できます。 転送拡張機能は、イングレス データ パス内のパケットをフィルター処理するときに、送信元ポートと、拡張機能がパケットに割り当てる宛先ポートに基づいて、フィルター ルールを適用します。

    カスタム ポリシーは、独立系ソフトウェア ベンダー (ISV) によって定義されます。 標準ポリシーは、拡張可能スイッチ インターフェイスによって定義されます。 これらの種類のポリシーのプロパティ設定は、Hyper-V WMI 管理レイヤーによって管理されます。 転送拡張機能は、OID_SWITCH_PORT_PROPERTY_UPDATEOID_SWITCH_PROPERTY_UPDATE のオブジェクト識別子 (OID) 要求を通じて、これらのプロパティ設定で構成されます。

    ポート ポリシーの詳細については、「Hyper-V 拡張可能スイッチ ポリシーの管理」を参照してください。

  • 新しいパケット、変更されたパケット、複製されたパケットを入力データパスに挿入できます。

    詳細については、「Hyper-V 拡張可能スイッチの送受信操作」を参照してください。

  • 1 つ以上の拡張可能なスイッチ宛先ポートへのパケットの配信を決定できます。 これにより、転送拡張機能は、拡張可能なスイッチ ポートにパケットを配信するための宛先ポートを追加できます。

    宛先ポートを追加する方法の詳細については、「パケットへの拡張可能スイッチ宛先ポート データの追加を参照してください。」

転送拡張機能は、イングレス データ パスで取得されたパケットに対して、次の操作を実行できます。

  • パケットトラフィックをフィルタリングし、拡張可能スイッチを介したパケット配信にカスタム、および標準のポート、またはスイッチポリシーを適用できます。 転送拡張機能は、エグレス データ パス内のパケットをフィルター処理するときに、パケットの送信元または宛先ポートに基づいてフィルター処理規則を適用できます。

  • これにより、1 つ以上の拡張可能なスイッチ宛先ポートへのパケットの配信を除外できます。 これにより、転送拡張機能は、拡張可能なスイッチ ポートへのパケットの配信を除外できます。

    拡張可能スイッチ ポートへのパケット配信を除外する方法の詳細は、「拡張可能スイッチ宛先ポートへのパケット配信の除外」を参照してください。

    注: 転送拡張機能は、出力データ パスでパケットを処理する場合にのみ、パケット配信を除外できます。 拡張機能は、イングレス データ パス上のパケットの宛先ポートのみを、追加または変更できます。

  • パケット データを変更できます。 転送拡張機能がパケット内のデータを変更する必要がある場合は、ポート宛先を割り当てる前に、まずパケットを複製する必要があります。 パケットが変更され、ポートの宛先が割り当てられた後、拡張機能は変更されたパケットを、出力データ パスに挿入する必要があります。

    詳細については、「パケット トラフィックの複製」を参照してください。

OID 要求と NDIS 状態の表示の検査のみではなく、転送拡張機能では次の操作を実行できます。

  • これは、OID または NDIS の状態表示を拡張可能なスイッチ制御パスに挿入できます。 これにより、転送拡張機能は、OID と状態表示を作成または変更して、基になる物理ネットワーク アダプターとの間で転送できます。

    たとえば、拡張可能スイッチの外部ネットワーク アダプターを、NDIS マルチプレクサー (MUX) 中間ドライバーの仮想ミニポート エッジにバインドできます。 MUX 中間ドライバー自体を、ホスト上の 1 つ以上の物理ネットワークのチームにバインドできます。 この構成は拡張可能スイッチ チームと呼ばれています。

    この構成では、拡張可能スイッチの拡張機能は、拡張可能なスイッチ チーム内のすべてのネットワーク アダプターに公開されます。 これにより、拡張可能スイッチ ドライバー スタック内の転送拡張機能で、チーム内の個々のネットワーク アダプターの構成と使用を管理できます。 たとえば、拡張機能では、送信パケットを個々のアダプターに転送することで、チーム経由の負荷分散フェールオーバー (LBFO) ソリューションのサポートを提供できます。 このような拡張機能を、 チーミング プロバイダーと呼びます。

    チーミング プロバイダーとして機能することで、転送拡張機能は、OID 要求を作成または変更し、チーム内のアダプタのハードウェア機能を有効または無効にできます。 チーミング プロバイダーは、チーム内の 1 つ以上のアダプターへの変更に基づいて NDIS 状態表示を作成または変更することもできます。

    チーミング プロバイダーの詳細については、「チーミング プロバイダー拡張機能」を参照してください。

  • 適用可能な拡張可能スイッチ OID のSTATUS_DATA_NOT_ACCEPTED を返すことで、拡張可能なスイッチ ポートまたはネットワーク アダプター接続の作成を拒否できます。 たとえば、転送拡張機能は、ドライバーが OID_SWITCH_PORT_CREATE の OID セット要求を受信したときに、STATUS_DATA_NOT_ACCEPTED を返すことで、ポート作成要求を拒否できます。

    注: 転送拡張機能では、ポートやネットワーク アダプター接続の作成や削除は行われません。 拡張可能スイッチのプロトコル エッジは、OID を発行して、ポートまたはネットワーク アダプター接続の作成または削除について、基になる拡張機能に通知します。 詳細については、「Hyper-V拡張可能スイッチのポートとネットワーク アダプターの状態」を参照してください。

  • 拡張可能スイッチまたはポート ポリシーの追加または更新は、該当する拡張可能スイッチ OID のSTATUS_DATA_NOT_ACCEPTED を返すことで拒否できます。 たとえば、転送拡張機能は、ドライバーが OID_SWITCH_PORT_PROPERTY_ADD の OID セット要求を受信したときに STATUS_DATA_NOT_ACCEPTED を返すことで、ポート ポリシーの追加を拒否できます。

    拡張可能スイッチ ポリシーの詳細については、「Hyper-V 拡張可能スイッチ ポリシーの管理」を参照してください。

転送内線番号には、次の要件があります。

  • 転送拡張機能を、拡張可能なスイッチ インターフェイスをサポートする NDIS フィルター ドライバーとして開発する必要があります。

    フィルター ドライバーの詳細は、「NDIS フィルター ドライバー」を参照してください。

    転送拡張機能を記述する方法の詳細については、「Hyper-V 拡張可能スイッチ拡張機能の作成」を参照してください。

  • 転送拡張機能の INF ファイルでは、変更フィルター ドライバーとして拡張機能をインストールする必要があります。 NDIS 監視フィルター ドライバーは、拡張可能なスイッチ ドライバー スタックにインストールできません。

    フィルター ドライバーの変更の詳細については、「フィルター ドライバーの種類」を参照してください。

    フィルター ドライバーを変更するための INF 要件の詳細については、「フィルター ドライバーを変更するための INF ファイルの構成」を参照してください。

  • 拡張子の INF ファイルの FilterClass 値を、ms_switch_forward に設定する必要があります。 詳細については、「Hyper-V 拡張可能スイッチ拡張機能の INF 要件」を参照してください。

  • 拡張可能スイッチのインスタンスごとに、ドライバー スタックで有効にできる転送拡張機能は 1 つのみです。

拡張可能なスイッチ チームの詳細については、「物理ネットワーク アダプター構成の種類」を参照してください。

拡張機能の転送の詳細は、次のページを参照してください。

Hyper-V 拡張可能スイッチ ポートへのパケットの転送

物理ネットワーク アダプターへのパケットの転送

Hyper-V 拡張可能スイッチの概要