マルチフィールド分類子の例:マルチフィールド分類の設定

マルチフィールド分類の概要

転送クラスとPLPレベル

Junos OSサービスクラス  (CoS)機能を設定して、各パケットを転送クラス、PLP(パケット損失の優先度)レベル、またはその両方に関連付けることで、受信トラフィックを分類することができます。

  • 関連付けられた転送クラスに基づいて、各パケットは出力キューに割り当てられ、ルーターは設定した関連するスケジューリングに従って出力キューにサービスを提供します。

  • 関連するPLPに基づいて、輻輳が発生した場合に各パケットがドロップされる可能性は低くなります。CoSランダム早期検出(RED)プロセスでは、ドロップ確率設定、出力キューのフルネスの割合、およびパケットPLPを使用して、必要に応じてパケットをドロップし、出力ステージでの混雑を制御します。

マルチフィールド分類とBA分類

Junos OSは、BA(動作集約)分類とマルチフィールド分類の2つの一般的なタイプのパケット分類をサポートしています。

  • BA分類、またはCoS値トラフィック分類とは、CoS設定を使用して、IPパケットヘッダーの CoS値 に基づいてパケットの転送クラスまたはPLPを設定するパケット分類の方法を指します。BA 分類のために検査される CoS 値は、DSCP(差別化されたサービス コード ポイント)値、DSCP IPv6 値、IP 優先度値、MPLS EXP ビット、IEEE 802.1p 値です。デフォルトの分類子は、IP優先度値に基づいています。

  • マルチフィールド分類パケット分類とは、標準的なステートレス ファイアウォール フィルター構成を使用して、DSCP 値(IPv4 のみ)、IP 優先度値、MPLS EXP ビット、 およびIEEE 802.1pビット。マルチフィールド分類は、一般的にIPアドレスフィールド、IPプロトコルタイプフィールド、またはUDPまたはTCP擬似ヘッダーフィールドのポート番号で一致します。CoS値以外のパケット情報のみに基づいてパケットを分類する必要がある場合、BA分類の代わりにマルチフィールド分類が使用されます。

    マルチフィールド分類では、ファイアウォールフィルター条件は、条件のthen句でforwarding-class class-nameまたはloss-priority (high | medium-high | medium-low | low)非終了アクションを使用して、一致するパケットに対するパケット分類アクションを指定できます。

注:

パケットのBA分類は、ステートレスファイアウォールフィルターのアクション forwarding-class と loss-priorityによって上書きできます。

注:

QFX5kのマルチフィールド分類子によるトラフィックの誤分類:

  • BUM トラフィックが MF 分類子を介してユニキャスト キューを取得することを強制された場合、パケットは MCQ9 に分類されます。Junosリリース21.4R3、22.1R3、およびJunosリリースバージョン22.2以降、これらのパケットはMCQ8に分類されます。

  • ユニキャストトラフィックがMF分類子を介してマルチキャストキューを取得することを強制された場合、パケットはMCQ9に分類され、リリース19.1R3以降はベストエフォートキューに分類されます。

ポリサーと組み合わせて使用されるマルチフィールド分類

レート制限と組み合わせてマルチフィールド分類を設定するために、ファイアウォールフィルター条件は、シングルレート2カラーポリサーを参照する policer 非終了アクションを使用して、パケットを照合するためのパケット分類アクションを指定できます。

マルチフィールド分類がポリサーを介して分類を実行するように設定されている場合、トラフィックフロー内のフィルターに一致したパケットは、ポリサーが指定するトラフィック制限にレート制限されます。フィルターに一致したパケットの適合フロー内のパケットは、暗黙的に low PLPに設定されます。ポリサーの種類と不適合トラフィックを処理するためのポリサーの設定方法に応じて、不適合トラフィックフロー内のパケットを破棄するか、パケットを指定された転送クラスに設定するか、指定されたPLPレベルに設定するか、またはその両方を行うことができます。

注:

マルチフィールド分類を実行するファイアウォールフィルターとポリサーを同じ 論理インターフェイス に同じトラフィック方向に適用する前に、ポリサーとファイアウォールフィルターの操作順序を考慮してください。

例として、次のシナリオを考えてみましょう。

  • パケットの既存の転送クラスまたはPLPに基づいて、マルチフィールド分類(転送クラス、PLP、またはその両方を設定することで一致したパケットに作用)を実行するファイアウォールフィルターを設定します。ファイアウォールフィルターは、論理インターフェイスの入力に適用します。

  • また、赤色のトラフィック フローに作用する単一レートの 2 色ポリサーを設定するには、これらのパケットを破棄するのではなく、再マーキング(転送クラス、PLP、またはその両方を設定)します。ファイアウォールフィルターを適用するのと同じ論理インターフェイスの入力に、インターフェイスポリサーとしてポリサーとして適用します。

ポリサーとファイアウォールの操作の順序により、入力ポリサーは入力ファイアウォールフィルターよりも前に実行されます。つまり、ファイアウォールフィルターで指定されたマルチフィールド分類は、ポリシングアクションによってすでに一度再マークされた入力パケットに対して実行されます。その結果、ファイアウォールフィルターの条件で指定された条件に一致する入力パケットは、その条件で指定された forwarding-class または loss-priority 非終了アクションに従って、2回目の再マーキングの対象となります。

マルチフィールド分類の要件と制限

サポート対象プラットフォーム

loss-priorityファイアウォールフィルターアクションは、以下のルーティングプラットフォームでのみサポートされます。

  • EXシリーズスイッチ

  • 拡張CFEB(CFEB-E)を搭載したM7iおよびM10iルーター

  • M120およびM320ルーター

  • MX シリーズルーター

  • 拡張IIFPC(フレキシブルPICコンセントレータ)搭載のT Seriesルーター

  • PTXシリーズルーター

CoS トリコロール マーキング要件

loss-priorityファイアウォールフィルターアクションには、RFC 2698で定義されているように、プラットフォーム固有の要件がCoSトライコロールマーキング機能に依存しています。

  • M320ルーターでは、CoSトライコロールマーキング機能を有効にしない限り、 loss-priority ファイアウォールフィルターアクションを含む設定をコミットすることはできません。

  • loss-priorityファイアウォールフィルターアクションをサポートするすべてのルーティングプラットフォームで、CoSトライコロールマーキング機能を有効にしない限り、loss-priorityファイアウォールフィルターアクションをmedium-lowまたはmedium-highに設定することはできません。

CoSトライコロールマーキング機能を有効にするには、[edit class-of-service]階層レベルでtri-colorステートメントを含めます。

制限事項

同じファイアウォールフィルター条件に対して、 loss-priority と非終了アクション three-color-policer を設定することはできません。これら 2 つの非終了アクションは相互に排他的です。

注:

PTXシリーズルーターでは、 policer アクションを別のルールで設定する必要があり、 forwarding-classおよび loss-priority アクションを設定するルールと組み合わせないでください。 PTXシリーズパケットトランスポートルーターとT Seriesマトリックスルーターのファイアウォールとポリシングの違いをご覧ください。

M シリーズ ルーターのマルチフィールド分類の制限

問題:入力フィルター分類での出力フィルターマッチング

M Seriesルーター(M120ルーターを除く)では、同じIPv4 論理インターフェイスに適用される入力フィルターで設定されたingress分類に基づいて、出力フィルターが一致するパケットを分類することはできません。

例えば、以下の設定では、ingressというフィルターがすべての受信IPv4パケットをexpedited-forwardingクラスに割り当てます。egressというフィルターは、ingressフィルターでexpedited-forwardingクラスに割り当てられたすべてのパケットをカウントします。この設定は、ほとんどの M シリーズ ルーターでは機能しません。M120ルーター、MX シリーズルーター、T シリーズルーターを含む、他のすべてのルーティングプラットフォームで動作します。

回避策:イングレスフィルターですべてのアクションを設定する

回避策として、ingressフィルターですべてのアクションを設定できます。

例:マルチフィールド分類の設定

この例では、ファイアウォールフィルターアクションと2つのファイアウォールフィルターポリサーを使用して、IPv4トラフィックのマルチフィールド分類を設定する方法を示しています。

要件

開始する前に、環境でこの例に示されている機能がサポートされていることを確認してください。

  1. loss-priorityファイアウォールフィルターアクションは、ルーターでサポートされ、4つの値すべてに設定可能である必要があります。

    1. loss-priorityファイアウォールフィルターアクションを設定できるようにするには、以下のルーティングプラットフォームのいずれか上の論理インターフェイスge-1/2/0.0でこの例を設定します。

      • MX シリーズルーター

      • M120またはM320ルーター

      • 拡張CFEB搭載のM7iまたはM10iルーター(CFEB-E)

      • 拡張IIFPC(フレキシブルPICコンセントレータ)搭載のT シリーズルーター

    2. loss-priorityファイアウォールフィルターアクションをmedium-lowまたはmedium-highに設定できるようにするには、CoSトライコロールマーキング機能が有効になっていることを確認してください。CoSトライコロールマーキング機能を有効にするには、[edit class-of-service]階層レベルでtri-colorステートメントを含めます。

  2. expedited-forwardingおよびassured-forwarding転送クラスは、基盤となる物理インターフェイスge-1/2/0でスケジュールする必要があります。

    1. 以下の転送クラスが出力キューに割り当てられていることを確認します。

      • expedited-forwarding

      • assured-forwarding

      転送クラスの割り当ては、 [edit class-of-service forwarding-classes queue queue-number] 階層レベルで設定されます。

      注:

      同じ転送クラスを 2 つの異なるキューに割り当てる設定をコミットすることはできません。

    2. 転送クラスが割り当てられている出力キューがスケジューラに関連付けられていることを確認します。スケジューラは、キューに割り当てられるインターフェイス帯域幅の量、パケット保存に割り当てられるメモリバッファのサイズ、キューの優先度、およびキューに関連付けられたランダム早期検出(RED)ドロッププロファイルを定義します。

      • 出力キュースケジューラは、 [edit class-of-service schedulers] 階層レベルで設定します。

      • 出力キューのスケジューラを転送クラスと関連付けるには、 [edit class-of-service scheduler-maps map-name] 階層レベルで設定するスケジューラマップを使用します。

    3. 出力キューのスケジューリングが物理インターフェイス ge-1/2/0に適用されていることを確認します。

      スケジューラマップは、 [edit class-of-service interfaces ge-1/2/0 scheduler-map map-name] 階層レベルで物理インターフェイスに適用します。

概要

この例では、ステートレスファイアウォールフィルターアクションと、ファイアウォールフィルターから参照される2つのファイアウォールフィルターポリサーを使用して、論理インターフェイスでの入力IPv4トラフィックにマルチフィールド分類を適用します。送信元アドレスフィールドに基づいて、パケットは low 損失優先度に設定されるか、ポリシングされます。どちらのポリサーも、不適合トラフィックを破棄しません。不適合フローのパケットは、特定の転送クラス(expedited-forwarding または assured-forwarding)のマークが付けられ、特定の損失優先度に設定されてから送信されます。

注:

シングルレートの2カラーポリサーは、 low 損失の優先度を暗黙的に設定した後、常に適合したトラフィックフローでパケットを送信します。

トポロジー

この例では、論理インターフェイス ge-1/2/0.0上のIPv4トラフィックにマルチフィールド分類を適用します。分類ルールは、IPv4ステートレスファイアウォールフィルター mfc-filter と、2つのシングルレート2カラーポリサー( ef-policer と af-policer)で指定されます。

IPv4標準ステートレスファイアウォールフィルター mfc-filter では、3つのフィルター条件が定義されています。

  • isp1-customers—最初のフィルター条件は、送信元アドレスが10.1.1.0/24または10.1.2.0/24のパケットに一致します。一致したパケットは expedited-forwarding 転送クラスに割り当てられ、 low 損失優先度に設定されます。

  • isp2-customers—2 番目のフィルター条件は、送信元アドレスが 10.1.3.0/24 または 10.1.4.0/24 のパケットに一致します。一致したパケットは、バーストサイズ制限50KB で、帯域幅制限300Kbps にトラフィックをレート制限するポリサーである ef-policerに渡されます。このポリサーは、不適合フロー内のパケットが expedited-forwarding 転送クラスとしてマークされ、 high 損失優先度に設定されることを指定します。

  • other-customers—最後の3番目でフィルター条件は、他のすべてのパケットを af-policerに渡します。ポリサーは、トラフィックを帯域幅制限300Kbps 、バーストサイズ制限50KB ( ef-policerで定義されているトラフィック制限と同じ)にレート制限します。このポリサーは、不適合フロー内のパケットが assured-forwarding 転送クラスとしてマークされ、 medium-high 損失優先度に設定されることを指定します。

設定

次の例では、設定階層のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、 設定モードでのCLIエディターの使用を参照してください。

この例を設定するには、以下のタスクを実行します。

CLIクイックコンフィグレーション

この例を迅速に設定するには、以下の設定コマンドをテキストファイルにコピーし、改行を削除してから、 [edit] 階層レベルのCLIにコマンドを貼り付けます。

優先転送および保証転送トラフィックをレート制限するようにポリサーを構成する

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

優先転送および保証転送トラフィックをレート制限するようにポリサーを設定するには:

  1. 優先転送トラフィックのトラフィック制限を定義します。

  2. 確実な転送トラフィック用のポリサーを設定します。

結果

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

ポリシングも適用するマルチフィールド分類フィルターの設定

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

ポリシングを追加適用するマルチフィールド分類フィルターを設定するには:

  1. IPv4トラフィックのファイアウォールフィルター条件の設定を有効にします。

  2. 送信元アドレスで一致する最初の条件を設定し、一致したパケットを分類します。

  3. 異なる送信元アドレスで一致するように 2 番目の条件を設定し、一致したパケットを規制します。

  4. 3 番目の条件を設定して、他のすべてのパケットを異なるトラフィック制限とアクションのセットに規制します。

結果

show firewall設定モードコマンドを入力して、フィルターの設定を確認します。コマンド出力に意図した設定が表示されない場合は、この手順の指示を繰り返して設定を修正します。

マルチフィールド分類フィルタリングとポリシングを論理インターフェイスに適用する

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

マルチフィールド分類、フィルタリング、およびポリシングを論理インターフェイスに適用するには:

  1. 論理インターフェイスでIPv4の設定を有効にします。

  2. 論理インターフェイスのIPアドレスを設定します。

  3. 論理インターフェイス入力にファイアウォールフィルターを適用します。

    注:

    ポリサーはフィルターよりも先に実行されるため、入力ポリサーが論理インターフェイスにも設定されている場合、インターフェイスに関連付けられたマルチフィールド分類子の転送クラスとPLPを使用できません。

結果

show interfaces configuration mode コマンドを入力して、インターフェイスの設定を確認します。コマンド出力に意図した設定が表示されない場合は、この手順の指示を繰り返して設定を修正します。

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

検証

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

論理インターフェイスでポリサーによって処理されたパケット数の表示

目的

論理インターフェイスを通過するトラフィックフローと、論理インターフェイスでパケットが受信されたときにポリサーが評価されることを確認します。

アクション

論理インターフェイスに適用したフィルターに対して show firewall 動作モードコマンドを使用します。

コマンド出力には、ファイアウォールフィルター rate-limit-inによって適用されるポリサーと、フィルター条件に一致したパケット数が一覧表示されます。

注:

パケットカウントには、ポリサーによってポリシングされたすべてのパケットではなく、仕様外(規格外)パケット数が含まれます。

ポリサー名は、ポリサーがアクションとして参照されるファイアウォールフィルター条件の名前と連結して表示されます。

例:マルチフィールド分類子のファイアウォールフィルターの設定と適用

この例では、マルチフィールド分類子を使用してトラフィックを分類するようにファイアウォールフィルターを設定する方法を示しています。分類子は、パケットがインターフェイスに到着すると、CoS にとって関心のあるパケットを検出します。単純なBA分類子ではパケットを分類するのに不十分な場合、ピアリングルーターにCoSビットのマークがない場合、またはピアリングルーターのマーキングが信頼できない場合、マルチフィールド分類子を使用します。

要件

この手順を検証するために、この例ではトラフィックジェネレータを使用します。トラフィックジェネレータは、ハードウェアベースでも、サーバーやホストマシン上で実行されているソフトウェアでもかまいません。

この手順の機能は、Junosを実行するデバイスで広くサポートされています。ここに示す例は、Junos OSリリース10.4を実行しているMXシリーズルーターでテストおよび検証されています。

概要

分類子は、パケットがルーターまたはスイッチに入るときに検査するソフトウェア操作です。パケットヘッダーのコンテンツが検査されます。この検査により、ネットワークがビジー状態になりすぎてすべてのパケットを処理できず、デバイスに無差別にパケットをドロップするのではなく、インテリジェントにパケットをドロップさせたい場合に、パケットがどのように処理されるかが決定されます。対象のパケットを検出する一般的な方法の1つは、送信元ポート番号を使用することです。この例ではTCPポート番号80と12345を使用していますが、ファイアウォールフィルター一致条件を使用して、マルチフィールド分類子ではパケット検出のための他の多くの一致基準が利用可能です。この例の設定では、送信元ポート 80 の TCP パケットを BE データ転送クラスとキュー番号 0 に分類することを指定します。送信元ポート 12345 の TCP パケットは、プレミアム データ転送クラスとキュー番号 1 に分類されます。

通常、パケットが自律システム(AS)に入るときに、ネットワークエッジでマルチフィールド分類子を使用します。

この例では、ファイアウォールフィルターmf-classifierを設定し、デバイスR1でいくつかのカスタム転送クラスを指定します。カスタム転送クラスを指定する際には、各クラスをキューに関連付けます。

分類子の動作を 図1に示します。

図1:TCP送信元ポートに基づくマルチフィールド分類子Multifield Classifier Based on TCP Source Ports

マルチフィールド分類子のファイアウォールフィルターは、フィルターを必要とする各顧客向けインターフェイスまたはホスト向けインターフェイスに入力フィルターとして適用します。受信インターフェイスは、デバイスR1のge-1/0/1です。分類とキューの割り当ては、発信インターフェイスで検証されます。発信インターフェイスは、デバイスR1のge-1/0/9インターフェイスです。

トポロジー

図 2 は、サンプル ネットワークを示しています。

図2:マルチフィールド分類子のシナリオMultifield Classifier Scenario

CLIクイック構成 は、 図2にすべてのジュニパーネットワークスデバイスの構成を示しています。

ステップバイステップの手順で、デバイスR1の手順を説明します。

分類子の詳細については、以下のジュニパーネットワークスラーニングバイトビデオをご覧ください。

設定

手順

CLIクイックコンフィグレーション

この例をすばやく設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルでCLIにコピーアンドペーストして、設定モードから commit を入力します。

デバイスR1

デバイスR2

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

次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、『Junos OS CLIユーザーガイド』の「構成モードでのCLIエディターの使用」を参照してください。

デバイスR1を設定するには:

  1. デバイスインターフェイスを設定します。

  2. カスタム転送クラスと関連するキュー番号を設定します。

  3. 送信元ポートが80のTCPトラフィック(HTTPトラフィック)を、キュー0に関連付けられたBEデータ転送クラスに配置するファイアウォールフィルター条件を設定します。

  4. 送信元ポートが12345のTCPトラフィックを、キュー1に関連付けられたプレミアムデータ転送クラスに配置するファイアウォールフィルター条件を設定します。

  5. ファイアウォールフィルターの最後に、他のすべてのトラフィックを受け入れるデフォルト条件を設定します。

    それ以外の場合、インターフェイスに到着し、ファイアウォールフィルターによって明示的に受け入れられないすべてのトラフィックは破棄されます。

  6. ファイアウォールフィルターを入力フィルターとしてge-1/0/1インターフェイスに適用します。

結果

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

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

検証

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

CoS設定の確認

目的

転送クラスが正しく設定されていることを確認します。

アクション

デバイスR1から、 show class-of-service forwardng-classes コマンドを実行します。

意味

出力は、構成されたカスタム分類子設定を示しています。

TCPトラフィックをネットワークに送信し、キューの配置を監視する

目的

対象のトラフィックが、予想されるキューから送信されていることを確認します。

アクション
  1. デバイスR1の発信インターフェイスのインターフェイス統計情報をクリアします。

  2. トラフィックジェネレータを使用して、50 TCPポート80パケットをデバイスR2または他のダウンストリームデバイスに送信します。

  3. デバイスR1で、キューカウンターを確認します。

    キューカウンターは、受信インターフェイスではなく、ダウンストリーム出力インターフェイスでチェックすることに注意してください。

  4. トラフィックジェネレータを使用して、50 TCPポート12345パケットをデバイスR2または他のダウンストリームデバイスに送信します。

  5. デバイスR1で、キューカウンターを確認します。

意味

この出力結果は、パケットが正しく分類されていることを示しています。TCPパケットでポート80が使用されている場合、キュー0がインクリメントされます。ポート12345が使用されると、キュー1がインクリメントされます。