Multifield Classifier 例: マルチフィールド分類の設定
マルチフィールド分類の概要
転送クラスと PLP レベル
Junos OSのCoS(サービス クラス)機能を設定して、各パケットを転送クラス、PLP(パケット損失の優先度)、またはその両方に関連付けることで、受信トラフィックを分類できます。
関連付けられた転送クラスに基づいて、各パケットは出力キューに割り当てられ、ルーターは設定した関連スケジューリングに従って出力キューにサービスを提供します。
関連付けられた PLP に基づいて、輻輳が発生した場合に各パケットがドロップされる可能性は低くなります。CoSランダム早期検出(RED)プロセスでは、ドロップ確率設定、出力キューフルネスの割合、パケットPLPを使用して、必要に応じてパケットをドロップし、出力段階での輻輳を制御します。
マルチフィールド分類とBA分類
Junos OS は、2 つの一般的なタイプのパケット分類をサポートしています。BA(動作集約)分類とマルチフィールド分類:
-
BA分類、またはCoS値トラフィック分類とは、CoS設定を使用して、IPパケットヘッダーの CoS値 に基づいてパケットの転送クラスまたはPLPを設定するパケット分類の方法です。BA 分類のために検討される CoS 値は、DSCP(差別化されたサービス コード ポイント)値、DSCP IPv6 値、IP precedence 値、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シリーズルーター
拡張II FPC(フレキシブル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シリーズマトリックスルーターのファイアウォールとポリシングの違い」を参照してください。
関連項目
M シリーズ ルーターのマルチフィールド分類の制限
問題:入力フィルタ分類時の出力フィルタマッチング
M Seriesルーター(M120ルーターを除く)では、同じIPv4 論理インターフェイスに適用される入力フィルターで設定されたイングレス分類に基づいて、一致する出力フィルターでパケットを分類することはできません。
例えば、以下の構成では、 ingress
というフィルターが、すべての着信 IPv4 パケットを expedited-forwarding
クラスに割り当てます。egress
というフィルターは、ingress
フィルターで expedited-forwarding
クラスに割り当てられたすべてのパケットをカウントします。この設定は、ほとんどのMシリーズルーターでは機能しません。M120ルーター、MXシリーズルーター、Tシリーズルーターを含む他のすべてのルーティングプラットフォームで動作します。
[edit] user@host # show firewall family inet { filter ingress { term 1 { then { forwarding-class expedited-forwarding; accept; } } term 2 { then accept; } } filter egress { term 1 { from { forwarding-class expedited-forwarding; } then count ef; } term 2 { then accept; } } } [edit] user@host# show interfaces ge-1/2/0 { unit 0 { family inet { filter { input ingress; output egress; } } } }
回避策: イングレスフィルターのすべてのアクションを設定する
回避策として、イングレスフィルター内のすべてのアクションを設定できます。
user@host # show firewall family inet { filter ingress { term 1 { then { forwarding-class expedited-forwarding; accept; count ef; } } term 2 { then accept; } } } [edit] user@host# show interfaces ge-1/2/0 { unit 0 { family inet { filter { input ingress; } } } }
関連項目
例:マルチフィールド分類の設定
この例では、ファイアウォールフィルターアクションと2つのファイアウォールフィルターポリサーを使用して、IPv4トラフィックのマルチフィールド分類を設定する方法を示します。
要件
開始する前に、環境がこの例に示す機能をサポートしていることを確認してください。
loss-priority
ファイアウォールフィルターアクションは、ルーターでサポートされ、4つの値すべてに設定可能である必要があります。loss-priority
ファイアウォール フィルター アクションを設定できるようにするには、次のいずれかのルーティング プラットフォームの論理インターフェイスge-1/2/0.0
でこの例を構成します。MXシリーズルーター
M120またはM320ルーター
拡張CFEB(CFEB-E)を搭載したM7iまたはM10iルーター
拡張II FPC(フレキシブルPICコンセントレータ)搭載Tシリーズルーター
loss-priority
ファイアウォール フィルター アクションをmedium-low
またはmedium-high
に設定できるようにするには、CoS トライカラー マーキング機能が有効になっていることを確認します。CoS トリコロール マーキング機能を有効にするには、[edit class-of-service]
階層レベルにtri-color
ステートメントを含めます。
expedited-forwarding
およびassured-forwarding
転送クラスは、基盤となる物理インターフェイスge-1/2/0
でスケジュールする必要があります。次の転送クラスが出力キューに割り当てられていることを確認します。
expedited-forwarding
assured-forwarding
転送クラスの割り当ては、
[edit class-of-service forwarding-classes queue queue-number]
階層レベルで構成されます。注:2 つの異なるキューに同じ転送クラスを割り当てる設定をコミットすることはできません。
転送クラスが割り当てられている出力キューがスケジューラーに関連付けられていることを確認します。スケジューラは、キューに割り当てられるインターフェイス帯域幅の量、パケットを格納するために割り当てられるメモリ バッファーのサイズ、キューの優先度、およびキューに関連するランダム早期検出(RED)ドロップ プロファイルを定義します。
出力キュースケジューラは、
[edit class-of-service schedulers]
階層レベルで設定します。出力キュー・スケジューラーを転送クラスに関連付けるには、
[edit class-of-service scheduler-maps map-name]
階層レベルで構成するスケジューラー・マップを使用します。
出力キューのスケジューリングが物理インターフェイス
ge-1/2/0
に適用されていることを確認します。スケジューラ マップは、
[edit class-of-service interfaces ge-1/2/0 scheduler-map map-name]
階層レベルで物理インターフェイスに適用します。
概要
この例では、ステートレスファイアウォールフィルターアクションと、ファイアウォールフィルターから参照される2つのファイアウォールフィルターポリサーを使用して、論理インターフェイスの入力IPv4トラフィックにマルチフィールド分類を適用します。送信元アドレス フィールドに基づいて、パケットは low
損失優先度に設定されるか、ポリシングされます。どちらのポリサーも不適合トラフィックを廃棄しません。不適合フローのパケットは、特定の転送クラス(expedited-forwarding
または assured-forwarding
)用にマークされ、特定の損失優先度に設定されてから送信されます。
シングル レート ツー カラー ポリサーは、 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のパケットに一致させます。一致したパケットは、ef-policer
に渡されます。ポリサーは、トラフィックを帯域幅制限を 300 Kbps に制限し、バーストサイズ制限は 50 KB にします。このポリサーは、不適合フローのパケットがexpedited-forwarding
転送クラスとしてマークされ、high
損失優先度に設定されることを指定します。other-customers
- 3番目で最後のフィルター条件は、他のすべてのパケットをaf-policer
、トラフィックを300 Kbpsの帯域幅制限と50 KBのバーストサイズ制限(ef-policer
で定義されているものと同じトラフィック制限)にレート制限するポリサーに渡します。このポリサーは、不適合フローのパケットがassured-forwarding
転送クラスとしてマークされ、medium-high
損失優先度に設定されることを指定します。
設定
次の例では、設定階層のいくつかのレベルに移動する必要があります。CLIのナビゲーションについては、 設定モードでのCLIエディターの使用を参照してください。
この例を設定するには、以下のタスクを実行します。
- CLIクイック構成
- 優先転送トラフィックと確実転送トラフィックのレートを制限するポリサーの設定
- ポリシングも適用するマルチフィールド分類フィルタの設定
- マルチフィールド分類フィルタリングとポリシングの論理インターフェイスへの適用
CLIクイック構成
この例をすばやく設定するには、次の設定コマンドをテキスト ファイルにコピーし、改行を削除してから、 [edit]
階層レベルの CLI にコマンドを貼り付けます。
set firewall policer ef-policer if-exceeding bandwidth-limit 300k set firewall policer ef-policer if-exceeding burst-size-limit 50k set firewall policer ef-policer then loss-priority high set firewall policer ef-policer then forwarding-class expedited-forwarding set firewall policer af-policer if-exceeding bandwidth-limit 300k set firewall policer af-policer if-exceeding burst-size-limit 50k set firewall policer af-policer then loss-priority high set firewall policer af-policer then forwarding-class assured-forwarding set firewall family inet filter mfc-filter term isp1-customers from source-address 10.1.1.0/24 set firewall family inet filter mfc-filter term isp1-customers from source-address 10.1.2.0/24 set firewall family inet filter mfc-filter term isp1-customers then loss-priority low set firewall family inet filter mfc-filter term isp1-customers then forwarding-class expedited-forwarding set firewall family inet filter mfc-filter term isp2-customers from source-address 10.1.3.0/24 set firewall family inet filter mfc-filter term isp2-customers from source-address 10.1.4.0/24 set firewall family inet filter mfc-filter term isp2-customers then policer ef-policer set firewall family inet filter mfc-filter term other-customers then policer af-policer set interfaces ge-1/2/0 unit 0 family inet address 192.168.1.1/24 set interfaces ge-1/2/0 unit 0 family inet filter input mfc-filter
優先転送トラフィックと確実転送トラフィックのレートを制限するポリサーの設定
ステップバイステップでの手順
ポリサーを構成して、優先転送トラフィックと確実転送トラフィックのレート制限を行うには:
優先転送トラフィックのトラフィック制限を定義します。
[edit] user@host# edit firewall policer ef-policer [edit firewall policer ef-policer] user@host# set if-exceeding bandwidth-limit 300k user@host# set if-exceeding burst-size-limit 50k user@host# set then loss-priority high user@host# set then forwarding-class expedited-forwarding
確実な転送トラフィック用のポリサーを設定します。
[edit firewall policer ef-policer] user@host# up [edit firewall] user@host# edit policer af-policer [edit firewall policer af-policer] user@host# set if-exceeding bandwidth-limit 300k user@host# set if-exceeding burst-size-limit 50k user@host# set then loss-priority high user@host# set then forwarding-class assured-forwarding
結果
show firewall
設定モード コマンドを入力して、ポリサーの設定を確認します。コマンドの出力結果に意図した設定内容が表示されない場合は、この手順の手順を繰り返して設定を修正します。
[edit] user@host# show firewall policer af-policer { if-exceeding { bandwidth-limit 300k; burst-size-limit 50k; } then { loss-priority high; forwarding-class assured-forwarding; } } policer ef-policer { if-exceeding { bandwidth-limit 300k; burst-size-limit 50k; } then { loss-priority high; forwarding-class expedited-forwarding; } }
ポリシングも適用するマルチフィールド分類フィルタの設定
ステップバイステップでの手順
ポリシングを追加で適用するマルチフィールド分類フィルタを設定するには:
IPv4トラフィックのファイアウォールフィルター条件の設定を有効にします。
[edit] user@host# edit firewall family inet filter mfc-filter
送信元アドレスで一致するように最初の条件を設定し、一致したパケットを分類します。
[edit firewall family inet filter mfc-filter] user@host# set term isp1-customers from source-address 10.1.1.0/24 user@host# set term isp1-customers from source-address 10.1.2.0/24 user@host# set term isp1-customers then loss-priority low user@host# set term isp1-customers then forwarding-class expedited-forwarding
異なる送信元アドレスで一致するように 2 番目の条件を設定し、一致したパケットをポリシングします。
[edit firewall family inet filter mfc-filter] user@host# set term isp2-customers from source-address 10.1.3.0/24 user@host# set term isp2-customers from source-address 10.1.4.0/24 user@host# set term isp2-customers then policer ef-policer
3 番目の条件を設定して、他のすべてのパケットを異なるトラフィック制限とアクションのセットに対してポリシングします。
[edit firewall family inet filter mfc-filter] user@host# set term other-customers then policer af-policer
結果
show firewall
コンフィギュレーション モード コマンドを入力して、フィルターの設定を確認します。コマンドの出力結果に意図した設定内容が表示されない場合は、この手順の手順を繰り返して設定を修正します。
[edit] user@host# show firewall family inet { filter mfc-filter { term isp1-customers { from { source-address 10.1.1.0/24; source-address 10.1.2.0/24; } then { loss-priority low; forwarding-class expedited-forwarding; } } term isp2-customers { from { source-address 10.1.3.0/24; source-address 10.1.4.0/24; } then { policer ef-policer; } } term other-customers { then { policer af-policer; } } } } policer af-policer { if-exceeding { bandwidth-limit 300k; burst-size-limit 50k; } then discard; } policer ef-policer { if-exceeding { bandwidth-limit 200k; burst-size-limit 50k; } then { loss-priority high; forwarding-class expedited-forwarding; } }
マルチフィールド分類フィルタリングとポリシングの論理インターフェイスへの適用
ステップバイステップでの手順
マルチフィールド分類フィルタリングとポリシングを論理インターフェイスに適用するには:
論理インターフェイスで IPv4 の設定を有効にします。
[edit] user@host# edit interfaces ge-1/2/0 unit 0 family inet
論理インターフェイスのIPアドレスを設定します。
[edit interfaces ge-1/2/0 unit 0 family inet ] user@host# set address 192.168.1.1/24
論理インターフェイス入力にファイアウォールフィルターを適用します。
[edit interfaces ge-1/2/0 unit 0 family inet ] user@host# set filter input mfc-filter
注:ポリサーはフィルターの前に実行されるため、入力ポリサーが論理インターフェイスでも設定されている場合、インターフェイスに関連付けられたマルチフィールド分類器の転送クラスとPLPを使用することはできません。
結果
show interfaces
設定モード コマンドを入力して、インターフェイスの設定を確認します。コマンドの出力結果に意図した設定内容が表示されない場合は、この手順の手順を繰り返して設定を修正します。
[edit] user@host# show interfaces ge-1/2/0 { unit 0 { family inet { filter { input mfc-filter; } address 192.168.1.1/24; } } }
デバイスの設定が完了したら、設定モードから commit
を入力します。
検証
設定が正常に機能していることを確認します。
論理インターフェイスでポリサーが処理したパケット数の表示
目的
論理インターフェイスを通過するトラフィック フローと、論理インターフェイスでパケットを受信したときにポリサーが評価されることを確認します。
アクション
論理インターフェイスに適用したフィルターの show firewall
operational mode コマンドを使用します。
user@host> show firewall filter rate-limit-in Filter: rate-limit-in Policers: Name Packets ef-policer-isp2-customers 32863 af-policer-other-customers 3870
コマンド出力には、ファイアウォール フィルター rate-limit-in
によって適用されたポリサーと、フィルター条件に一致したパケットの数が一覧表示されます。
パケット数には、ポリサーによってポリシングされたすべてのパケットではなく、仕様外(仕様外)のパケット数が含まれます。
ポリサー名は、ポリサーがアクションとして参照されるファイアウォールフィルター条件の名前と連結されて表示されます。
例:マルチフィールド分類器に対するファイアウォールフィルターの設定と適用
この例では、マルチフィールド分類器を使用してトラフィックを分類するために、ファイアウォールフィルターを設定する方法を示しています。分類子は、インターフェイスに到着すると、サービスクラス(CoS)にとって関心のあるパケットを検出します。マルチフィールド分類子は、単純動作集約(BA)分類子ではパケットを分類できない場合、ピアリングルーターにCoSビットのマーキングが付けられていない場合、またはピアリングルーターのマーキングが信頼できない場合に使用されます。
要件
この手順を確認するために、この例ではトラフィック ジェネレーターを使用します。トラフィックジェネレータは、ハードウェアベースにすることも、サーバやホストマシン上で動作するソフトウェアにすることもできます。
この手順の機能は、Junos OS を実行するデバイスで広くサポートされています。ここに示す例は、Junos OSリリース10.4を実行するMXシリーズルーターでテストおよび検証されたものです。
概要
分類子とは、パケットがルーターまたはスイッチに入るときにパケットを検査するソフトウェア操作です。パケットヘッダーの内容が調査され、この検査では、ネットワークがビジー状態になりすぎてすべてのパケットを処理できなくなり、パケットを無差別にドロップするのではなく、デバイスにインテリジェントにパケットをドロップさせたい場合に、パケットがどのように処理されるかが決定されます。対象のパケットを検出する一般的な方法の 1 つは、送信元ポート番号による方法です。この例ではTCPポート番号80と12345が使用されていますが、ファイアウォールフィルター一致条件を使用して、パケット検出の他の多くの一致基準をマルチフィールド分類器で使用できます。この例の設定では、送信元ポート 80 の TCP パケットが BE-データ転送クラスとキュー番号 0 に分類されることを指定します。送信元ポート 12345 の TCP パケットは、プレミアム データ転送クラスとキュー番号 1 に分類されます。
マルチフィールド分類子は、通常、パケットが自律システム(AS)に入るときにネットワークエッジで使用されます。
この例では、ファイアウォールフィルターmf-classifierを設定し、デバイスR1でいくつかのカスタム転送クラスを指定します。カスタム転送クラスを指定する際には、各クラスをキューに関連付けます。
分類器の動作を 図 1 に示します。
マルチフィールド分類器のファイアウォールフィルターを、そのフィルターを必要とする各顧客向けインターフェイスまたはホスト向けインターフェイスの入力フィルターとして適用します。受信インターフェイスは、デバイスR1のge-1/0/1です。分類とキューの割り当ては、発信インターフェイスで検証されます。発信インターフェイスは、デバイス R1 の ge-1/0/9 インターフェイスです。
トポロジー
図 2は、サンプルのネットワークを示しています。
CLIクイック構成 は、 図 2のすべてのジュニパーネットワークスデバイスの設定を示しています。
ステップバイステップでの手順 は、デバイス R1 の手順を説明します。
分類子の詳細については、次のジュニパーネットワークスのラーニングバイトビデオをご覧ください。
設定
手順
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit]
階層レベルで CLI にコピー アンド ペーストして、設定モードから commit
を入力します。
デバイスR1
set interfaces ge-1/0/1 description to-host set interfaces ge-1/0/1 unit 0 family inet filter input mf-classifier set interfaces ge-1/0/1 unit 0 family inet address 172.16.50.2/30 set interfaces ge-1/0/9 description to-R2 set interfaces ge-1/0/9 unit 0 family inet address 10.30.0.1/30 set class-of-service forwarding-classes class BE-data queue-num 0 set class-of-service forwarding-classes class Premium-data queue-num 1 set class-of-service forwarding-classes class Voice queue-num 2 set class-of-service forwarding-classes class NC queue-num 3 set firewall family inet filter mf-classifier term BE-data from protocol tcp set firewall family inet filter mf-classifier term BE-data from port 80 set firewall family inet filter mf-classifier term BE-data then forwarding-class BE-data set firewall family inet filter mf-classifier term Premium-data from protocol tcp set firewall family inet filter mf-classifier term Premium-data from port 12345 set firewall family inet filter mf-classifier term Premium-data then forwarding-class Premium-data set firewall family inet filter mf-classifier term accept-all-else then accept
デバイスR2
set interfaces ge-1/0/9 description to-R1 set interfaces ge-1/0/9 unit 0 family inet address 10.30.0.2/30
ステップバイステップでの手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、Junos OS CLIユーザーガイドの 設定モードでCLIエディターを使用する を参照してください。
Device R1を設定するには:
-
デバイスインターフェイスを設定します。
[edit interfaces] user@R1# set ge-1/0/1 description to-host user@R1# set ge-1/0/1 unit 0 family inet address 172.16.50.2/30 user@R1# set ge-1/0/9 description to-R2 user@R1# set ge-1/0/9 unit 0 family inet address 10.30.0.1/30
-
カスタム転送クラスおよび関連するキュー番号を設定します。
[edit class-of-service forwarding-classes] user@R1# set BE-data queue-num 0 user@R1# set Premium-data queue-num 1 user@R1# set Voice queue-num 2 user@R1# set NC queue-num 3
-
送信元ポート80のTCPトラフィック(HTTPトラフィック)を、キュー0に関連付けられたBEデータ転送クラスに配置するファイアウォールフィルター条件を設定します。
[edit firewall family inet filter mf-classifier] user@R1# set term BE-data from protocol tcp user@R1# set term BE-data from port 80 user@R1# set term BE-data then forwarding-class BE-data
-
送信元ポートが12345のTCPトラフィックを、キュー1に関連付けられたプレミアムデータ転送クラスに配置するファイアウォールフィルター条件を設定します。
[edit firewall family inet filter mf-classifier] user@R1# set term Premium-data from protocol tcp user@R1# set term Premium-data from port 12345 user@R1# set term Premium-data then forwarding-class Premium-data
-
ファイアウォールフィルターの最後に、他のすべてのトラフィックを受け入れるデフォルトの条件を設定します。
それ以外の場合、インターフェイスに到着し、ファイアウォールフィルターによって明示的に受け入れられないすべてのトラフィックは破棄されます。
[edit firewall family inet filter mf-classifier] user@R1# set term accept-all-else then accept
-
ファイアウォールフィルターを入力フィルターとしてge-1/0/1インターフェイスに適用します。
[edit interfaces] user@R1# set ge-1/0/1 unit 0 family inet filter input mf-classifier
結果
設定モードから、 show interfaces
、 show class-of-service
、 show firewall
コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
user@R1# show interfaces ge-1/0/1 { description to-host; unit 0 { family inet { filter { input mf-classifier; } address 172.16.50.2/30; } } } ge-1/0/9 { description to-R2; unit 0 { family inet { address 10.30.0.1/30; } } }
user@R1# show class-of-service forwarding-classes { class BE-data queue-num 0; class Premium-data queue-num 1; class Voice queue-num 2; class NC queue-num 3; }
user@R1# show firewall family inet { filter mf-classifier { term BE-data { from { protocol tcp; port 80; } then forwarding-class BE-data; } term Premium-data { from { protocol tcp; port 12345; } then forwarding-class Premium-data; } term accept-all-else { then accept; } } }
デバイスの設定が完了したら、設定モードから commit
を入力します。
検証
設定が正常に機能していることを確認します。
CoS設定の確認
目的
転送クラスが正しく設定されていることを確認します。
アクション
デバイスR1から、 show class-of-service forwardng-classes
コマンドを実行します。
user@R1> show class-of-service forwarding-class Forwarding class ID Queue Restricted queue Fabric priority Policing priority SPU priority BE-data 0 0 0 low normal low Premium-data 1 1 1 low normal low Voice 2 2 2 low normal low NC 3 3 3 low normal low
意味
出力には、構成されたカスタム分類子設定が表示されます。
ネットワークへの TCP トラフィックの送信とキュー配置の監視
目的
対象のトラフィックが、予期されたキューから送信されていることを確認します。
アクション
デバイスR1の発信インターフェイスのインターフェイス統計情報をクリアします。
user@R1> clear interfaces statistics ge-1/0/9
トラフィックジェネレーターを使用して、50個のTCPポート80パケットをデバイスR2または他のダウンストリームデバイスに送信します。
デバイスR1で、キューカウンターを確認します。
キュー カウンターは、受信インターフェイスではなく、ダウンストリームの出力インターフェイスでチェックすることに注意してください。
user@R1> show interfaces extensive ge-1/0/9 | find "Queue counters" Queue counters: Queued packets Transmitted packets Dropped packets 0 50 50 0 1 0 57 0 2 0 0 0 3 0 0 0
トラフィックジェネレーターを使用して、50個のTCPポート12345パケットをデバイスR2または他のダウンストリームデバイスに送信します。
[root@host]# hping 172.16.60.1 -c 50 -s 12345 -k
デバイスR1で、キューカウンターを確認します。
user@R1> show interfaces extensive ge-1/0/9 | find "Queue counters" Queue counters: Queued packets Transmitted packets Dropped packets 0 50 50 0 1 50 57 0 2 0 0 0 3 0 0 0
意味
出力は、パケットが正しく分類されていることを示しています。TCP パケットでポート 80 が使用されると、キュー 0 がインクリメントされます。ポート 12345 を使用すると、キュー 1 がインクリメントされます。