QoS ポリシーのしくみ

適用対象: Windows Server 2022、Windows Server 2019、Windows Server 2016

QoS の設定で更新されたユーザーまたはコンピュータの構成グループ ポリシーを起動または取得すると、次の処理が行われます。

  1. このグループ ポリシーは、Active Directory からユーザーまたはコンピューターの構成グループ ポリシー設定を取得します。

  2. このグループ ポリシーは、QoS ポリシーに変更があったことを QoS クライアント側の拡張機能に通知します。

  3. QoS クライアント側拡張機能は、QoS ポリシー イベント通知を QoS 検査モジュールに送信します。

  4. QoS 検査モジュールは、ユーザーまたはコンピューターの QoS ポリシーを取得して格納します。

新しいトランスポート層エンドポイント (TCP 接続または UDP トラフィック) が作成されると、次のプロセスが発生します。

  1. TCP/IP スタックのトランスポート層コンポーネントは、QoS 検査モジュールに通知します。

  2. QoS 検査モジュールは、トランスポート層エンドポイントのパラメーターと格納されている QoS ポリシーを比較します。

  3. 一致するものが見つかった場合、QoS 検査モジュールは Pacer.sys に接続してフロー、DSCP 値を含むデータ構造、一致する QoS ポリシーのトラフィック調整設定を作成します。 トランスポート層エンドポイントのパラメーターに一致する QoS ポリシーが複数ある場合は、最も具体的な QoS ポリシーが使用されます。

  4. Pacer.sys はそのフローを格納し、そのフローに対応するフロー番号を QoS 検査モジュールに返します。

  5. QoS 検査モジュールは、トランスポート層にフロー番号を返します。

  6. トランスポート層には、トランスポート層エンドポイントと一緒にフロー番号が格納されます。

フロー番号がマークされたトランスポート層エンドポイントに対応するパケットが送信されると、次のプロセスが発生します。

  1. トランスポート層は、パケットをフロー番号で内部的にマークします。

  2. ネットワーク層は、パケットのフロー番号に対応する DSCP 値を Pacer.sys に照会します。

  3. Pacer.sys は、DSCP 値をネットワーク層に返します。

  4. ネットワーク層は、[IPv4 TOS] フィールドまたは [IPv6 トラフィック クラス] フィールドを Pacer.sys で指定された DSCP 値に変更し、IPv4 パケットの場合は最終的な IPv4 ヘッダー チェックサムを計算します。

  5. ネットワーク層はパケットをフレーミング層に渡します。

  6. パケットはフロー番号が付けられているため、フレーミング層は NDIS 6.x を介してパケットを Pacer.sys に送信します。

  7. Pacer.sys はパケットのフロー番号を使用して、パケットを調整する必要があるかどうかを判断し、調整の必要がある場合は、送信用にパケットをスケジュールします。

  8. Pacer.sys は、適切なネットワーク アダプターを介して送信するために、パケットを直ちに (トラフィック調整がない場合)、またはスケジュールどおりに (トラフィック調整がある場合) NDIS 6.x に渡します。

ポリシーベースの QoS のこれらのプロセスには、次の利点があります。

  • QoS ポリシーが適用されるかどうかを判断するトラフィックの検査は、パケット単位ではなく、トランスポート層エンドポイントごとに行われます。

  • QoS ポリシーと一致しないトラフィックのパフォーマンスへの影響はありません。

  • DSCP ベースの差別化サービスまたはトラフィック調整を利用するために、アプリケーションを変更する必要はありません。

  • QoS ポリシーは、IPsec で保護されたトラフィックに適用できます。

このガイドの次のトピックについては、「QoS ポリシー アーキテクチャ」を参照してください。

このガイドの最初のトピックについては、「サービスの品質 (QoS) ポリシー」を参照してください。