Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

アプリケーションQoS

AppQoSは、特定のアプリケーションへのアクセスを特定および制御し、ステートフルファイアウォールルールベースの粒度を提供して、アプリケーション層のサービス品質(QoS)を照合して適用することができます。詳細については、次のトピックを参照してください。

アプリケーションのサービス品質(AppQoS)について

アプリケーションサービス 品質 (AppQoS)機能は、Junos OSサービス クラス (CoS)の機能を拡張し、レイヤー7アプリケーションタイプに基づいたDSCP値のマーキング、損失優先度設定によるアプリケーションベースのトラフィックの尊重、レイヤー7アプリケーションタイプに基づくエグレスPICの転送レートの制御などを行います。

セキュリティデバイスでDSCP値をマークするには、4つの方法があります。

  • IDP攻撃アクションベースのDSCPリライター

  • レイヤー7アプリケーションベースのDSCPリライター

  • ALGベースのDSCPリライター

  • ファイアウォールフィルターベースのDSCPリライター

IDPリマーキングは、IDPルールに基づいてイングレスポートで実行されます。アプリケーションのリマーキングは、アプリケーションルールに基づいてegressポートで実行されます。インターフェイスベースのリマーキングは、ファイアウォールフィルタールールに基づいて、egressポートでも発生します。(Junos OS CoS機能の詳細については、 サービスクラスユーザーガイド(セキュリティデバイス) を参照してください。)

これら 3 人のリライターのコメントの決定は異なる場合があります。パケットが 3 つすべてをトリガーした場合、一致がパケット コンテンツのどれだけ深く行われたかによって優先される方法が決まります。IDPリマーキングはアプリケーションリマーキングよりも優先し、アプリケーションリマーキングはインターフェイスベースのリマーキングよりも優先されます。

パケットがAppQoSとALGベースのDSCPリライターの両方をトリガーする場合、AppQoSはALGベースのDSCPリライターよりも優先されます。

AppQoS DSCP書き換え器は、転送クラスと損失優先度の両方を通じてパケットのサービス品質を伝えます。AppQoSレート制限パラメーターは、関連するキューの伝送速度とボリュームを制御します。

アプリケーションQoSのメリット

AppQoSは、アプリケーショントラフィックに優先順位を付けて計測する機能を提供し、ビジネスクリティカルなアプリケーショントラフィックや優先度の高いアプリケーショントラフィックにより良いサービスを提供します。

一意の転送クラスとキューの割り当て

フォワーディングクラスは、次の3つの機能を提供します。

  • 類似した特性を持つパケットをグループ化する

  • 出力キューを割り当てます

  • 既存のJunos OSファイアウォールフィルターベースのリライターとの競合を解決

一意の転送クラス名により、AppQoSリマーキングがインターフェイスベースの 書き換えルールによって上書きされることを防ぎます。ファイアウォールフィルターベースのリライターは、パケットの転送クラスがこのリライター用に特別に定義されたクラスに一致する場合に、パケットのDSCP値をリマークします。パケットの転送クラスがファイアウォールフィルターベースのリライターのクラスのいずれにも一致しない場合、DSCP値はリマークされません。したがって、AppQoS値が上書きされないようにするには、ファイアウォールフィルターベースのリライターに認識されない転送クラス名を使用してください。

各転送クラスは、適切な程度の拡張処理または標準処理を提供するエグレス キューに割り当てられます。1つのキューに多くの転送クラスを割り当てることができます。そのため、デバイスに定義されたキューは、IDP、AppQoS、ファイアウォールフィルターベースの書き換え器で使用できます。送信優先度を区別するのは、キューではなく転送クラス名です。(キューとスケジューラの設定については、 『サービスクラスユーザーガイド(セキュリティデバイス) 』を参照してください。)

アプリケーション認識型DSCPコードポイントと損失優先度の設定

AppQoSでは、定義された転送クラスを選択したアプリケーションに関連付けるルールに基づいて、トラフィックがグループ化されます。ルールの一致基準には、1つ以上のアプリケーションが含まれます。一致するアプリケーションからのトラフィックがルールに遭遇すると、ルールアクションが転送クラスを設定し、DSCP値と損失優先度をアプリケーションに適した値にマークします。

差別化されたサービス(DiffServ)コードポイント(DSCP)値は、6ビットのビットマップ値、またはユーザー定義またはデフォルトのエイリアスによってルールで指定されます。 表1は 、Junos OSのデフォルトのDSCPエイリアス名とビットマップ値のリストを示しています。

表1:標準CoSエイリアスとビット値

エイリアス

ビット値

EF

101110

AF11

001010

AF12

001100

AF13

001110

AF21

010010

AF22

010100

AF23

010110

AF31

011010

AF32

011100

AF33

011110

AF41

100010

AF42

100100

AF43

100110

be

000000

CS1

001000

CS2

010000

CS3

011000

CS4

100000

CS5

101000

NC1/CS6

110000

NC2/CS7

111000

詳細については、「 デフォルトのCoS値とエイリアス」 を参照してください。

キューのスケジューラは、損失優先度を使用して、ドロッププロファイルを特定の損失優先度値に関連付けることで、混雑期間中のパケット破棄を制御します。(キューとスケジューラの設定については、 『サービスクラスユーザーガイド(セキュリティデバイス) 』を参照してください。)

ルールは、トラフィックグループに損失の優先度を適用します。損失優先度が高いということは、混雑期間中にパケットがドロップされる可能性が高いことを意味します。損失の優先度には4つのレベルがあります。

  • high

  • medium-high

  • medium-low

  • low

ルールセットは、 class-of-service application-traffic-control 設定コマンドで定義されます。

レートリミッターとプロファイル

輻輳が発生すると、AppQoSはデバイス上のすべてのエグレスPICにレート制限を実装します。パケットが割り当てられた制限を超える場合、パケットは破棄されます。 レートリミッターは 、異なるクラスのトラフィックに対して、一貫したレベルのスループットとパケットロスの感度を維持します。すべてのエグレスPICは、同じレート制限スキームを採用しています。

PICの総帯域幅は約10Gbpsです。PIC用のレートリミッターハードウェアは、最大2Gbpsをプロビジョニングできます。そのため、レート制限の帯域幅の上限は231 bpsです。

レートリミッタープロファイルは、制限を定義します。 bandwidth-limit 仕様と burst-size-limit 仕様を独自に組み合わせたものです。 bandwidth-limit は、ポートを通過できる最大キロビット/秒を定義します。 burst-size-limit は、1 回のバーストでポートを通過できる最大バイト数を定義します。この burst-size-limit は、各バーストのサイズに限りがあることで、優先度の低いトラフィックの枯渇を軽減します。

AppQoSでは、デバイスあたり最大16のプロファイルと最大1000のレートリミッターを使用できます。複数のレートリミッターが同じプロファイルを使用できます。次の例では、2つのプロファイルを使用して5つのレートリミッターが定義されています。

レートリミッター名

プロフィール

帯域幅制限

バーストサイズ制限

リミッター-1

200

26000

リミッター-2

200

26000

リミッター-3

200

26000

リミッター-4

400

52000

リミッター-5

400

52000

レートリミッターは、 class-of-service application-traffic-control 設定コマンドで定義されます。

レートリミッターの割り当て

レートリミッターは、トラフィックの適用に基づいてルールに適用されます。各セッションには、 client-to-serverserver-to-clientの2つのレートリミッターが適用されます。この用途により、各方向のトラフィックを個別にプロビジョニングできます。

レートリミッターによるトラフィック帯域幅の処理は、トラフィックの方向に関係なくパケットレベルで行われます。例えば、10Gのレートリミッターが1つだけ設定されている場合、イングレスとエグレスのトラフィックが同じラインカードからのものである場合、スループット(イングレスとエグレスの両方の方向を合わせた最大トラフィック)は最大10Gで、20Gにはできません。ただし、デバイスがIOCをサポートし(I/Oカード(IOC))を持ち、イングレストラフィックが1つのIOCを経由し、エグレストラフィックが他のIOCを経由する場合、10Gの単一のレートリミッターを設定した場合、20Gのスループットを期待できます。

同じルールセット内の異なるAppQoSルールは、レートリミッターを共有できます。この場合、これらのルールのアプリケーションは同じ帯域幅を共有します。同じレートリミッターを割り当てることができる1つのルールセット内のルール数に制限はありません。

以下の例は、前のセクションで定義したレートリミッターを割り当てる方法を示しています。例えば、ルールセットは、複数のルールで、一方または両方のフロー方向でレートリミッターを再利用できます。

  • ルールセット-1

    • ルール-1A

      • クライアントからサーバーへのリミッター-1

      • サーバーからクライアントへのリミッター-1

    • ルール-1B

      • クライアントからサーバーへのリミッター-1

      • サーバーからクライアントへのリミッター-1

複数のルールセットで同じプロファイルが必要な場合は、同じ bandwidth-limitburst-size-limitを指定する十分な数のレートリミッターを定義する必要があります。次の例の 2 つのルール セットは、異なるが同等のレート リミッターを割り当てることで、同じプロファイルを実装します。

  • ルールセット-2

    • ルール-2A

      • クライアントからサーバーへのリミッター-2

      • サーバーからクライアントへのリミッター-2

    • ルール-2B

      • クライアントからサーバーへのリミッター-2

      • サーバーからクライアントへのリミッター-4

  • ルールセット-3

    • ルール-3A

      • クライアントからサーバーへのリミッター-3

      • サーバーからクライアントへのリミッター-3

    • ルール-3B

      • クライアントからサーバーへのリミッター-3

      • サーバーからクライアントへのリミッター-5

レートリミッターは、転送クラス、DSCP値、損失優先度の設定と同じ方法で edit class-of-service application-traffic-control rule-sets コマンドを使用して適用されます。

AppQoSとファイアウォールフィルターベースのレート制限が両方ともエグレスPICに実装されている場合は、両方が考慮されます。AppQoSレート制限が最初に考慮されます。その後、ファイアウォールフィルターベースのレート制限が発生します。

注:

PICからパケットがドロップされた場合、デバイスはクライアントまたはサーバーに通知を送信しません。クライアントとサーバーデバイス上の上位アプリケーションが、再送信とエラー処理を担当します。

レートリミッターアクション

セキュリティデバイスのタイプに基づいて、AppQoSルールにさまざまなレートリミッターアクションを設定することができます。

  • 破棄

    • このオプションを選択すると、プロファイル外パケットがドロップされます。

    • これはデフォルトのアクションタイプであり、設定する必要はありません。

    • このオプションは、すべてのセキュリティデバイスでサポートされています

  • 損失優先度高

    • このオプションを選択すると、損失の優先度が最大に上がります。言い換えれば、それは遅延したドロップです。つまり、破棄の決定はエグレス出力キューレベルで行われます。輻輳がなければ、損失優先度が最大であってもトラフィックを許可します。しかし、輻輳が発生した場合は、これらの最大損失優先パケットを最初に破棄します。

    • このオプションは、次のコマンドを使用して、AppQoSルール内で(デフォルトのアクションを上書きするため)設定する必要があります。

    • このオプションは、選択したデバイスでサポートされています。 プラットフォーム固有のAppQoS動作 表を参照してください。

AppQoSセキュリティポリシーの設定

AppQoSルールセットは、既存のポリシーまたは特定のアプリケーションポリシーに実装できます。

例:アプリケーションのサービス品質の設定

この例では、ポリシー内でAppQoSの優先度設定とレート制限を有効にする方法を示しています。

要件

この機能を設定する前に、デバイスの初期化以外の特別な設定を行う必要はありません。

概要

この例では、AppQoS が実装されているため、FTP アプリケーションは指定されたスループットを下回るレベルに制限され、他のアプリケーションは従来の速度と損失優先度レベルで送信されます。

設定

手順

この例をすばやく設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、[edit]階層レベルのCLIにコマンドをコピー&ペーストします。

ステップバイステップの手順

セキュリティデバイス上でAppQoSを設定するには:

  1. AppQoSマーキング専用の転送クラスを1つ以上定義します。この例では、単一の転送クラスmy-app-fcが定義され、キュー4に割り当てられています。

    または

    ジュニパーネットワークスデバイスは、8つのキュー(0から7)をサポートします。デフォルトのキュー 0 から 3 は、デフォルトの転送クラスに割り当てられます。キュー4〜7にはFCへのデフォルトの割り当てはなく、マップされません。キュー 4 から 7 を使用するには、カスタム FC 名を作成し、キューにマップする必要があります。詳細については、「 フォワーディングクラスの概要」を参照してください。

  2. レートリミッターを定義します。この例では、2つのレートリミッターが定義されています。

  3. AppQosルールとアプリケーションの一致基準を定義します。

    この例では、一致が行われると、パケットは転送クラスmy-app-fc、DSCP値はaf22、損失優先度は低でマークされます。両方向に同じレートリミッターを割り当てています。

    単一のルールで、一方または両方のトラフィック方向にレートリミッターを割り当てることができます。また、ルールセット内の他のルールに同じレートリミッターを割り当てることもできます。ただし、同じレートリミッターを異なるルールセットに割り当てることはできません。

  4. 前のルールに一致しないアプリケーションパケットを処理する別のルールを定義します。この例では、残りのすべてのアプリケーションに 2 番目で最後のルールが適用されます。

  5. AppQoS設定をセキュリティポリシーに追加します。

結果

設定モードから、 show security policies and show class-of-service コマンドを入力してポリシー設定を確認します。出力に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。

簡潔にするために、この show コマンド出力には、この例に関連する設定のみ含まれています。システム上のその他の設定はすべて省略記号(...)で置き換えられています。

デバイスの設定が完了したら、設定モードから commit を入力します。

検証

設定が正常に機能していることを確認します。

フローセッション設定の検証

目的

AppQoSが有効になっていることを確認します。

アクション

動作モードから、 show security flow session application-traffic-control extensive コマンドを入力します。

意味

アプリケーショントラフィック制御のエントリーは、現在のセッションのルールセットとルールを識別します。

セッション統計の検証

目的

AppQoSセッション統計が各エグレスノードで蓄積されていることを確認します。

アクション

動作モードから、 show class-of-service application-traffic-control counter コマンドを入力します。

意味

AppQoS 統計は、アプリケーショントラフィック制御サービスが有効になっている場合にのみ維持されます。処理、マーク、および承認されたセッションの数は、セッションが設定されたAppQoS機能に基づいて指示されていることを示しています。レート制限統計では、レート制限された指向性セッション フローの数がカウントされます。

レートリミッター統計の検証

目的

FTP アプリケーションが検出されたときに、帯域幅が予想通りに制限されていることを確認します。

アクション

動作モードから、 show class-of-service application-traffic-control statistics rate-limiter コマンドを入力します。

意味

各PICのリアルタイムアプリケーション帯域幅制限情報がルールセット別に表示されます。このコマンドは、アプリケーションがレート制限され、プロファイルが適用されていることを示します。

ルール統計の検証

目的

ルールがルールの統計と一致していることを確認します。

アクション

動作モードから、 show class-of-service application-traffic-control statistics rule コマンドを入力します。

意味

このコマンドは、各ルールセットに基づくルールの(セッション)ヒット数に関する情報を提供します。

統合ポリシーに対するアプリケーションのサービス品質サポート

統合ポリシーは、既存の5タプルまたは6タプル(ユーザーファイアウォール付きの5タプル)一致条件の一部として動的アプリケーションを使用して、時間の経過に伴うアプリケーションの変化を検出できるようにするセキュリティポリシーです。

アプリケーションサービス品質(AppQoS)は、セキュリティデバイスが統合ポリシーで設定されている場合にサポートされます。複数のセキュリティポリシーがトラフィックに一致する場合、統合ポリシーの競合を管理するためにデフォルトのAppQoSルールセットを設定できます。

AppQoSルールセットは、アプリケーション認識型のサービス品質制御を実装するための統合ポリシーに含まれています。 application-traffic-control オプションの下にルールを含むルールセットを設定し、AppQoSルールセットをアプリケーションサービスとして統合セキュリティポリシーにアタッチできます。トラフィックが指定された動的アプリケーションに一致し、ポリシーアクションが許可されている場合、アプリケーション認識型サービス品質が適用されます。

統合ポリシーにおける以下のAppQoS機能に留意してください。

  • 従来のセキュリティポリシーから統合ポリシーへのアップグレード—統合ポリシーでは、 dynamic-application オプションを noneとして設定すると、セキュリティポリシーの一致中にAppQoSルールセットが適用され、AppQoSは識別されたトラフィックに対応するルールを探します。これは、リリース18.2R1以前のJunos OSリリースのAppQoS機能でも同じ動作です。

  • 統合ポリシーを持つAppQoSルール—アプリケーショントラフィック制御設定では、AppQoSルールセットは一致条件を application-any として設定し、統合ポリシーでは特定の動的アプリケーションを一致条件として使用すると、AppQoS機能は統合ポリシーのルールに従って機能します。

統合ポリシーのデフォルトのアプリケーションサービス品質ルールセットについて

AppQoSデフォルトルールセットを設定して、セキュリティポリシーの競合を管理できます。

初期ポリシールックアップフェーズは、動的アプリケーションを特定する前に行われます。異なるAppQoSルールセットを含むポリシーが複数潜在的なポリシーリストに存在する場合、セキュリティデバイスは、より明示的な一致が発生するまでデフォルトのAppQoSルールセットを適用します。

AppQoSは、 edit security ngfw 階層レベルでデフォルトのAppQoSルールセットとして設定できます。デフォルトのAppQoSルールセットは、 [edit class-of-service application-traffic-control] 階層レベルで設定された既存のAppQoSルールセットの1つから活用されます。

表2は 、統合ポリシーのさまざまなシナリオでのデフォルトのAppQoSルールセットの使用法をまとめたものです。

表2:統合ポリシーでのAppQoSルールセットの使用状況

アプリケーション識別ステータス

AppQoSルールセットの使用状況

アクション

セキュリティポリシーの競合はありません。

[edit class-of-service application-traffic-control]階層で設定されたAppQoSルールは、トラフィックがセキュリティポリシーに一致する場合に適用されます。

AppQoSは、AppQoSルールセットと同様に適用されます。

セキュリティポリシーの競合と競合するポリシーには、個別のAppQoSルールセットがあります。

デフォルトのAppQoSルールセットが設定されていないか、見つかりません。

デフォルトのAppQoSプロファイルが設定されていないため、セッションは無視されます。

その結果、ポリシー競合シナリオで最終的に一致したポリシーにAppQoSルールセットが設定されていても、このルールセットは適用されません。セキュリティポリシーの競合を管理するには、デフォルトのAppQoSルールセットを設定することをお勧めします。

デフォルトのAppQoSルールセットが設定されます。

AppQoSは、デフォルトのAppQoSルールセットと同様に適用されます。

最終用途が特定される

一致するセキュリティポリシーには、デフォルトのAppQoSルールセットと同じAppQoSルールセットがあります。

AppQoSは、デフォルトのAppQoSルールセットと同様に適用されます。

一致するセキュリティポリシーにはAppQoSルールセットがありません。

デフォルトのAppQoSルールセットは適用されず、AppQoSはセッションに適用されません。

一致するセキュリティポリシーには、すでに適用されているデフォルトのAppQoSルールセットとは異なるAppQoSルールセットがあります。

デフォルトのAppQoSルールセットは、デフォルトのAppQoSルールセットのままです。

デフォルトのAppQoSルールセットがトラフィックに適用されていて、最終セキュリティポリシーに異なるAppQoSルールセットがある場合、デフォルトのAppQoSルールセットから最終セキュリティポリシーのAppQoSルールセットへの切り替えはサポートされていません。

さまざまなシナリオで設定されたデフォルトのアプリケーションサービス品質ルール

以下のリンクは、さまざまなシナリオにおけるデフォルトのAppQoSルールセットについて説明した例を示しています。

表3は、一致条件として動的アプリケーションを使用する統合ポリシー用に設定されたさまざまなAppQoSルールセットを示しています。

表3:統合ポリシーにおけるさまざまなAppQoSルールセット

セキュリティポリシー

送信元ゾーン

送信元IPアドレス

宛先ゾーン

宛先IPアドレス

ポート番号

プロトコル

動的アプリケーション

サービス

AppQoSルールセット

ポリシー-P1

S1

50.1.1.1

D1

任意

任意

任意

Facebook

AppQoS

AppQoS-1

ポリシー-P2

S1

50.1.1.1

D1

任意

任意

任意

グーグル

AppQoS

AppQoS-2

ポリシー-P3

S1

50.1.1.1

D1

任意

任意

任意

ユーチューブ

AppQoS

AppQoS-3

この例では、任意のAppQoSルールセット(AppQoS-1、AppQoS-2、AppQoS-3)を [security ngfw] 階層レベルのデフォルトAppQoSルールセットとして設定できます。デフォルトのルールセットがセキュリティポリシー設定の一部である必要はありません。 [edit class-of-service application-traffic-control] 階層レベルのAppQoSルールセットは、デフォルトのAppQoSルールセットとして割り当てることができます。

ポリシーの競合なし—すべてのポリシーに同じAppQoSルールセットがあります

一致するポリシーには、 表4に示すように同じAppQoSルールセットがあります。

表4:一致するポリシーはすべて同じAppQoSルールセットを持つ

セキュリティポリシー

送信元ゾーン

送信元IPアドレス

宛先ゾーン

宛先IPアドレス

ポート番号

プロトコル

動的アプリケーション

サービス

AppQoSルールセット

ポリシー-P1

S1

任意

D1

任意

任意

任意

Facebook

AppQoS

AppQoS-1

ポリシー-P2

S1

任意

D1

任意

任意

任意

グーグル

AppQoS

AppQoS-1

このシナリオでは、ポリシー Policy-P1 と Policy-P2 には同じ AppQoS ルール セットがあります。それがAppQoS-1です。ルールセットAppQoS-1が適用されます。このシナリオでは、ポリシーP3は設定されていません。

ルールセットAppQoS-2をデフォルトのルールセットとして設定している場合は、適用されません。これは、競合するポリシー(Policy-P1およびPolicy-P2)のAppQoSルールセットに競合がないためです。

ポリシーの競合なし—すべてのポリシーに同じAppQoSルールセットがあり、最終ポリシーにはAppQoSルールセットがありません

一致するすべてのポリシーには、 表5 に示すように同じAppQoSルールセットがあり、最終的なポリシーにはAppQoSルールセットがありません。

表5:一致するポリシーはすべて同じAppQoSルールセットを持ち、最終的なポリシーにはAppQoSルールセットがない

セキュリティポリシー

送信元ゾーン

送信元IPアドレス

宛先ゾーン

宛先IPアドレス

ポート番号

プロトコル

動的アプリケーション

サービス

AppQoSルールセット

ポリシー-P1

S1

任意

D1

任意

任意

任意

Facebook

AppQoS

AppQoS-1

ポリシー-P2

S1

任意

D1

任意

任意

任意

グーグル

AppQoS

AppQoS-1

ポリシー-P3

S1

50.1.1.1

D1

任意

任意

任意

ユーチューブ

その他

なし

このシナリオでは、ポリシーP1とポリシーP2の両方に同じAppQoSルールセット、つまりAppQoS-1があります。この場合、ルールセットAppQoS-1が適用されます。

最終ポリシーPolicy-P3に一致すると、AppQoSルールセットがPolicy-P3に対して設定されていないため、AppQoSはセッションを無視します。

最終セキュリティポリシーにAppQoSルールが設定されていない場合、AppQoSはトラフィックに適用されません。事前一致段階で適用されたすべてのAppQoS設定が元の値に戻ります。

ポリシーの競合—最終ポリシーに対してAppQoSルールセットは設定されていません

6に示すように、デフォルトのAppQoSルールセット(このシナリオではAppQoS-1)が潜在的なポリシー一致中に適用されます。最終ポリシーPolicy-P3にはAppQoSルールセットがありません。

表6:一致するポリシーには異なるAppQoSルールセットがあり、最終的なポリシーにはAppQoSルールセットがありません

セキュリティポリシー

送信元ゾーン

送信元IPアドレス

宛先ゾーン

宛先IPアドレス

ポート番号

プロトコル

動的アプリケーション

サービス

AppQoSルールセット

ポリシー-P1

S1

50.1.1.1

D1

任意

任意

任意

Facebook

AppQoS

AppQoS-1

ポリシー-P2

S1

50.1.1.1

D1

任意

任意

任意

グーグル

AppQoS

AppQoS-2

ポリシー-P3

S1

50.1.1.1

D1

任意

任意

任意

ユーチューブ

その他

NA

AppQoS は、最終一致するポリシー Policy-P3 が適用されている場合、セッションを無視します。

最終セキュリティポリシーにAppQoSルールが設定されていない場合、AppQoSはトラフィックに適用されません。この場合、事前一致段階で適用されたすべてのAppQoS設定が元の値に戻ります。

ポリシー競合—デフォルトのAppQoSルールセットと、最終ポリシーの異なるAppQoSルールセット

ルールセットAppQoS-1は、デフォルトのルールセットとして設定され、最終的なアプリケーションがまだ識別されていない場合に適用されます。最終ポリシーのポリシー-P3には、 表7に示すように、異なるAppQoSルールセット(AppQoS-3)があります。

表7:最終ポリシーの異なるAppQoSルールセット

セキュリティポリシー

送信元ゾーン

送信元IPアドレス

宛先ゾーン

宛先IPアドレス

ポート番号

プロトコル

動的アプリケーション

サービス

AppQoSルールセット

ポリシー-P1

S1

50.1.1.1

D1

任意

任意

任意

Facebook

AppQoS

AppQoS-1

ポリシー-P2

S1

50.1.1.1

D1

任意

任意

任意

グーグル

AppQoS

AppQoS-2

ポリシー-P3

S1

50.1.1.1

D1

任意

任意

任意

ユーチューブ

AppQoS

AppQoS-3

最終アプリケーションが識別されると、ポリシーPolicy-P3が照合され、適用されます。この場合、ルールセットAppQoS-3は適用されません。代わりに、ルールセットAppQoS-1がデフォルトルールセットとして適用され、デフォルトのルールセットとして残ります。

統合ポリシーによるAppQoSの制限

一致するトラフィックにセキュリティポリシーが適用されると、AppQoSルールセットが許可されたトラフィックに適用されます。セキュリティポリシーと適用されたAppQoSルールセットの動的アプリケーションが異なる場合、次の例に示すように競合が発生する可能性があります。

この例では、アプリケーションのトラフィック制御ルールがjunos:GOOGLE用に設定されており、動的アプリケーションのセキュリティポリシーの一致条件はjunos:FTPです。このような場合、最終ポリシーが適用されるときに競合が発生する可能性があります。

例:統合ポリシーによるアプリケーションのサービス品質の設定

この例では、統合ポリシー内でアプリケーションサービス品質(AppQoS)を有効にして、トラフィックに優先順位付けとレート制限を提供する方法を示しています。

要件

この例では、以下のハードウェアおよびソフトウェアコンポーネントを使用しています。

  • Junos OSリリース18.2R1以降を実行するSRXシリーズファイアウォール。この設定例は、Junos OSリリース18.2R1向けにテストされています。

この機能を設定する前に、デバイスの初期化以外の特別な設定を行う必要はありません。

概要

この例では、AppQoSルールセットを設定し、FacebookアプリケーションのセキュリティポリシーでアプリケーションサービスとしてAppQoSを呼び出します。

[edit security ngfw]階層レベルでデフォルトのAppQoSルールセットを定義し、セキュリティポリシーの競合があればそれを管理します。

設定

手順

ステップバイステップの手順

統合ポリシーでAppQoSを設定するには:

  1. AppQoSルールセットを定義します。

  2. デフォルトのAppQoSルールセットを設定します。アプリケーションのトラフィック制御の下で、デフォルトのAppQoSルールセットとして作成されたルールセット RS1 を選択します。

  3. サービスクラスルールセットを統合ポリシーに関連付けます。

結果

設定モードから、 show security policies コマンドを入力してポリシー設定を確認します。出力に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。

簡潔にするために、この show コマンド出力には、この例に関連する設定のみ含まれています。システム上のその他の設定はすべて省略記号(...)で置き換えられています。

デバイスの設定が完了したら、設定モードから commit を入力します。

検証

設定が正常に機能していることを確認します。

フローセッション設定の検証

目的

AppQoSセッションの統計情報を表示します。

アクション

動作モードから、 show class-of-service application-traffic-control counter コマンドを入力します。

出力例
コマンド名
意味

出力には、処理、マーク、尊重されたセッションの数が表示されます。レート制限統計では、レート制限された指向性セッション フローの数がカウントされます。

ルール統計の検証

目的

AppQoSルールの統計情報を表示します。

アクション

動作モードから、 show class-of-service application-traffic-control statistics rule コマンドを入力します。

意味

出力には、各AppQoSルールセットの下でルールに一致したセッション数に関する情報が表示されます。

HTTP2:AppQoS DSCPサポート

HTTP/2アプリケーションサービス品質(AppQoS)差別化されたサービスコードポイント(DSCP)のサポートは、最初のストリーム分類を活用することで、HTTP/2セッション全体でのサービス品質(QoS)ルールの適用を強化します。この機能強化により、HTTP/2セッションにQoSルールを適用できるようになり、トラフィックがアプリケーションタイプに応じて分類され、優先順位が付けられるようになります。この機能により、HTTP/2トラフィックに詳細なAppQoSポリシーを適用できます。これは、異なるアプリケーションに分類された複数のストリームを処理する場合に不可欠です。最初のストリームセッションの分類に基づいてAppQoSルールを適用することで、不特定のルールが原因でフォールバックロジックが呼び出された場合でも、一貫したQoS管理を確保できます。この機能は、既存のHTTP/2トラフィック管理フレームワークに統合され、従来のポリシーケースと統合ポリシーケース全体のシナリオに対応し、追加のCLI設定なしで暗号化されたセッションで効果的なQoSの適用を維持できます。

概要

特定のHTTP/2ルールがない場合、HTTP/2トラフィックはDSCPマーキング用のHTTP AppQoSルールを継承するようになり、一貫したQoS動作が保証されます。

HTTP は、複数のアプリ(facebook、twitter など)が個別のセッションとして表示され、セッションごとに AppQoS が適用されて個別に分類される包括的なアプリケーションです。以前は、HTTP/2セッションはhttp2としてのみ分類され、子ストリームアプリケーションの分類はありませんでした

つまり、HTTP/2セッションでは、親セッションのAppQoSルールのみを適用できます。しかし、HTTP/2は複数のストリームを使用し、それぞれが異なるアプリケーションとして分類されます。AppQoSルールの一致では、子セッションの分類は無視されました。

新しい更新では、最初のストリームセッションのアプリケーション分類を使用して、AppQoSルールを照合し、HTTP/2親セッションに適用します。最初のストリームの最終分類アプリケーションにAppQoSルールがない場合、セッションは親HTTP/2 AppQoSルールにフォールバックします。

例:

複数のストリームを含むHTTP/2セッションについて考えてみましょう。

  • 最初のストリームは twitter として識別されます。
  • twitterのAppQoSルールが適用されます。
  • HTTP/2親セッションのすべてのストリームは、ルールを継承します。

ここでは、パケットは汎用の http2 キューには移動しなくなります。それらは完全にFirst Streamのアプリケーションキュー(Twitter)に移動します。

フォールバックロジック

HTTP/2トラフィックは、HTTPトラフィックの一部として扱われます。HTTP/2ルールがない場合、トラフィックはDSCPマーキング用のHTTP AppQoSルールにフォールバックします。このフォールバックを実現するために、次の例に示すように分類パスが調整されます。

親セッション

  • 以前の動作: ip.tcp.ssl.http2
  • 新しい動作: ip.tcp.ssl.http.http2

子セッション

  • 以前の動作: ip.tcp.ssl.http.facebook
  • 新しい動作: ip.tcp.ssl.http.http2.facebook

分類ロジック

AppQoS for HTTP/2 では、トップダウンのルール ルックアップを使用します。最も具体的なアプリから始めて、HTTP2、HTTP、SSL、application-any を経てフォールバックします。最初のストリームセッションの分類が親セッションルールの照合に使用され、正確なQoS割り当てとロギングが保証されます。

ルールセットとアプリケーションマッピング
  • 各セキュリティポリシーは、さまざまなアプリケーション(http、http2、facebookなど)に対して特定のAppQoSルールを持つルールセットを使用します。
  • 各ルールは、転送クラス(ベストエフォート、保証フォワーディング、優先フォワーディング、ネットワーク制御)とCOSキューを割り当てます。
分類パス
  • AppQoSルールのルックアップは、最も具体的なアプリケーション(ネストされたアプリ)から開始し、階層を上に移動します。セッション(親/子)は、階層パス(例: ip.tcp.ssl.http.http2.facebook)を使用して分類されます。

    この例では、検索シーケンスは次のとおりです。

    1. ネストされたアプリ(facebook-chat)がルールセットで構成されていない場合、 http2 ルールが適用されます。
    2. http2が設定されていない場合は、httpルールが適用されます。
    3. httpが設定されていない場合は、sslルールが適用されます。
    4. 分類されたアプリに対してAppQoSルールが存在しない場合、 application-any ルールが適用されます。
    5. application-anyが設定されていない場合、セッションは以前に適用されたDSCPルールで続行されます。

    この分類により、HTTP/2セッションが無視されることはなく、常にQoS処理を受けることができます。

例:AppQoSプロファイルには、特定のアプリケーション向けのルールと「任意」のキャッチオールルールが含まれています。例えば、プロファイルにはHTTP、Facebook、Yahoo、Any のルールセットが含まれており、最初のストリームは次のように分類されます: http.http2.twitter

ケースA — 「任意」のルールが設定済み

  • 明示的なTwitterルールは存在しません。
  • Anyルールが存在するため、AppQoSはAnyを選択します。
  • 結果: 任意ルールが適用されます。

ケースB — 「Any」ルールが設定されていません

  • 明示的なTwitterルールは存在しません。
  • 使用可能なルールはありません。
  • この場合、システムは、特異度の降順で次に最適な一致にフォールバックします。
    • HTTP2ルール(存在する場合)
    • http2ルールがない場合→httpにフォールバックします
    • デフォルトのキューを使用する→httpルールがない場合
  • 結果: 上記のフォールバック順序に基づいて、最も近い一致ルールが選択されます。
親セッションと子セッションの処理
  • 親セッション:通常、上位レベル(例:http2)に分類されます。
  • 子セッション: より具体的なネストされたアプリ(例:facebook、twitter)で分類されます。

これで、最初のストリームセッションの分類が、親セッションのルールマッチングで考慮されます。

フォワーディングとロギング
  • 各セッションのトラフィックには、一致したルールに基づいて転送クラスとキューが割り当てられます。
  • Syslogエントリーは、セッションとストリーム終了の両方の分類とルールの一致を反映します

制限事項

  • HTTP/2の場合、最初のストリームのアプリケーション分類のみが、親セッションのAppQoSルールマッチングに使用されます。
  • 長時間のセッションでは、ミッドストリームのアプリスイッチ(HTTP/1またはHTTP/2)によってCoSキューが変更され、パケットの並べ替えが発生することがあります。エンドデバイスでのTCP再アセンブリは、シーケンス番号を使用してこれを処理します。
  • AppQoSのHTTP/2は、シャーシクラスターおよびマルチノード高可用性のシナリオではサポートされていません。
  • SSLフォワードプロキシが設定されている場合、HTTP/1.1とHTTP/2の両方のトラフィック設定で、AppQoSレートリミッターはHTTPSトラフィックに対して正しく機能しません。

HTTP2暗号化トラフィック

暗号化されたトラフィックの場合、HTTP/2 モジュールは無効になっているため、HTTP/2 子セッションは作成されません。AppQoSは、親セッションにのみ適用されます。

プラットフォーム固有のAppQoS動作

AppQoS機能エクスプローラを使用して、特定の機能のプラットフォームおよびリリースサポートを確認します。

お使いのプラットフォームに固有の動作を確認するには、以下の表を使用して下さい:

プラットフォーム

違い

SRXシリーズ

SRX5400、SRX5600、SRX5800では、転送クラス名とキュー割り当てを定義するために、以下の設定ステートメントを使用します。

[edit class-of-service] 
user@host# set forwarding-classes class forwarding-class-name queue-num queue-number
SRXシリーズ

SRX300、SRX320、SRX340、SRX345、SRX380、SRX400、SRX440、SRX550M、SRX1500、SRX4100、SRX4200、SRX4600、およびvSRXでは、転送クラス名とキュー割り当てを定義するために以下の設定ステートメントを使用します。

[edit class-of-service] 
user@host# set forwarding-classes queue queue-number forwarding-class-name
SRXシリーズ SRX300、SRX320、SRX340、SRX345、SRX400、SRX440は、AppQoSルールの loss-priority-highオプションを使用して、デフォルトのアクションを上書きします。
[edit] 
user@host# set class-of-service application-traffic-control rule-sets rset-01 rule r1 then rate-limit loss-priority-high
SRXシリーズ

SRX5400、SRX5600、SRX5800は、デバイスあたり最大1000のレートリミッターをサポートします。ただし、使用できるプロファイルは16個のみで、それぞれが帯域幅制限パラメーターとバーストサイズ制限パラメーターの一意の組み合わせによって定義されます。

変更履歴テーブル

サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。

リリース
説明
18.2R1
統合ポリシーでサポートが利用可能です。